Uplink Messages
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 Property | CBOR Index | Description |
|---|---|---|
tsmId | 1 | Message ID: 24100 |
tsmEv | 2 | Event type: 10 (timed), 9 (threshold), 11 (startup) |
tsmTs | 3 | UTC timestamp in seconds (added by gateway) |
tsmTuid | 4 | Device unique identifier |
tsmGw | 5 | Gateway identifier (added by gateway) |
carbonDioxide | 283 | CO₂ level in parts per million (ppm) |
status | 27 | Measurement status |
Status Values
| Value | Meaning |
|---|---|
-1 | Measurement failed |
0 | OK |
1 | Auto-calibrated during this measurement |
2 | Auto-calibration failed |
Reporting Behavior
| Condition | Timing |
|---|---|
| Normal operation | Every report interval |
| CO₂ change exceeds hysteresis | Immediate report with tsmEv: 9 |
| Device startup | Immediate 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 Property | CBOR Index | Description |
|---|---|---|
tsmId | 1 | Message ID: 24101 |
tsmEv | 2 | Event type: 10 (timed), 9 (threshold) |
tsmTs | 3 | UTC timestamp in seconds (added by gateway) |
tsmTuid | 4 | Device unique identifier |
tsmGw | 5 | Gateway identifier (added by gateway) |
tvoc | 284 | TVOC 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 Property | CBOR Index | Multiplier | Description |
|---|---|---|---|
tsmId | 1 | — | Message ID: 12100 |
tsmEv | 2 | — | Event type: 10 (timed), 11 (startup) |
tsmTs | 3 | — | UTC timestamp in seconds (added by gateway) |
tsmTuid | 4 | — | Device unique identifier |
tsmGw | 5 | — | Gateway identifier (added by gateway) |
temp | 30 | 10^1 | Temperature in °C |
humd | 32 | 10^1 | Relative humidity in % |
airp | 33 | 10^3 | Air pressure in Pascals |
temp: CBOR value224=22.4°C (divide by 10)humd: CBOR value672=67.2% (divide by 10)airp: CBOR value102092358=102092.358Pa (divide by 1000)
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 Property | CBOR Index | Description |
|---|---|---|
tsmId | 1 | Message ID: 1100 |
tsmEv | 2 | Event type: 11 (startup) |
swVersion | 70 | Firmware version string |
modelCode | 71 | Device model code |
psn | — | Production 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 Property | CBOR Index | Multiplier | Description |
|---|---|---|---|
tsmId | 1 | — | Message ID: 1110 |
tsmEv | 2 | — | Event type: 10 (timed) |
batl | 21 | 10^1 | Battery level percentage |
batl uses multiplier 10^1 — CBOR value 780 decodes to 78.0% in JSON. Divide the raw CBOR value by 10 when decoding.
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 Property | CBOR Index | Description |
|---|---|---|
tsmId | 1 | Message ID: 1202 |
tsmEv | 2 | Event type: 10 (timed) |
tuid | 62 | Device identifier |
rssi | 61 | Received signal strength |
rssiDbm | 65 | Signal 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:
| tsmEv | Name | Description |
|---|---|---|
| 9 | Threshold | CO₂ or TVOC hysteresis exceeded |
| 10 | Timed | Periodic report at configured interval |
| 11 | Startup | Device boot-up / power-on |
| 29 | Error | Critical error report |
| 34 | Timed diagnostics | Periodic diagnostic event |
CBOR Index Reference (Uplink)
| CBOR Index | JSON Property | Category |
|---|---|---|
| 1 | tsmId | Header |
| 2 | tsmEv | Header |
| 3 | tsmTs | Header |
| 4 | tsmTuid | Header |
| 5 | tsmGw | Header |
| 21 | batl | System (multiplier 10^1) |
| 27 | status | CO₂ measurement status |
| 30 | temp | Weather (multiplier 10^1) |
| 32 | humd | Weather (multiplier 10^1) |
| 33 | airp | Weather (multiplier 10^3) |
| 61 | rssi | Network |
| 62 | tuid | Network |
| 65 | rssiDbm | Network |
| 70 | swVersion | System |
| 71 | modelCode | System |
| 283 | carbonDioxide | Air quality (ppm) |
| 284 | tvoc | Air quality (ppb) |