KNX/EIB库

knx的Python项目详细描述


travis-ciWheelPyPI VersionPython Version

极简的KNX/eib python库。

发送电报

此库可用于向总线系统中的执行器发送数据电报。

例如,为了打开灯,可以使用以下代码:

>>> from knx import connect
>>> with connect() as c:
...     c.write('0/1/14', 1)

其中,0/1/14是灯光的地址,1是 指示灯应打开的数据电报。

收听电报

这个knx库还可以用来监听发送到 公共汽车系统。例如,如果您只想在每次灯光 关闭或打开:

>>> import knx
>>> import asyncio

>>> @knx.coroutine
... def logger():
...     while True:
...         telegram = (yield)
...         print('Telegram from {0} sent to {1} with value: {2}'.format(
...               telegram.src, telegram.dst, telegram.value))

>>> loop = asyncio.get_event_loop()
>>> coro = knx.bus_monitor(logger(), host='localhost', port=6720)
>>> loop.run_until_complete(coro)

安装要求

  • python=3.6

使用pip安装:

$ pip install knx

免责声明

我只用eibd0.0.5和叉子测试过这个 knxd作为网关。

替代方案

如果您正在寻找完整的家庭自动化解决方案,您可能希望采取 看看home-assistant或者 smarthome

发展

在您喜爱的编辑器中编辑knx.py,并使用python -m unittestpython tests.py运行测试。

如果要在不安装此库的情况下运行示例,可以使用:

python -m examples.actor -- hostname '0/0/20'

(用适当的模块名替换actor,如果 模块不需要它们)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如果我想根据不同的属性以不同的方式搜索对象,我应该使用什么样的数据结构?   从spring控制器到不同URL的java Post   上的java错误。设置值和。addValueListener   多线程是Java SwingWorker协作的吗?   Responsebuilder实体的日期属性的java值在json中设置为null   密码加密Joomla 3.3在java中加密,获取salt值   java PyCharm无法保存设置无法保存设置。请重新启动PyCharm社区版   java如何将SWT文本字段限制为一定数量的字符?   java如果您想让列表包含单个父类的各种子类,您会如何做?   有片段的java活动(bug)与没有片段的java活动(ok)   java Elasticache Memcached中密钥的最大长度是多少?   Lambda表达式和非类Java方法   路径isAbsolute方法如何运行[Java]?   java如何将方法名设置为新类中的参数?   swing Java方法应该检查图形是否不工作   java Gradle访问项目外部的文件   java无法捕获从该服务器引发的异常   java从insert中的select返回值   java如何处理海量web抓取请求