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:
-
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?
-
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.