用于连接和控制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应用程序中执行更多的操作;确定在库中也可以执行哪些操作
  • 是否可以更新设备配置?

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

推荐PyPI第三方库


热门话题
java JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和