Loading

HomeAssistant控制中央空调接入HomeKit

背景

房屋自带博联全屋智能,配套的微信小程序已经无法使用,小度中控屏对空调的控制仅限开关无法设定温度模式风速,希望接入homeassistant。

实现

家中智能网关(下称中控)型号为broadlink IC.IHG2 外观图:
image
对应的空调网关(下称网关)为青岛中弘代工,型号B18L 外观图:
image
参考了ZhongHongHVAC/doc/中央空调集控有线接口协议对空调网关发送TCP消息并无应答,怀疑是博联定制固件修改了协议,wireshark安排!

抓包

抓包机作为中间人布置在空调网关和交换机之间,重新上电智能家具系统并发送开关机指令。
设置filter查看空调网关收发的包ip.src == 192.168.1.4 || ip.dst == 192.168.1.4
排除DHCP,SYN以及不含数据的ACK初步还原通信过程。

广播查询

根据中央空调集控有线接口协议的规范,若空调网关工作在DHCP模式,中控方可向43708发送UDP广播,网关将作出回复。
中控发送

192.168.1.2:43706 -> 255.255.255.255:43708 UDP
Data: 01 # 网关地址
50 # 查询空调状态
40 # ?
ff # 空调数量所有
ff ff # 空调地址
8e # checksum

网关返回

192.168.1.4:43708 -> 192.168.1.2:43706 UDP
Data: 01 50 40 # 和请求相同的header
c0 49 ef ** ** ** # 网关mac地址
c0 a8 01 04 # 网关ip地址192.168.1.4
27 0f # TCP端口9999
39 # checksum

轮训状态

之后每隔15s中控规律地向网关轮训所有空调状态
中控发送:

192.168.1.2:45907 -> 192.168.1.4:9999 TCP
Data: 55 aa # broadlink定制发送header
00 07 # 后续data总长7 bytes
01 50 ff #  网关1,查询,网关连接的全部空调
ff ff ff # 空调数量,外机地址,内机地址
4d # checksum

网关返回:

192.168.1.4:9999 -> 192.168.1.2:45907 TCP
Data: aa 55 # broadlink定制返回header
00 2d # legth 45
01 50 ff 04 # 网关1,查询,全部空调,总数4台
01 01 01 1c 01 00 1d 00 60 00 # 外机1,内机1,开机,设定28度,制冷,自动风速,室温29度,无故障,保留,保留
01 02 00 14 01 01 1f 00 20 00
01 03 01 1c 01 00 1e 00 20 00
01 04 00 1c 01 00 1f 00 20 00
0a # checksum

这块的解读作为后续更新entites的依据

控制指令

开机,中控发送

192.168.1.2:45907 -> 192.168.1.4:9999 TCP
Data: aa 55 00 07 # header + length
01 31 01 # 网关1,控制,开机
01 01 01 # 数量1,地址1-1
36 # checksum

网关返回与发送数据一致,代表收到。

分析

broadlink定制固件在发送和接收都需要加上特殊的header和length校验,否则没有反应。
后续内容与pdf一致,checksum计不包含特殊header可直接对homeassistant源代码进行修改完成适配。

代码

增加发送header,检查接收header,增加自动风速:Add: broadlink gateway support · azureology/ZhongHongHVAC@ce6f8fc
platform原有的实现方式中通过local_push监听每次空调状态改变后的推送信息,实际使用并不生效,只能下发控制不能同步状态。
修改core中hvac entity更新方式为polling:Comparing home-assistant:dev...azureology:broadlink · home-assistant/core
修改完成后重启HomeAssistant并添加HomeKit Bridge即可在手机上看到对应的4个空调控制器。
经测能够正常siri开关空调,设置模式温度,来自面板的修改也能在15s内反向同步至Apple家庭。
需要在外控制则要求AppleTV或HomePod做中枢,通过家庭共享实现跨id控制。

参考

智能网关-BroadLink博联
B18LA全品牌VRF中央空调控制器 | 空调系统 | 产品中心 | 南京中弘电子科技有限公司
ZhongHongHVAC/doc/中央空调集控有线接口协议(TCP).pdf at master · crhan/ZhongHongHVAC

posted @ 2025-07-14 15:58  azureology  阅读(418)  评论(4)    收藏  举报