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