2024年11月24日星期日 下午2:27:09

关于aqara hub M1S zigbee智能设备响应延迟的问题

2 年 前
#6003 引用
延迟

https://zhuanlan.zhihu.com/p/580567480?

延迟过高是因为云端运行的原因,我满世界在找怎么本地化执行的办法,我知道可以,但是没找到能教我的文章


云端执行走的是这样的流程:

触发设备➡网关➡路由器➡米家服务器➡路由器➡网关➡执行设备

信号这样转一圈需要时间的,而且受到网络质量的影响很大。

同时如果外网中断,则所有的自动化全部失效。


当设备的状态发生变化后,会上报到服务器,服务器再推送给APP进行状态呈现,但中间可能会有网络上的延迟或者丢包的情况。网络正常的情况下,从状态变化到APP显示,平均在0.8秒左右,如果网络较差,那么这个时间可能会比较长,如果一段时间后显示的状态仍不正确,可以尝试主动刷新下界面。


延迟通常是指通过米家APP或物理按键等操作设备后,设备在HA中的实体状态要等几秒甚至十几秒后才会更新。

原因分析

xiaomi miot auto 插件造成的延迟

本插件目前主要是通过轮询的方式获取设备状态,通俗的讲就是每隔几十秒去刷新一次状态。在token方式集成时,这个时长是可以直接修改的(添加集成和修改集成选项均可),目前默认是30秒。而通过账号集成时,由于一个集成配置会对应多个设备,因此无法统一配置,需要为每个设备实体添加自定义属性interval_seconds来修改轮询时长:

一般情况下,对于开关、灯、环境传感器等设备,我们推荐使用默认轮询时长即可,过于频繁的请求状态可能会使设备负载过高,且大部分请求是无意义的。
对于人体传感器、门磁、无线开关类设备,它们的状态通常为瞬时状态(即:事件),部分型号支持获取最后一次事件触发的时间,且默认轮询时长为15秒,对于无法获取最后触发事件的设备,即使修改轮询时间到1秒,也可能无法获取正确的状态。因此此类设备通过本插件集成后不太推荐用于触发实时自动化,仅适合作为如几分钟无人移动关灯这类自动化的条件。
如果需要实时更新状态,推荐使用多模网关配合XiaomiGateway3集成。

另外还有一种延迟,比如在HA打开某个实体开关后,几秒内开关回弹到操作前的状态,然而实际上已经操作成功,并在一分钟内实体状态又恢复到实际状态。这种情况通常发生在小米账号(云端)接入的设备,具体原因是操作后指令发送给设备后HA会立即请求新的状态,而这个时候设备还未将新的状态同步到小米云端,导致获取到操作之前的状态,一分钟后HA重新获取到实际的状态。目前本插件针对这种情况已经做了优化(操作后延迟几秒再获取状态),大部分设备已不会出现,如果你的设备有出现,请提交issue或通过自定义属性cloud_delay_update来修改延迟时长:

https://github.com/al-one/hass-xiaomi-miot/issues/100




0
2 年 前
#6016 引用
trubleshootting

器(RTCGQ11LM),虽然带温度和光强,但是温度根本不准,温度差了6度,这货光强照度和M1S网关的一样在弱光下根本没值,就是0,强光下变化倒是明显,没鸟用,在Z2M中配置光强照度以及温度为精度为小数点后2位,根本不生效,没有小数后面的数字,配置里只有温度校准有用.
0
2 年 前
#6068 引用
智能家居中,并不是所有的设备都支持本地化执行,例如大量的WiFi设备。

因此当这些wifi设备在和蓝牙设备进行自动化执行就需要走一次云端。

当自动化执行时,wifi设备可以直接和路由器通信,但是蓝牙设备首先和网关通信,网关在和路由器通信,将数据传至米家服务器,米家服务器反馈数据至路由器,路由器再将数据传回网关进行执行。

这个过程中,网关和路由器的沟通环节在家中有大量wifi设备时非常容易受到干扰,从而导致自动化执行缓慢。

原有的多模网关只支持2.4GHz网络,这个频段下的干扰极其严重,大量的信号充斥在这个频段,执行时的延迟会非常不稳定,可能很快,也可能很慢。

新品中枢网关支持了5GHzwifi频段,在这个频段下,干扰数量大幅度下降,和路由器的沟通效率将会大大提高,自动化的执行也自然就更加的顺畅。

当然,如果条件允许,可以直接用网线和路由器直连,相比5GHz,稳定和速度更上一层楼!
0
2 年 前
#6103 引用
小米的智能产品拿到国外来用我的妈呀延时那个严重的哟简直没法用,服务器垃圾的一笔。幸亏还有一些早期的zigbee产品,哪怕断网都能本地化执行预设的流程

别说国外了,任何网络卡顿延时高的地方,全部一样!米家最大败笔就是所有联动和场景,每个指令都云端优先!物联网的通信定义窄带,低功耗!要确保本地优先!哎。。。都是为了抢地盘圈用户!
0
2 年 前
#14336 引用
解决华硕路由器设置不当造成传感器延迟

https://post.smzdm.com/p/av7zqoon/
0
1 年 前
#20054 引用
nodered

我在使用nodered的过程,发现nodered对于状态的反应普遍延后十几秒到1分多钟,比如灯的开关状态,人体感应到移动的状态等等.
在中枢网关查看设备的状态变动都是及时的.
这就确认是nodered的问题了吧.


这么长的延时,而且是不确定的随机延迟时间.
大家可以接受吗?
这样的情况可以用在实时控制吗?
我认为不能.
本来打算灯开后延时20秒关灯,结果30秒后才收到灯开的状态信息,这个.........
我是用Xiaomi Miot Auto,难道是这个的问题吗?


你这是插件问题
即时反馈要用gateway3接入
miot auto只适合用作执行,不适合用来触发
https://github.com/al-one/hass-xiaomi-miot/issues/100#issuecomment-909031222

如果猜的没错,你应该不是本地接入,从互联网接入肯定延时长




homekit反向接入表示很及时

https://bbs.hassbian.com/thread-19302-1-1.html



0
1 年 前
#20167 引用
蓝牙
蓝牙设备发送状态更新消息(也就是触发自动化和推送通知)的延迟只能达到亚秒级,是一般 TCP 请求的百倍,已经处于人可感知的范畴
0
1 年 前
#20348 引用
Aqara人体传感器E1 自动检测1分钟造成的延迟
0
1 年 前
#20349 引用
Aqara人体传感器E1 自动检测距离过远造成的延迟
0