Uplink Messages

Raw CBOR uplink messages from Thingsee AIR — CO₂, TVOC, temperature, humidity, air pressure, battery, and diagnostics transmitted over Wirepas mesh

Overview

This page documents the CBOR-encoded messages that Thingsee AIR transmits from the sensor to the gateway over the Wirepas mesh network.

For the Haltian IoT Platform equivalent (JSON over MQTT/GraphQL), see Data Output.

Wirepas endpoint: 21/21 MQTT topic: haltian-iot/wirepas/gw-event/received_data/{gateway-id}/sink1/{network-id}/21/21

Each message is identified by tsmId (message structure ID). Examples below are shown in both JSON (decoded CBOR) and CBOR (numeric indexes as transmitted on the wire).


Carbon Dioxide Level (tsmId 24100)

The primary air quality message. Reports current CO₂ concentration and measurement status.

JSON PropertyCBOR IndexDescription
tsmId1Message ID: 24100
tsmEv2Event type: 10 (timed), 9 (threshold), 11 (startup)
tsmTs3UTC timestamp in seconds (added by gateway)
tsmTuid4Device unique identifier
tsmGw5Gateway identifier (added by gateway)
carbonDioxide283CO₂ level in parts per million (ppm)
status27Measurement status

Status Values

ValueMeaning
-1Measurement failed
0OK
1Auto-calibrated during this measurement
2Auto-calibration failed

Reporting Behavior

ConditionTiming
Normal operationEvery report interval
CO₂ change exceeds hysteresisImmediate report with tsmEv: 9
Device startupImmediate report with tsmEv: 11

Example

{
  "tsmId": 24100,
  "tsmEv": 10,
  "tsmTs": 1755064655,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "carbonDioxide": 538,
  "status": 0
}
{1: 24100, 2: 10, 283: 538, 27: 0}

Interpretation: CO₂ concentration is 538 ppm with a successful measurement (status OK). Values above 1000 ppm typically indicate poor ventilation.


Total Volatile Organic Compounds (tsmId 24101)

Reports TVOC concentration — an indicator of indoor air quality.

JSON PropertyCBOR IndexDescription
tsmId1Message ID: 24101
tsmEv2Event type: 10 (timed), 9 (threshold)
tsmTs3UTC timestamp in seconds (added by gateway)
tsmTuid4Device unique identifier
tsmGw5Gateway identifier (added by gateway)
tvoc284TVOC level in parts per billion (ppb)

Example

{
  "tsmId": 24101,
  "tsmEv": 10,
  "tsmTs": 1755064700,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "tvoc": 72
}
{1: 24101, 2: 10, 284: 72}

Interpretation: TVOC level is 72 ppb. Values below 220 ppb generally indicate good air quality.


Weather Info (tsmId 12100)

Reports temperature, humidity, and air pressure from the onboard environmental sensors. The AIR sensor shares this message format with ENVIRONMENT.

JSON PropertyCBOR IndexMultiplierDescription
tsmId1Message ID: 12100
tsmEv2Event type: 10 (timed), 11 (startup)
tsmTs3UTC timestamp in seconds (added by gateway)
tsmTuid4Device unique identifier
tsmGw5Gateway identifier (added by gateway)
temp3010^1Temperature in °C
humd3210^1Relative humidity in %
airp3310^3Air pressure in Pascals

Example

{
  "tsmId": 12100,
  "tsmEv": 10,
  "tsmTs": 1755064800,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "temp": 22.4,
  "humd": 45.8,
  "airp": 101325.000
}
{1: 12100, 2: 10, 30: 224, 32: 458, 33: 101325000}

Interpretation: Temperature 22.4°C, humidity 45.8%, air pressure 1013.25 hPa (standard atmosphere).


System Info (tsmId 1100)

Sent once on device boot-up. Contains firmware version and device model.

JSON PropertyCBOR IndexDescription
tsmId1Message ID: 1100
tsmEv2Event type: 11 (startup)
swVersion70Firmware version string
modelCode71Device model code
psnProduction serial number

Example

{
  "tsmId": 1100,
  "tsmEv": 11,
  "tsmTs": 1755060000,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "swVersion": "3.2.1",
  "modelCode": "TSAR01"
}
{1: 1100, 2: 11, 70: "3.2.1", 71: "TSAR01"}

Battery Level (tsmId 1110)

Reported every 6 hours (21600 seconds). Monitors remaining battery capacity.

JSON PropertyCBOR IndexMultiplierDescription
tsmId1Message ID: 1110
tsmEv2Event type: 10 (timed)
batl2110^1Battery level percentage

Example

{
  "tsmId": 1110,
  "tsmEv": 10,
  "tsmTs": 1755081600,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "batl": 78
}
{1: 1110, 2: 10, 21: 780}

Network Diagnostics (tsmId 1202)

Reported every 12 hours (43200 seconds). Provides mesh network connectivity metrics.

JSON PropertyCBOR IndexDescription
tsmId1Message ID: 1202
tsmEv2Event type: 10 (timed)
tuid62Device identifier
rssi61Received signal strength
rssiDbm65Signal strength in dBm

Example

{
  "tsmId": 1202,
  "tsmEv": 10,
  "tsmTs": 1755103200,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "tuid": "TSAR01TSC20204001",
  "rssi": -55,
  "rssiDbm": -55
}
{1: 1202, 2: 10, 62: "TSAR01TSC20204001", 61: -55, 65: -55}

Firmware Binary Info (tsmId 1312)

Sent once on boot alongside System Info. Reports firmware binary details.

Example

{
  "tsmId": 1312,
  "tsmEv": 11,
  "tsmTs": 1755060000,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "binaryType": 1,
  "binaryVersion": "3.2.1"
}
{1: 1312, 2: 11}

Error Event (tsmId 1403)

Sent when an error condition occurs. Use errorType and errorCause to diagnose issues.

Example

{
  "tsmId": 1403,
  "tsmEv": 29,
  "tsmTs": 1755064700,
  "tsmTuid": "TSAR01TSC20204001",
  "tsmGw": "TSGW06EWK31903495",
  "errorType": 1,
  "errorCause": 3
}
{1: 1403, 2: 29}

Event Types Reference

All tsmEv values used by AIR uplink messages:

tsmEvNameDescription
9ThresholdCO₂ or TVOC hysteresis exceeded
10TimedPeriodic report at configured interval
11StartupDevice boot-up / power-on
29ErrorCritical error report
34Timed diagnosticsPeriodic diagnostic event
CBOR IndexJSON PropertyCategory
1tsmIdHeader
2tsmEvHeader
3tsmTsHeader
4tsmTuidHeader
5tsmGwHeader
21batlSystem (multiplier 10^1)
27statusCO₂ measurement status
30tempWeather (multiplier 10^1)
32humdWeather (multiplier 10^1)
33airpWeather (multiplier 10^3)
61rssiNetwork
62tuidNetwork
65rssiDbmNetwork
70swVersionSystem
71modelCodeSystem
283carbonDioxideAir quality (ppm)
284tvocAir quality (ppb)