How does MeteoHelix handle time synchronization
/QUESTION: How does the MeteoHelix automatically handle time synchronization?
ANSWER: MeteoHelix IoT Pro requires only a Unix time stamp of the last received data + 10 minutes (if a 10 minute modem (transmit) interval is set) to be sent via a downlink command during the next listen period which follows immediately after it transmits its sensor data. The form is specified by the 0x01 hex command as shown in the following article:
Time synchronization setup of a MeteoHelix LoRaWAN weather station
Time synchronization setup of the MeteoHelix Sigfox weather station
After receipt of the 0x01 hex command with the time stamp, it immediately changes its current time to that of the time stamp. Resetting time backwards may result in multiple messages being sent within a ten minute server time interval. Duplicate messages of the same data will not be sent since the buffer (internal logger data) is reset after each data transmission.
The internal real time clock is very accurate and only drifts a few seconds per week. Thus, time synchronization should only be required every few weeks to maintain accurate data uplink data intervals, unless environmental temperatures are highly variable. In this sense, it can be performed via a manual downlink only when desired.
Resetting the time forward will result in a shortened sampling period for the 10 minute averages. It will be shortened by the length of the time difference between the server time and MeteoHelix internal time. For example, since default measure time interval is 15 seconds, if the time-synch produces a 14 second forward time shift, than the time synch will not have any effect on anything. If the time shift is 16 seconds, than the ten minute average for the next data transmision with consist of 39 averaged values and not 10 min / 15 sec = 40 measured values.
Acknowledge (Ack) timeout is set to 2 seconds. Modem resets if Ack timeout (message 2D) is received.