Skip to content

A1QX Sigfox packet format

Documentation of Sigfox packet format used by A1QX devices from Quorum Precision

Sigfox packet for 4x temperature

Every Sigfox packet includes three pieces of information:

  • temperature reading
  • battery charge / status indicator

Example

Sigfox payload (hex): 07 D0 05 50 00 08 FF 5E

HEX substring from Sigfox packet Example interpreted Description
07 D0 125 deg. C Temperature of sensor on port 1
05 50 85 deg. C Temperature of sensor on port 2
00 08 0.5 deg. C Temperature of sensor on port 3
FF 5E -10.125 deg C. Temperature of sensor on port 4

Reference parser implementation

Python3

#!/usr/bin/env python3
from pprint import pprint


def convert_to_celsius(temperature):
    # Check if the temperature is negative
    if temperature & 0x8000:  # If the most significant bit is set
        # Perform two's complement operation for negative temperatures
        temperature = -((temperature ^ 0xFFFF) + 1)

    # Convert the raw temperature reading to Celsius
    celsius = temperature / 16.0

    return celsius


out = {}
pl = "07D005500008FF5E"
for i in range(0, len(pl), 4):
    s = int(i / 4)
    out[f"{s}_hex"] = pl[i : i + 4]
    print(f"Converting this HEX string to temperature: {out[f'{s}_hex']}")
    out[f"{s}_celsius"] = convert_to_celsius(int(out[f"{s}_hex"], 16))
pprint(out)

Support

For support please contact your distributor or manufacturer directly via www.quorumprecision.com