跳转到主要内容

通过LAN使用asyncio与LIFX设备的本地通信API。

项目描述

AioLifxC

https://img.shields.io/pypi/v/aiolifxc.svg https://img.shields.io/travis/brianmay/aiolifxc.svg Documentation Status Updates

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)

项目详情


下载文件

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

源分布

aiolifxc-1.0.0.tar.gz (34.3 kB 查看哈希值)

上传时间

构建分布

aiolifxc-1.0.0-py2.py3-none-any.whl (28.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持