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如何在导入到Google工作表时使用ApachePOI显示系列标签   java在Swing表上修改数据生成SQL   java TCP数据包在网络级别合并   java自动连线bean在线程位置为空   javasocket。禁用无线连接时getOutputStream()阻塞   JSON上的javascript字符串数组。stringify输出unicode字符   java在Oracle数据库中存储不同类型数据的最佳体验   Spring MVC中模板引擎后的java进程输出   不知从哪里来的java空字符串。   如何加载java。使用Adobe Flex的客户端的属性文件?   java如何替换多层括号之间的所有内容?   {JSONObject必须以java'开头   java使用commandButton或commandLink返回并管理HTML控件值   java Android大文本视图动态   java JMock需要自定义类   java Android应用程序在emulator中工作,但在设备中失败   java连接到derby数据库时使用什么文件路径格式?   java在一个函数调用中返回两个结果?