CO2 and VOC Air Quality Sensors for KNX Ventilation Control
CO2 concentration is the most reliable proxy for occupancy-driven ventilation demand. At 400ppm outdoors and 1000ppm indicating degraded concentration, the range between those values maps directly to fan speed in a KNX-controlled HVAC system. This guide covers sensor technologies, KNX integration, ventilation control logic, window automation and the critical question of when to disable ABC self-calibration.
CO2 vs VOC — two different measurements
CO2 and VOC sensors measure fundamentally different things and are used for different ventilation control purposes. Understanding the distinction is essential before selecting a product or designing a KNX ventilation strategy.
CO2 — carbon dioxide
- Measurement technology: NDIR (non-dispersive infrared) — measures absorption of IR light at CO2-specific wavelength
- What it detects: human metabolic output (exhaled breath) — directly proportional to number of occupants and activity level
- Accuracy: ±50ppm typical, long calibration life (5–10 years)
- Best use: occupancy-driven demand-controlled ventilation (DCV)
- Limitation: does not detect chemical pollutants (paint, cleaning products)
VOC — volatile organic compounds
- Measurement technology: metal oxide semiconductor (MOS) — resistance changes in presence of oxidising/reducing gases
- What it detects: paint fumes, cleaning products, formaldehyde, cooking odours, adhesives — chemical air quality events
- Accuracy: relative index (not absolute ppm), cross-sensitive to humidity
- Best use: indoor air quality event detection — trigger burst ventilation
- Limitation: does not reliably measure occupancy — cannot be used for DCV
Recommendation: for occupancy-driven ventilation control, use CO2 only. For a comprehensive indoor air quality solution — particularly in kitchens, labs, or newly fitted spaces — use a combined CO2 + VOC sensor such as the Elsner CARMA KNX-S, which provides both measurements on separate KNX group addresses.
CO2 reference levels
The following CO2 concentration levels are used as thresholds in KNX ventilation control logic. EN 13779 sets a maximum of 1200ppm above outdoor concentration for office buildings (IDA 2 category). Many projects now target 800ppm or below as a comfort-first benchmark.
| CO2 level | Air quality | Ventilation action | Regulatory note |
|---|---|---|---|
| 400 ppm | Outdoor / fresh air | No action — minimum fan speed | Typical outdoor baseline |
| 600 ppm | Excellent indoor | Minimum ventilation — 10–20% fan | Exceeds IDA 1 (best) category |
| 800 ppm | Good — turn on ventilation | Activate ventilation — 30–50% fan | IDA 1/2 boundary |
| 1000 ppm | Acceptable — increase ventilation | Increase fan to 60–80% | IDA 2 limit (EN 13779 offices) |
| 1200 ppm | Poor — maximum for offices | Maximum fan speed 100% | EN 13779 IDA 3 limit |
| 1500 ppm | Action required | Open windows + maximum fan + alarm | Exceeds most EU building code limits |
| 2000 ppm+ | Very poor | Evacuate if possible + maximum ventilation | Impairs cognitive performance (studies show 15–25% reduction) |
KNX product comparison
| Product | CO2 range | CO2 accuracy | Bus-powered | Additional sensors | HVAC DPT outputs |
|---|---|---|---|---|---|
| MDT SCA-CO2.01 | 0–5000 ppm | ±(50ppm + 3%) | Yes — DIN rail | Temperature, humidity | DPT 9.001 (ppm), DPT 5.001 (0–100%), DPT 1.005 (alarm) |
| Elsner CARMA KNX-S | 0–5000 ppm | ±50ppm | Yes — surface mount | VOC, temperature, humidity, lux, presence | DPT 9.001, DPT 5.001, DPT 1.001 (presence), DPT 9.004 (lux) |
| Siemens QPA2060 | 0–2000 ppm | ±(40ppm + 3%) | Yes — DIN rail | Temperature | DPT 9.001 (ppm), DPT 5.001 (ventilation demand) |
KNX group objects for CO2
| Group object | DPT | Direction | Description |
|---|---|---|---|
| CO2 ppm value | DPT 9.001 | Send | Measured CO2 in parts per million (2-byte float). Used for visualisation and logic block input. |
| CO2 alarm | DPT 1.005 | Send | 1 = CO2 threshold exceeded (configurable in ETS, e.g. 1200ppm); 0 = below threshold |
| CO2 percentage | DPT 5.001 | Send | CO2 mapped to 0–100% of configured range — used as analog setpoint for fan coil controller |
| Ventilation demand | DPT 5.001 | Send | 0–100% calculated ventilation demand based on CO2 level — directly drives fan speed output |
| VOC index | DPT 9.001 | Send | VOC level as relative index or equivalent CO2 (eCO2) — product-specific format |
| VOC alarm | DPT 1.005 | Send | 1 = VOC threshold exceeded; triggers burst ventilation logic |
Ventilation control logic
The standard implementation maps CO2 ppm linearly to fan speed percentage (DPT 5.001 = 0–100%). The KNX sensor outputs either the raw ppm value (requiring a logic block for mapping) or a pre-calculated DPT 5.001 ventilation demand value that can be wired directly to a fan coil controller group address.
Proportional CO2 → fan speed mapping
CO2 sensor GA 2/1/1 (DPT 9.001, ppm) → KNX logic block → Fan coil GA 2/2/1 (DPT 5.001, %) Breakpoint mapping (linear interpolation): 400 ppm → 0% fan speed (outdoor/fresh air — ventilation off) 600 ppm → 10% fan speed (minimum flow — fresh air maintain) 800 ppm → 30% fan speed (ventilation on) 1000 ppm → 60% fan speed (increased demand) 1200 ppm → 100% fan speed (maximum — EN 13779 limit) Hysteresis: Fan switches ON when CO2 rises above 700ppm Fan returns to minimum when CO2 drops below 600ppm for 5 minutes (prevents rapid cycling near the setpoint boundary) Example at 900ppm: Interpolate between 800ppm(30%) and 1000ppm(60%): 900ppm = 30% + ((900-800)/(1000-800)) × (60%-30%) = 30% + 15% = 45% fan
MDT SCA-CO2.01 internal ventilation demand
The MDT SCA-CO2.01 can calculate and send a pre-mapped ventilation demand value (DPT 5.001, 0–100%) directly from the sensor without an external logic block. Configure the minimum CO2 setpoint, maximum CO2 setpoint and the output curve in ETS parameters. This value is then wired to the fan coil group address — no additional logic modules required.
HVAC integration paths
CO2-driven ventilation demand can reach the HVAC plant via several integration paths depending on the HVAC equipment available.
KNX → Modbus gateway → heat pump / AHU
CO2 ppm or ventilation demand (DPT 5.001) from KNX sensor → Modbus gateway (e.g. MDT SCN-MBG.02) → Modbus register on Nibe heat pump, Daikin AHU or similar. Modbus register maps to ventilation setpoint or fan speed setpoint on the HVAC equipment.
KNX → DALI ballast analog output (0-10V) → fan motor
A KNX-DALI gateway with analog output channels can convert DPT 5.001 to a 0–10V control signal. This 0-10V signal drives a variable-speed fan motor directly, or controls a frequency inverter for larger fan coil units. Most cost-effective for single-zone ventilation fans.
KNX → actuator → motorised air damper
CO2 alarm (DPT 1.005) or CO2 level triggers a KNX switching actuator connected to a motorised air damper (Belimo, Siemens air damper actuator). Simple on/off or staged ventilation — suitable for zoned VAV (variable air volume) systems.
Window automation via CO2
For naturally ventilated spaces, CO2 levels can drive automatic window opening via KNX chain actuators. This requires careful hysteresis to prevent oscillation (window opening and closing rapidly as CO2 hovers near the threshold).
Window automation logic — CO2 triggered
Sensor: MDT SCA-CO2.01 → GA 2/1/1 (DPT 9.001, CO2 ppm) Open condition: CO2 > 1000ppm for 3 minutes (debounce timer) AND outdoor temperature > 10°C (weather station input) AND rain sensor = dry (Elsner P04 rain input) → Send 30% position to Geze E300N chain actuator (DPT 5.001) Close condition: CO2 < 700ppm sustained for 10 minutes (hysteresis timer) → Send 0% position (fully closed) to Geze E300N Override: Manual push-button (DPT 1.001) → disable automation for 2 hours Wind speed > 8m/s (Elsner P04) → force close regardless of CO2
Always include weather station interlocks (rain, wind, temperature) in window automation logic. A CO2 trigger that opens windows during rain or storm will result in water damage or structural noise complaints. The Elsner P04 KNX weather station provides all required interlocks on a single KNX device.
ABC self-calibration — when to disable it
Most NDIR CO2 sensors use ABC (Automatic Baseline Calibration). The algorithm observes the minimum CO2 reading over a rolling 7–14 day window and assumes that minimum represents outdoor fresh air (approximately 400–420ppm). The sensor baseline is periodically corrected to this assumed minimum, compensating for long-term sensor drift.
Leave ABC enabled when
- • The space is unoccupied at least a few hours per week (offices, schools)
- • Windows or fresh air ventilation brings the room to outdoor levels during unoccupied periods
- • The sensor is in a normally ventilated residential or commercial space
- • Long-term drift correction without manual recalibration is desirable
Disable ABC when
- • The space is continuously occupied 24/7 (hospital ward, hotel room)
- • Windows are never opened and only mechanical ventilation is used
- • The minimum CO2 in a 7-day window never reaches 400ppm (always occupied)
- • Result: ABC assumes high CO2 is the baseline → sensor reads low → ventilation is under-triggered
Disabling ABC in MDT SCA-CO2.01
In the ETS parameter set, navigate to CO2 sensor parameters → Calibration → set ABC mode to "Disabled". When ABC is disabled, perform manual field calibration: place the sensor in fresh outdoor air (or a well-ventilated unoccupied space) for 30 minutes, then trigger the calibration command via the ETS diagnostic interface. Recalibrate every 2–3 years.
Sensor integration in your KNX panel
We select and pre-wire KNX sensors based on your space requirements — presence detectors, CO2 sensors and temperature sensors integrated into the panel design with correct DPT mappings verified before delivery.
Request a quote →