A heartbeat is a simple broadcast packet sent at a predetermined interval. The purpose of the packet is to announce to everyone that the device “is still alive.”
The Insteon RemoteLinc 2 is a battery powered insteon remote, that remains in a sleep state when it is not sending messages. In this state the remote does not listen or respond to any packets sent to it.
As a battery operated device, the remotelinc will eventually need to be recharged, and it would be nice to know when a recharge is needed rather than finding out when the device doesn’t work. The remotelinc has a command to query the battery level, but this query won’t work if the device is asleep.
This is where a heartbeat message would be nice. It would automatically wake up the device at a periodic interval, allowing a battery level request to be sent to the device.
Best I can tell, the Remotelinc heartbeat function has been disabled or not included. The following settings are supposed to control the hearbeat function:
|Awake Interval||Sets the amount of time the Remotelinc remains awake with no activity.||This is editable|
|Sleep Interval||Sets the amount of time the Remotelinc remains asleep, before waking up to send a heartbeat message.||The device ACKs my changes, but the settings on the device don’t change.|
|Broadcast Number||Sets the number of heartbeat messages that should be sent every time the sleep interval expires.||The device ACKs my changes, but the settings on the device don’t change.|
|NoIAmAwake Bit||A single bit to disable sending heart beat messages, presumably overrides all of the other settings.||The device ACKs my changes, but the settings on the device don’t change.|
Other users have reported similar problems over at the Indigo support forum.
As a work around, Misterhouse will send a battery level request immediately after receiving a message from the RemoteLinc. The RemoteLinc will stay awake after sending a message for the amount of time specified in Awake Interval, I set mine to 10 seconds. Battery level requests will only be sent if the amount of time since the last battery level response has exceeded a defined threshold.
All of this works well, except for rarely used devices. It is possible that such a remotelinc could die without there being a chance to query its battery level.