Heartbeat_on_empty behavior

If heartbeat_on_empty is interpreted to be enabled by Octave, messages are generated regardless of whether or not data is present in the S&F buffer and consumes the equivalent of 20 billable data points per occurrence.

The purpose of heartbeat_on_empty is apparently to send a message to the cloud at the specified period if no other data had been sent (i.e., “on empty”).

The docs indicate that “…each communication of data sent to the cloud, updates the last known online status of the device in Octave. However, it can be useful to have the device perform this refresh even if there isn’t anything in the Store and Forward buffer.”

Sierra confirmed that excess messages are generated when Octave interpreted heartbeat_on_empty was enabled for a test where data was sent every hour (the S&F period);
in the test case, there was always data in the Store and Forward buffer during each S&F period.

Two questions arise:

  1. Why is the heartbeat message generated at all when data is present in the Store and Forward buffer (i.e. not empty) during the period?

  2. Why does the heartbeat message consume an entire billable message which should accommodate 20 data points? In a case where the data in the Store and Forward buffer, did not fill a single message, the heartbeat message could have been accommodated in the remaining message space without the need to generate an entirely new message.

Hello David

1.: No HB message should be generated when there is data to be sent in the S&F. We are looking into why it happened on your device.

  1. as HB is only meant to be sent when there is nothing else to transfer, it is accounted for as a communication. It can be disabled if wanted (to prevent any communication, with one drawback that you have no information on the device “last communication” information until there is actual data to transfer). A Heartbeat counts as a full message at it requires establishing a data session, doing a security handshake and sending a small message)