Files
HaloKeymind/docs/telemetry_decoder.md
T

5.1 KiB

Telemetry decoder

Paste raw hexadecimal packet data copied from the Let's Mesh packet analyzer to decode a repeater's scheduled temperature or battery-voltage snapshot. The decoder also accepts the payload hex without its MeshCore packet header. Decoding happens entirely in this browser; pasted data is not uploaded or sent anywhere.

The Repeater ID in the result is the first eight bytes of the sending repeater's public key. Match that 16-character hex value against the public-key prefix recorded for your repeaters. It comes from the telemetry payload itself, so it is available even when only the payload was copied.

Decode a packet

Try an analyzer example: Temperature packet Voltage packet

Spaces, line breaks, colons, dashes, a leading 0x, and a quoted JSON field are accepted. Legacy CLI Base64 replies are also auto-detected. Press Ctrl/Command+Enter to decode.

Decode telemetry Clear Show browser-local time

Decoded telemetry

Download CSV
Decode notes

    Analyzer hex examples

    The buttons load synthetic, protocol-valid zero-hop RAW_CUSTOM packets. A real scheduled snapshot normally has 165 samples and is much longer. Routed packets also contain path bytes before the TTB1 or TVB1 payload magic; the decoder finds and validates the payload automatically.

    Temperature

    3E00545442311122334455667788800092651E0008000102354A4E5082
    

    Battery voltage

    3E00545642311122334455667788800092651E000800010264C8FEFFDC
    

    Both examples identify the source as repeater ID 1122334455667788.

    Legacy CLI replies

    The same page continues to decode the padded Base64 returned by these administrator commands:

    Data Newest page Older-page example Samples per page
    MCU temperature get telemetry.temp get telemetry.temp 2 48 (24 hours)
    Battery voltage get telemetry.volt get telemetry.volt 3 48 (24 hours)
    GPS position get telemetry.gps get telemetry.gps 2 24 (12 hours)

    Paste either the complete reply beginning with > or Base64 alone. For example:

    get telemetry.volt 1
    > EkDUcWoeMAAB5+bl5eTj4uLh4ODf3t7d3Nvb2tnZ2NfX1tXU1NPS0tHQ0M/Ozc3My8vKycnI/w==
    

    Reading the table

    • Timestamps default to UTC. Select Show browser-local time to convert them for display and CSV export.
    • TTB1 means a raw temperature snapshot and TVB1 means a raw voltage snapshot. The input summary also reports the MeshCore route and path-hop count when a complete packet was pasted.
    • Temperature preserves exact whole degrees from -50 C through +77 C, plus missing, below-range, and above-range states.
    • Voltage preserves hundredths of a volt from 1.88 V through 4.40 V, plus missing and out-of-range states.
    • GPS positions are reconstructed from signed 10-meter differentials. A zero differential after the page origin is inherently ambiguous: it can represent an unchanged fix, movement below the encoded resolution, or no fix. The table labels those rows rather than inventing a coordinate.
    • A GPS clipping warning means at least one movement exceeded the differential range, so positions after that point can be less accurate.

    GPS history remains available through the administrator CLI, but telemetry.tx never puts GPS in RAW_CUSTOM packets. Therefore analyzer hex decoding supports only temperature and voltage; location data cannot be recovered through this page.

    For the byte-level layouts, see Read repeater telemetry history.