ZS05 Zigbee 红外控制器通过 Zigbee2MQTT 与 SmartIR 集成指南
ZS05 Zigbee 红外控制器通过 Zigbee2MQTT 和 SmartIR 集成连接到 Home Assistant。主要挑战在于正确配置 MQTT 主题,并将红外命令从 Broadlink 格式转换为 Raw MQTT。这可以实现对空调、电视和投影仪的控制,避免 ZHA 常见的错误。
系统要求
您需要:
- Home Assistant,最新版本。
- Zigbee2MQTT 作为插件或在 Docker 中运行。
- 通过 HACS 安装 SmartIR。
- ZS05 控制器或兼容替代品。
在 Zigbee2MQTT 中添加设备
- 在 Zigbee2MQTT 中启用 Permit Join。
- 按住按钮重置 ZS05,直到 LED 闪烁。
- 设备将出现在 Z2M 界面中。
- 分配一个友好名称,例如
ir_livingroom— 这将决定 MQTT 主题zigbee2mqtt/ir_livingroom。
检查日志:设备应发布和接收消息。主题如 zigbee2mqtt/ir_livingroom 确认连接成功。
安装 SmartIR
在 HACS 中搜索 SmartIR 仓库,安装并重启 HA。该集成会创建 climate 和 media_player 等实体,这些实体使用 MQTT 发送红外信号。
在 configuration.yaml 中正确配置
SmartIR 文档中常见的错误是 controller_data 中的子主题不正确。对于 ZS05,使用 /set/ir_code_to_send,而不是 /command。
气候实体示例:
smartir:
climate:
- platform: smartir
name: 客厅空调红外
unique_id: living_room_ac_ir
device_code: 1200
controller_data: zigbee2mqtt/ir_livingroom/set/ir_code_to_send
temperature_sensor: sensor.temperature
humidity_sensor: sensor.humidity
power_sensor: binary_sensor.ac_power
power_sensor_restore_state: true
关键参数:
controller_data:zigbee2mqtt/{friendly_name}/set/ir_code_to_send— ZS05 命令的确切路径。device_code:来自 SmartIR 库(smartir/codes/climate)的数字代码。对于罕见品牌,按协议匹配(例如格力、美的)。- 温度/湿度/功率传感器 — 可选,用于完整自动化。
将红外代码转换为 Raw MQTT
SmartIR 库以 Broadlink 格式存储代码。ZS05 需要 Base64 Raw MQTT。转换文件:
- 从
smartir/codes/{type}仓库下载 JSON。 - 使用在线 Broadlink → Raw MQTT 转换器或 Python 脚本。
- 通过 Samba 将转换后的文件放入
/config/custom_components/smartir/codes/climate。
在 device_code 中,仅指定文件名中的数字(例如 9990)。
Tosot T09H-SNa/I(制热、低风、16°C)的转换命令示例:
{
"manufacturer": "Tosot",
"supportedModels": ["T09H-SJ"],
"supportedController": "MQTT",
"commandsEncoding": "Raw",
"minTemperature": 16,
"maxTemperature": 30,
"precision": 1,
"operationModes": ["heat", "cool", "dry", "fan_only", "heat_cool"],
"fanModes": ["low", "medium", "high", "auto"],
"commands": {
"off": "CRgjnBElAm0GJQLgCwHgAxfAC+APK+ALO8AD4A9X4AtfAQpO4B1j4AdX4B+X4Bur",
"heat": {
"low": {
"16": "BRgjnBElAsABAW0G4AEDwA/gLwHgB0vgBxvgB1/AawEKTuAdd+AHV+Azq+AHRw=="
}
}
}
}
转换后,库中提供所有模式/温度的完整命令。
测试与调试
- 重启 HA。
- 在气候界面中,更改温度或模式。
- 在开发者工具 → MQTT 或 Z2M 日志中,检查发布到
zigbee2mqtt/ir_livingroom/set的消息。 - ZS05 的 LED 闪烁和设备响应确认成功。
关键要点
- 在
controller_data中使用确切主题/{friendly_name}/set/ir_code_to_send。 - 将代码转换为 Raw MQTT 以确保与 ZS05 兼容。
- 按协议匹配
device_code,在类似型号上测试。 - Z2M 和 MQTT 日志是主要调试工具。
- 对于红外控制器,Zigbee2MQTT 比 ZHA 更稳定。
— Editorial Team
暂无评论。