1,请问这个离线是怎么判断的?
App中设备是否在线取决于服务端对设备状态的判断,根据我们服务端的判断逻辑,在两次检测周期均没有收到设备端任何数据及ping包,服务端会认为设备已经离线,单次检测周期为60*1.25秒,即在设备断电 60*1.25*2秒后,服务端会认为设备已经离线,这中间有140秒左右的时间差,这段时间内,App里面设备还会是显示在线的,但是控制无效。
2,能否缩短这个离线判断时间?
曾考虑通过两种方式来缩短时间差,第一种是1次检测周期没有收到设备端的数据上报,即认为设备离线,第二种是将检测周期从60秒缩短。但是根据Tuya 6年的实践经验,缩短离线检测周期将会产生大量的离线事件,无法真正表明设备是否离线,同时也会带来大量的流量成本以及消息存储成本,在用户友好方面和成本方面都不建议缩短离线时间判断。目前的2~3分钟显示离线这个时间差是我们长期实践下来,最合适的方案。