Feature request: add option to have observers output timestamps in UTC or z-suffixed timestamps #109

Closed
opened 2026-10-27 09:33:42 +01:00 by adam · 1 comment
Owner

Observer json has z-suffixed timestamps for status messages, but packet messages do not indicate timezone. For example:

status:
meshcore/BAF/1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252/status {"status": "online", "timestamp": "2026-06-22T15:08:08.858127+00:00", "origin": "pvmesh.org (Leeds, MA)", "origin_id": "1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252", "model": "PyMC-Repeater", "firmware_version": "1.0.11.dev1", "radio": "910.525,62.5,7,5", "client_version": "pyMC_repeater/1.0.11.dev1", "stats": {"uptime_secs": 686406, "packets_sent": 24613, "packets_received": 43220, "errors": 0, "queue_len": 0, "tx_air_secs": 7463.148032000084, "current_airtime_ms": 182.78400000000002, "utilization_percent": 5.077333333333334, "noise_floor": -102.45}}

packet:
meshcore/BAF/1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252/packets {"timestamp": "2026-06-22T11:08:32.396372", "origin_id": "1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252", "origin": "pvmesh.org (Leeds, MA)", "type": "PACKET", "direction": "rx", "time": "11:08:32", "date": "22/6/2026", "len": "40", "packet_type": "1", "route": "F", "payload_len": "20", "raw": "0549a669ce7e1337abcdfd8807dbf0014fb86e90be3fb6e79aab2751a004972c447a4473a0a99709", "SNR": "-0.25", "RSSI": "-99", "score": "668", "duration": "183", "hash": "FB9E864BEEA6B083"}

I think it would be useful if all timestamps had the same format as they may confuse some software that consumes the MQTT data.

Observer json has z-suffixed timestamps for status messages, but packet messages do not indicate timezone. For example: status: `meshcore/BAF/1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252/status {"status": "online", "timestamp": "2026-06-22T15:08:08.858127+00:00", "origin": "pvmesh.org (Leeds, MA)", "origin_id": "1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252", "model": "PyMC-Repeater", "firmware_version": "1.0.11.dev1", "radio": "910.525,62.5,7,5", "client_version": "pyMC_repeater/1.0.11.dev1", "stats": {"uptime_secs": 686406, "packets_sent": 24613, "packets_received": 43220, "errors": 0, "queue_len": 0, "tx_air_secs": 7463.148032000084, "current_airtime_ms": 182.78400000000002, "utilization_percent": 5.077333333333334, "noise_floor": -102.45}}` packet: `meshcore/BAF/1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252/packets {"timestamp": "2026-06-22T11:08:32.396372", "origin_id": "1B75111D230CD044A0C840267F6E938F6F9468A2214F67A7F8362CF5B8B07252", "origin": "pvmesh.org (Leeds, MA)", "type": "PACKET", "direction": "rx", "time": "11:08:32", "date": "22/6/2026", "len": "40", "packet_type": "1", "route": "F", "payload_len": "20", "raw": "0549a669ce7e1337abcdfd8807dbf0014fb86e90be3fb6e79aab2751a004972c447a4473a0a99709", "SNR": "-0.25", "RSSI": "-99", "score": "668", "duration": "183", "hash": "FB9E864BEEA6B083"}` I think it would be useful if all timestamps had the same format as they may confuse some software that consumes the MQTT data. <!-- github-sync-id:4718023731 -->
adam closed this issue 2026-10-27 09:33:42 +01:00
Author
Owner

corescope.wcmesh.com makes this statement about packets from openhop:

This observer is emitting zone-less local-time timestamps and its clock is currently 7.0h behind UTC. We have recorded 46558 clamp events in the last 24 hours (most recent: 6/29/2026, 11:36:41 PM). Per-packet rxTime for this observer is being collapsed to ingest time, which muddies propagation-delay analytics.
Fix: set the observer host clock to UTC, OR have the observer script emit Z-suffixed (datetime.now(timezone.utc).isoformat()) or offset-aware timestamps. The chip and this banner clear automatically once 24 hours pass without a new clamp event.```

<!-- github-comment-id:4840627997 -->
corescope.wcmesh.com makes this statement about packets from openhop: ```Naive observer clock — timing is being clamped This observer is emitting zone-less local-time timestamps and its clock is currently 7.0h behind UTC. We have recorded 46558 clamp events in the last 24 hours (most recent: 6/29/2026, 11:36:41 PM). Per-packet rxTime for this observer is being collapsed to ingest time, which muddies propagation-delay analytics. Fix: set the observer host clock to UTC, OR have the observer script emit Z-suffixed (datetime.now(timezone.utc).isoformat()) or offset-aware timestamps. The chip and this banner clear automatically once 24 hours pass without a new clamp event.``` <!-- github-comment-id:4840627997 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/pyMC_Repeater#109