用于连接和控制Logitech Harmony的Asyncio Python库
aioharmon的Python项目详细描述
用于以编程方式使用Logitech Harmony链接或Ultimate Hub的Python库。
这个库源于iandday/pyharmony,它是一个fork 目的是:
- 使Harmony库异步
- 能够提供自己的自定义回调
- 自动重新连接,即使在一段时间内无法建立重新连接
- 通过API调用更容易获得集线器配置
- 附加回调:连接、断开连接、集线器配置已更新
- 使用unique msgid确保正确管理来自中心的响应。
协议
随着和声协议的制定,注释将出现在protocol.md中。
状态
- 检索当前活动
- 查询整个设备信息
- 仅查询活动信息
- 查询当前活动
- 开始活动
- 发送命令
- 更换频道
- 自定义回调。
用法
aioharmony - Harmony device control usage: aioharmony [-h](--harmony_ip HARMONY_IP | --discover)[--harmony_port HARMONY_PORT][--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}][--show_responses | --no-show_responses][--wait WAIT]{show_config,show_detailed_config,show_current_activity,start_activity,power_off,sync,listen,send_command,change_channel} ... aioharmony - Harmony device control positional arguments: {show_config,show_detailed_config,show_current_activity,start_activity,power_off,sync,listen,send_command,change_channel} show_config Print the Harmony device configuration. show_detailed_config Print the detailed Harmony device configuration. show_current_activity Print the current activity config. start_activity Switch to a different activity. power_off Stop the activity. sync Sync the harmony. listen Output everything HUB sends out send_command Send a simple command. change_channel Change the channel optional arguments: -h, --help show this help message and exit --harmony_ip HARMONY_IP IP Address of the Harmony device. (default: None) --discover Scan for Harmony devices. (default: False) --harmony_port HARMONY_PORT Network port that the Harmony is listening on. (default: 5222) --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Logging level for all components to print to the console. (default: INFO) --show_responses Print out responses coming from HUB. (default: False) --no-show_responses Do not print responses coming from HUB. (default: False) --wait WAIT How long to wait in seconds after completion, useful in combination with --show-responses. Use -1 to wait infinite, otherwise has to be a positive number. (default: 0)
发行说明
0.1.0条。初始版本
- 0.1.2固定:
- 仅在初始连接和初始化完成后启用回调连接
- 修复尝试检索名称/ID时活动/设备名称/ID为“无”时出现的异常。
- 在setup.py中修复了自述文件的内容类型和名称
- 0.1.3。固定:
- 重新连接时重试连接
- 0.1.4。固定:
- 检索集线器信息失败时出现异常
- call_callback helper在成功时永远不会返回true。
- 重新连接时重试连接(未等待)
- 0.1.5。固定:
- 向集线器发送无效命令(或在集线器上发送命令失败)时出现异常。
- 失败命令的消息未在main中打印。
- 0.1.6固定:
- 发送命令时忽略响应代码200
- 重新连接后,仅在第一次尝试时记录错误,在连接成功之前的任何后续重试都将 仅提供调试日志项
- 0.1.7。固定:
- 如果未检索到配置或配置中缺少项(即没有活动),请修复回溯。
- 仅在检索配置后检索当前活动
- 0.1.8。固定:
注意:此版本仅适用于4.15.250或更高版本。它将不适用于较低版本!
- 如果没有收到集线器信息,请修复回溯。
- 修复新的集线器版本4.15.250(感谢reneboer提供了快速修复)。
- 0.1.9。固定:
- 修复了某些安装(如Docker、Hassio)上的“无法连接网络”或“无法连接主机”
- 0.1.10。更改:
-
RI>重新连接等待时间将在1秒开始,每次最多重复30秒。
- 如果通过Web套接字接收到关闭请求,则重新连接有时可能无法工作,但它从未关闭。
- 0.1.11。更改:
- 网络活动的超时时间从30秒更改为5秒
- 要重新连接,请先等待1秒,然后再开始重新连接
- 0.1.12。固定/更改:
- 修复了在失败的重新连接上不显示连接调试消息的问题。
- 连接到集线器时添加了调试日志项。
- 0.2.0。新的:
- 支持xmpp。如果在集线器上启用了xmpp,则将使用它,否则将回退到web套接字。 对此api没有任何更改。必须在harmony hub上显式启用xmpp。 若要执行此操作,请打开Harmony应用程序并转到:菜单>;Harmony设置>;添加/编辑设备和活动>;远程&集线器>;启用XMPP 同样的步骤可以再次禁用xmpp。
- responsehandler类中的日志条目现在将包括集线器的IP地址,以便于识别
待办事项
- 为异步恢复发现。这将在Logitech重新实现xmpp之后完成
- 可以从Harmony iOS应用程序中执行更多的操作;确定在库中也可以执行哪些操作
- 是否可以更新设备配置?