HVAC#Zehnder#ComfoAir#HRV#Ventilation#Modbus

Zehnder ComfoAir Q350/Q450 Modbus TCP KNX Integration: Ventilation Demand Control

SmartMāja Engineering Team·2027-01-15·8 min read

Heat recovery ventilation (HRV) units such as the Zehnder ComfoAir Q350 and Q450 are the backbone of airtight residential and office ventilation systems. While the ComfoAir Q series offers the ComfoBus proprietary protocol for native Zehnder peripherals, integrators working with KNX building automation systems require a Modbus path. The ComfoAir Q provides RS-485 Modbus RTU on the ComfoBus port, which — via a Moxa NPort 5110 serial device server — becomes accessible as Modbus TCP on the LAN. This article details the complete integration from register-level Modbus mapping through to CO2-driven demand control via KNX.

ComfoAir Q RS-485 Modbus RTU interface

The ComfoAir Q350/Q450 exposes a Modbus RTU slave interface on its ComfoBus RJ45 port (pins: A+, B−, GND). Serial parameters: 38400 baud, 8 data bits, no parity, 1 stop bit (8N1). Modbus unit ID: 1 (fixed, not configurable without service firmware access). The Moxa NPort 5110 RS-485 to TCP converter connects via its TB-5 terminal block (D+, D−, GND) to the ComfoAir Q ComfoBus port. NPort configuration: Operation Mode = TCP Server, port 4001; RS-485 mode (2-wire); baud 38400 8N1. On the KNX Modbus gateway side, connection parameters: IP = NPort IP, TCP port 4001, Modbus RTU framing over TCP (not Modbus TCP framing — an important distinction when configuring Intesis or Ewon gateways).

Key ComfoAir Q Modbus register map: Register 209 — Fan speed percentage (input register, 0–100%). Register 235 — Ventilation mode (holding register: 1 = Away/Mode 1, 2 = Low/Mode 2, 3 = Normal/Mode 3, 4 = Boost/Mode 4). Register 274 — Supply air temperature (input register, unit 0.1°C). Register 275 — Exhaust air temperature (input register, unit 0.1°C). Register 308 — Filter operating hours (input register, hours since last reset — trigger maintenance at 3500h). Register 227 — Bypass valve position (input register, 0 = closed, 100 = fully open).

KNX Modbus gateway mapping and group address scheme

Use an Intesis IN701KNX300O000 or WattNode Modbus-to-KNX gateway. Map the following: Register 235 (ventilation mode) → KNX GA 5/0/0 DPT 5.010 (unsigned byte) — bidirectional (write mode from KNX, read status back). Register 209 (fan speed %) → GA 5/0/1 DPT 5.001 (percentage) — read-only. Register 274 (supply air temp) → GA 5/0/2 DPT 9.001 (°C) — read-only. Register 275 (exhaust temp) → GA 5/0/3 DPT 9.001 (°C) — read-only. Register 227 (bypass position) → GA 5/0/4 DPT 5.001 (%) — read-only. Register 308 (filter hours) → GA 5/0/8 DPT 7.001 (unsigned 2-byte) — read-only; compare with threshold 3500 to trigger filter alarm GA 5/0/9 DPT 1.005.

CO2 sensor integration for demand-controlled ventilation

A KNX CO2 sensor (e.g., Elsner CO2-T-UP KNX, Thermokon SR65-CO2) sends CO2 concentration to GA 5/1/0 DPT 9.008 (ppm). A KNX logic module (ABB CL/KNX or IP-Symcon rule) implements 3-level ventilation demand: CO2 ≤ 800 ppm → write value 1 (Away/Mode 1) to GA 5/0/0; CO2 800–1200 ppm → write value 3 (Normal/Mode 3); CO2 > 1200 ppm → write value 4 (Boost/Mode 4). Apply hysteresis of 50 ppm to avoid rapid mode switching at threshold boundaries. The logic module also adds a 10-minute minimum dwell time — once boost mode activates, it holds for at least 10 minutes even if CO2 drops below 1200 ppm. This prevents hunting and reduces motor wear on the ComfoAir Q fan.

Scheduling, filter alarm and commissioning

KNX time controller (JUNG 2138 REG or ETS6 internal scheduler): Night ventilation 22:00–06:00 → force Mode 1 (Away) unless CO2 override. Occupied hours 06:00–22:00 → CO2 demand control active. Weekly override: Monday morning 06:00 → write Mode 3 (Normal) for 30 minutes to purge any accumulated CO2 from unoccupied weekend. The filter maintenance alarm (GA 5/0/9 DPT 1.005 = 1) triggers a push notification via ARISTO BewO or KNX-to-email gateway. Commissioning steps: (1) Verify Modbus RTU connection with Modbus Poll software via NPort — read register 235, confirm response. (2) In ETS6 Group Monitor, write value 4 to GA 5/0/0 and confirm register 235 changes to 4 in Modbus Poll (fan ramps to boost audibly). (3) Inject 1400 ppm CO2 test gas at sensor → verify logic triggers Mode 4 within 2 minutes. (4) Check filter hours register 308 — document baseline value for next maintenance interval.

Need help with your KNX or DALI project?

Our certified engineers can discuss panel design, commissioning, integrations and project-specific edge cases. Free initial consultation.

Contact our engineers →
Ielādējas...
Uz augšu