本帖最后由 honorfight 于 2018-10-31 13:16 编辑
看说明也觉得可以完美支持,不过接入后出问题了。在论坛搜索了下Aqara关键字,受下面帖子启发:
关于 Aqara 的墙壁插座在HA中无法被控制的解决办法
参考Aqara 网关局域网通信协议V2.0 觉得先抓包看看,发送的数据是否正确?
结果是发送的数据跟协议不一样。实际发送的数据是 :
{
"cmd":"write",
"sid":"xxxxxxxx",
"key": "xxxxxxxxx",
"params":[{"status":"open"}]
}
而协议里是:
{
"cmd":"write",
"sid":"xxxxxxxx",
"key": "xxxxxxxxx",
"params":[{"curtain_status":"open"}]
}
找到问题,应该是 'curtain_status', 实际上是 'status'.
然后去修改代码即可。
路径:homeassistant/components/cover/xiaomi_aqara.py
将setup_platform方法中的代码:
devices.append(XiaomiGenericCover(device, "Curtain",
{'status': 'status',
'pos': 'curtain_level'},
gateway))
修改为:
devices.append(XiaomiGenericCover(device, "Curtain",
{'status': 'curtain_status',
'pos': 'curtain_level'},
gateway))
重启服务,搞定!
|