- 积分
- 12103
- 金钱
- 9084
- 威望
- 0
- 贡献
- 0
- HASS币
- 460
超级版主
智能家居&单板滑雪痴迷爱好者
- 积分
- 12103
- 金钱
- 9084
- HASS币
- 460
|
楼主 |
发表于 2020-6-2 07:51:43
|
显示全部楼层
本帖最后由 XCray 于 2020-6-2 07:58 编辑
我们是在争论什么吗?
先说hass控制米家网关警戒的意义,毫无疑问,我也认为这个能力非常重要,所以两年前我就开始寻找比较合理的实现方式,并于python-miio的作者进行了讨论,也曾经自己写程序验证。
延迟的事情,也很清楚啊!
- hass控制网关警戒,二者之间没有延迟
- 米家app控制网关警戒,这二者之间也没有延迟
- 网关警戒被hass或A手机上的米家app控制,状态改变后,B手机上米家app里的状态更新,有延迟,但不大
- 网关警戒被手机上的米家app控制,状态改变后,hass中的状态更新,延迟较大(几秒到二十几秒)
延迟的原因,是网关警戒状态变化时,没有提供对外的通知(只有到云端的通知,加密的,除米家官方外都无法使用)。三方程序包括hass等只能通过miio接口主动查询——而主动查询,往往不能频率太高,了解编程的盆友不难理解这一点。
~~~~~~~~~~~~~~~~~~
附:当时我用自己写的一个小程序控制网关警戒状态时与网关的交互消息:
查看警戒模式状态:{"id":65005,"method":"get_arming","params":[]}
{"result":["off"],"id":65005}
查看警戒模式延时:{"id":65006,"method":"get_arm_wait_time","params":[]}
{"result":[5],"id":65006}
设置警戒模式,开:{"id":65013,"method":"set_arming","params":["on"]}
{"result":["ok"],"id":65013}
设置警戒模式,关:{"id":65014,"method":"set_arming","params":["off"]}
{"result":["ok"],"id":65014}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我的观点是:
在python-miio没有提供控制网关警戒这个能力之前,模拟一个开关来代表网关的警戒状态,不失为一种“巧妙”的解决办法。但是在python-miio已经提供这个能力、hass具备了原生的支持能力的情况下,再采用这种绕弯子的方法就没啥必要了。
至于你说的发生报警时,米家推送和HA推送有啥区别的问题,
- 如果互联网中断,ha可以发短信,米家不可以
- ha可以监控到网关离线或重要的传感器离线并推送告警,米家不可以
- 如果停电,ha可以获取UPS提供的事件通知,并推送告警,米家不可以
- 米家的云端服务器经常性瘫痪,导致告警事件推送失败或延迟,ha的推送则靠谱的多
|
|