HA接入米家的插件一般用国内大神写的Xiaomi Miot Auto,该插件可以自动枚举出所有已经接入米家的设备。
没有延迟
在某宝买了3路蓝牙mesh通断控制器,我在小米手机中米家控制这3路通断器,没有任何延迟。
没有延迟
然后呢,我通过HA,手动点击这3路通断器,也没有任何延迟。
大延迟
然后,我开始用HA的自动化,用一个“动作时序”控制这3路通断器,每一路的控制都慢了好几秒。
问题在HA
很明显这个延迟是HA哪个地方造成的。
问题在HA自动化
HA自动化调用开关动作,一般用switch on/off服务调用,但是这个服务调用是个同步操作,它会等待米家的操作的返回。
而Xiaomi Miot Auto其实是轮询工作,作者在他的GitHub说的很清楚,
https://github.com/al-one/hass-xiaomi-miot/issues/100#issuecomment-909031222
对于人体传感器、门磁、无线开关类设备,它们的状态通常为瞬时状态(即:事件),部分型号支持获取最后一次事件触发的时间,且默认轮询时长为15秒</