设备心跳 Heatbeat
1.网关心跳 Gateway Heatbeat
网关心跳以组播方式发送给 (ip: 224.0.0.50, port: 9898)。网关每10秒钟发送一次心跳报文,用来告诉PC网关正常工作。
Heatbeat is sent as multicast to (ip: 224.0.0.50, port: 9898). Gateway will send a heatbeat every 10 seconds to tell it is functioning well.
{"cmd":"heartbeat","model":"gateway","sid":"1022780","short_id":0,"token":"1234567890abcdef","data":"{\"ip\":\"172.22.4.130\"}" }
其中的“token”为网关生成的随机字符串,用于用户生成写设备时的“key”。 "token" is a random string generated by gateway for user to generate "key".
2.子设备心跳 sub-device heatbeat
子设备心跳以组播方式发送给 (ip: 224.0.0.50, port: 9898),格式:
Sub-device's heatbeat is sent as multicast to (ip: 224.0.0.50, port: 9898),format as:
```{"cmd":"heartbeat","model":"magnet","sid":"158d000065a271","short_id":25719,"data":"{\"status\":\"open\"}"}
子设备通过心跳告诉PC:子设备正常工作(心跳上报频率,一般睡眠设备是一个钟头一次,插电设备是每10分钟一次)。子设备心跳中可能包含子设备的状态。注意这个状态值得处理要看具体的使用场景。
Sub-devices use heatbeat to report they are working well (heartbeat frequency, once per hour for sleep devices, every 10 minutes for plugin devices).
- 例如:开窗关空调场景时,可以使用这个心跳(有可能正常的report状态报文丢失,心跳报文可以补救)。
- 例如:关窗开空调场景,这个就不能使用心跳。有可能人走了,走时把空调关了。 心跳报文又让空调打开会浪费电。
总之,心跳报文的使用根据场景需要用户自己决定是否用心跳做触发。
添加子设备,删除子设备,修改子设备的名字等操作目前不提供,如果开发者需要可以提供。