Harmony API 使用教程

随笔3个月前发布 老郭
33 0 0

Harmony API 使用教程

harmony-api🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT项目地址:https://gitcode.com/gh_mirrors/ha/harmony-api

项目介绍

Harmony API 是一个简单的服务器,允许您通过 HTTP 或 MQTT 查询和控制多个本地 Harmony Home Hub 及其设备。通过 HTTP,您可以简单地打开和关闭活动,检查集线器状态,并向单个设备发送命令。Harmony API 还支持通过 MQTT 发布主题来控制活动和设备。

项目快速启动

安装

首先,克隆项目仓库:




git clone https://github.com/maddox/harmony-api.git


cd harmony-api

配置

编辑 config/config.json 文件以添加您的 MQTT 主机和选项:




{


  "mqtt": {


    "host": "mqtt://your-mqtt-broker",


    "options": {


      "username": "your-username",


      "password": "your-password"


    }


  }


}

启动服务器

使用以下命令启动开发服务器:

script/server

应用案例和最佳实践

控制活动

通过 HTTP 请求切换活动:

curl -X POST http://localhost:8282/hubs/family-room/activities/watch-tv/command -d 'on'

控制设备

通过 HTTP 请求控制设备:

curl -X POST http://localhost:8282/hubs/family-room/devices/tv/command -d 'volume-down'

通过 MQTT 控制

发布 MQTT 主题以切换活动:

 mosquitto_pub -h your-mqtt-broker -t 'harmony-api/hubs/family-room/activities/watch-tv/command' -m 'on'

典型生态项目

Home Assistant

Harmony API 可以与 Home Assistant 集成,通过 MQTT 或 HTTP 控制 Harmony Hub 设备。以下是一个简单的 Home Assistant 配置示例:




mqtt:


  broker: your-mqtt-broker


  username: your-username


  password: your-password


 


switch:


  - platform: mqtt


    name: "Watch TV"


    command_topic: "harmony-api/hubs/family-room/activities/watch-tv/command"


    payload_on: "on"


    payload_off: "off"

通过以上配置,您可以在 Home Assistant 中通过 MQTT 控制 Harmony Hub 的活动。

Node-RED

Node-RED 是一个流编程工具,可以与 Harmony API 集成,实现更复杂的自动化流程。以下是一个简单的 Node-RED 流示例:




[


  {


    "id": "1",


    "type": "mqtt in",


    "z": "flow",


    "name": "",


    "topic": "harmony-api/hubs/family-room/activities/watch-tv/command",


    "qos": "2",


    "broker": "your-mqtt-broker"


  },


  {


    "id": "2",


    "type": "http request",


    "z": "flow",


    "name": "",


    "method": "POST",


    "ret": "txt",


    "url": "http://localhost:8282/hubs/family-room/activities/watch-tv/command",


    "tls": "",


    "x": 1,


    "y": 1,


    "wires": [


      []


    ]


  }


]

通过以上配置,您可以在 Node-RED 中通过 MQTT 接收命令,并通过 HTTP 请求控制 Harmony Hub 的活动。


通过以上教程,您可以快速启动和使用 Harmony API,并了解其在不同生态项目中的应用。希望这些内容对您有所帮助!

harmony-api🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT项目地址:https://gitcode.com/gh_mirrors/ha/harmony-api

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...