通过LAN使用asyncio与LIFX设备的本地通信API。
项目描述
AioLifxC
AioLifxC是一个用于通过LAN控制LIFX LED灯泡的Python 3/asyncio库。
大部分内容最初来自Meghan Clarkk lifxlan软件包,并适应Python 3(以及asyncio显然)。
这是一个从François Wautier的软件包中分支出来的版本。它使用协程而不是回调。如果你更喜欢回调,请查看他的实现。这是从版本0.5.0分支出来的。
安装
我们位于PyPi,所以
pip3 install aiolifxc
或者
python3 -m pip install aiolifxc
如何使用
本质上,测试程序是这样的
def readin(): """Reading from stdin and displaying menu""" selection = sys.stdin.readline().strip("\n") DoSomething() loop = aio.get_event_loop() devices = Devices(loop=loop) loop.add_reader(sys.stdin, readin) devices.start_discover() try: loop.run_forever() except Exception as e: print("Got exception %s" % e) finally: loop.remove_reader(sys.stdin) loop.close()
其他需要注意的事项
虽然LifxDiscover使用UDP广播,但灯泡是通过单播UDP连接的
连接到灯泡的套接字不会关闭,除非认为灯泡已经绝迹。我使用它已经好几天了,没有问题
你可以通过传递IPv6前缀给LifxDiscover来选择使用IPv6连接到灯泡。这仅在/64前缀下尝试过。如果你想使用/48前缀,请在前缀的末尾添加“:”(冒号),然后祈祷。(这意味着末尾有两个冒号!)
我只有Original 1000,所以无法测试其他类型的灯泡
与lifxlan不同,set_waveform接受一个包含正确键的字典而不是所有那些参数
历史
1.0.0(未发布)
变更
添加更多日志消息。
修复示例应用中选择的设备显示。
简化API。将设备类合并到灯类中。
0.5.6 (2017-09-22)
变更
更新pip依赖项。
简化start_discovery函数。
更新到测试版状态。
修复readthedocs上的API文档。
修复
更新MANIFEST.in文件。
0.5.5 (2017-07-11)
变更
将mypy从0.511更新到0.520
修复
确保在样本客户端中选择设备后进行操作。
修复mypy错误。
修复消息大小计算。
添加可配置的注销宽限期。
0.5.4 (2017-07-07)
修复
修复无法重新注册离线的灯。
0.5.3 (2017-07-03)
修复
修复在现有灯的发现中FD资源泄露。
0.5.2 (2017-07-02)
变更
重大更改。API改进。类型提示、文档字符串等。
0.5.1 (2017-06-26)
从https://github.com/frawau/aiolifx分叉后的初始版本
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
aiolifxc-1.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 380eb0b239b747ef2df33ffb5803691e0e183a10fffcabe7d7eea09751ea4530 |
|
MD5 | 0f3219af30b6ca42cb7011f2e0cc9439 |
|
BLAKE2b-256 | 01e6d9a4aafc70c57fccbd4170641c6780d3f2d8463d8f2feddeb3ebaaa16c12 |
aiolifxc-1.0.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e3d756dc064559fda79fd7c5a086714492f9e6d13d7669efc45baa783562683e |
|
MD5 | 687d15c193c3d5b9f85f8a826eda3be5 |
|
BLAKE2b-256 | e4b9b7c65fe519331ce9389d452819e181f7615060aee286421204d605124625 |