Device time is not always accurate. As BIOS batteries wear down, device time can change every time a device is powered of. This makes event reporting inaccurate when using device time. By having this be an optional field, the system time could be used and we would know when the event is created.
By using server time instead of device time, this would enable knowing the order events were created in since devices can be in different time zones, creating variance between reported time and actual server time.
Hi Dave,
thanks a lot for your idea! After an internal discussion, we agree that it is a nice idea and do not see a strong reason against implementing this. However, at the same time we are not planing to prioritise the implementation any time soon. The reason, we currently do not offer this functionality is that we expect clients using the REST API to be more capable than those using MQTT/SmartREST as they need to be able to handle creating, parsing and validating JSON documents. Such a client device is usually sufficiently powerful to have an accurate clock on board and/or synchronize its local time via NTP. For less powerful devices or in applications where resource consumption is a concern we recommend more efficient protocols like LwM2M or MQTT/SmartREST where the option to use the server time is already present.
Best regards,
Nikolaus