跳转到主要内容

RFXCOM RFXtrx库,适用于Python 3.3+

项目描述

Build Status Coverage PyPI Version PyPI Downloads

一个Python库,用于与您的RFXTrx进行自动化项目。

此库设计用于与Python 3.3+和asyncio(但可以实施其他传输)一起使用。目前,它主要用于home项目,这是一个用于管理和可视化您的智能家居设备的仪表板。

此库相对较新,因此支持的设备数量有限,仅限于@d0ugal所拥有的设备。这意味着,当前完全支持的协议列表包括

  1. 状态数据包来自RFXTrx本身。

  2. 能源使用传感器(例如Owl CM119/160和Owl CM180)

  3. 温度和湿度传感器(例如Oregon THGN132)

  4. LightwaveRF的照明和电力控制设备

如果您想使用某个设备,并且认为它不受支持或不确定,请打开一个问题

安装

建议您通过pip从PyPI获取最新版本

pip install rfxcom

但是,如果您想获取最新的开发版本,可以直接从github下载存储库,并在存储库的根目录中运行python setup.py install

文档

在 Read The Docs 上查看文档.

快速示例

以下示例展示了此库的一些基本用法,它设置了 asyncio 事件循环,将库指向串行设备路径,并附加了一个简单的处理函数,该函数打印出它接收的所有数据包的信息。例如,查看它对能源使用传感器的输出

from asyncio import get_event_loop
from rfxcom.transport import AsyncioTransport

dev_name = '/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1WYT9NA-if00-port0'
loop = get_event_loop()

def handler(packet):
    # Print out the packet - the string representation will show us the type.
    print(packet)

    # Each packet will have a dictionary which contains parsed data.
    print(packet.data)

    # You can access the raw bytes from the packet too.
    print(packet.raw)

try:
    rfxcom = AsyncioTransport(dev_name, loop, callback=handler)
    loop.run_forever()
finally:
    loop.close()

您还可以将协程用作 AsyncioTransport 的回调

from asyncio import get_event_loop, coroutine
from rfxcom.transport import AsyncioTransport

dev_name = '/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1WYT9NA-if00-port0'
loop = get_event_loop()

@coroutine
def handler(packet):
    print(packet)
    yield from some_io(packet)

try:
    rfxcom = AsyncioTransport(dev_name, loop, callback=handler)
    loop.run_forever()
finally:
    loop.close()

贡献

如果您想为 python-rfxcom 贡献,您需要使用 tox 来运行测试。这将针对 Python 3.3、Python 3.4 进行测试,使用 pyflakes 进行代码检查,并构建文档。要这样做,您只需安装 tox,然后在 python-rfxcom git 仓库的根目录下调用 tox 即可。

pip install tox
tox

如果您无法在本地针对 Python 3.3 和 Python 3.4 进行测试,请不要担心,许多人可能只有一个安装。我们使用出色的 Travis CI 来验证所有拉取请求。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

rfxcom-0.5.0.tar.gz (14.5 kB 查看散列)

上传时间

构建分布

rfxcom-0.5.0-py2.py3-none-any.whl (18.0 kB 查看散列)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面