Air Quality Profile (24000-24999)
Carbon dioxide (CO2) and volatile organic compound (TVOC) measurement.
Sensor Data Messages
Carbon Dioxide Level (24100)
Reports the latest CO2 measurement.
{
"carbonDioxide": Number,
"status": Number
}
| Field | Description |
|---|---|
carbonDioxide | CO2 level in parts per million (ppm) |
status | Measurement status |
Status values:
| Value | Meaning |
|---|---|
-1 | Measurement failed |
0 | OK |
1 | Auto-calibrated during this measurement |
2 | Auto-calibration failed |
Example:
{
"carbonDioxide": 538,
"status": 1
}
Total Volatile Organic Compounds (24101)
Reports the latest TVOC measurement.
{
"tvoc": Number
}
| Field | Description |
|---|---|
tvoc | TVOC level in parts per billion (ppb) |
Example:
{
"tvoc": 72
}
Configuration Messages
Carbon Dioxide Configuration (24200)
Configure CO2 sensor behavior and reporting. Sent with tsmEv: 30.
{
"transactionId": Number,
"averaging": Number,
"rounding": Number,
"samples": Number,
"staticFilter": Number,
"dynamicFilter": Number,
"autoCalibration": Number,
"calibrationValue": Number,
"pressureCompensate": Number,
"carbonDioxideHysteresis": Number
}
Measurement Settings
| Field | Range | Default | Description |
|---|---|---|---|
averaging | 1–10 | 1 | Number of measurements to average |
rounding | 1–1000 | 1 | Round values down to nearest N ppm |
samples | 1–32 | 8 | Samples per measurement (higher = more accurate, more power) |
Filter Settings
| Field | Range | Default | Description |
|---|---|---|---|
staticFilter | 0–10 | 2 | 0: Disabled, 2–10: IIR filter strength (reduces noise, adds lag) |
dynamicFilter | 0+ | 1 | 0: Disabled, 1+: Reduces static filter lag |
pressureCompensate | 0+ | 1 | 0: Disabled, 1+: Compensate for air pressure |
Auto-Calibration
| Field | Range | Default | Description |
|---|---|---|---|
autoCalibration | 0–65535 | 192 | Hours between auto-calibration (uses lowest detected value) |
calibrationValue | 0–65535 | 400 | Target ppm for auto-calibration |
Important
Set autoCalibration interval so the sensor is exposed to fresh air (≈400 ppm) at least once during the period. Incorrect settings will cause calibration drift.
Reporting
| Field | Default | Description |
|---|---|---|
carbonDioxideHysteresis | 10 | Change threshold (ppm) for immediate reporting |
Example - Change hysteresis:
[{
"tsmId": 24200,
"tsmEv": 30,
"tsmDstTuid": "TSARXXSERIAL1",
"transactionId": 2147,
"carbonDioxideHysteresis": 5
}]
Carbon Dioxide Manual Calibration (24201)
Manually calibrate the sensor to a known CO2 concentration. This is an instantaneous calibration that resets the auto-calibration counter.
{
"transactionId": Number,
"calibrationValue": Number
}
| Field | Description |
|---|---|
calibrationValue | Current actual CO2 concentration (ppm) |
Tip
For manual calibration, expose the sensor to fresh outdoor air and set calibrationValue to 400 ppm, or use a calibrated reference gas.