Home Assistant接入米家的自动化开关反应慢问题

发布时间:2024年01月19日

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秒

到这里观众可能说作者傻,错!作者这种设计非常合理,对于家中设备一般不会像机关枪一样开开关关,过高频率的轮询其实是对CPU资源的浪费,也是浪费电。

能不能让HA自动化异步操作

一顿研究,发现可行。那就是要用到HA的脚本,再结合HA的自动化。

思路是用 HA自动化->HA脚本->控制米家开关

道路虽然迂回,但是效果非常好。也就是说HA脚本不会同步等待Xiaomi Miot Auto米家的返回。

然后你可以在HA面板上调用自动化就可以了

文章来源:https://blog.csdn.net/cpuwolf/article/details/135690233
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。