Systemair SAVE HRV Integration with KNX via Modbus RTU
Systemair SAVE heat recovery ventilation units expose all operating parameters via Modbus RTU on RS485. A KNX Modbus gateway reads temperature sensors, fan speeds, and bypass status, and writes operation mode and boost commands — enabling full KNX-controlled ventilation scheduling, CO2-triggered boost, and building visualisation without any proprietary Systemair controller.
Systemair SAVE models and RS485 connection
The Systemair SAVE range includes the VTC 700 M (commercial, 700-4000 m3/h) and the VSR 300 (residential, up to 300 m3/h). Both units have an RS485 service connector on the main control board, labelled COM or RS485. On the SAVE VTC series, the connector is a 3-pin terminal block; on the VSR residential units, it is a 3-pin RJ12 adapter. Use Belden 9841 or equivalent RS485 cable (twisted pair, 120-ohm characteristic impedance) for reliable communication over cable runs up to 1000m at 9600 baud.
RS485 wiring and Modbus RTU settings
RS485 wiring (3-wire): A+ → RS485 A terminal on SAVE board B- → RS485 B terminal on SAVE board GND → GND terminal on SAVE board Connect to MDT KNX Modbus Gateway (RS485 port) or Weinzierl KNX IO 521 Modbus module SAVE Modbus RTU settings (via front panel menu): Hold right arrow key for 5 seconds to enter service menu Navigate to: Communication → Modbus Baud rate: 9600 (default — do not change) Data bits: 8 Parity: None (8N1) Stop bits: 1 Unit ID: 1 (default — change if multiple units on same RS485 bus) For multiple SAVE units on one RS485 segment: Unit 1: ID 1, Unit 2: ID 2, etc. Maximum 32 devices per RS485 segment Terminate last device: add 120-ohm resistor between A and B
Systemair SAVE Modbus register map
All SAVE registers are holding registers (FC3 for read, FC6 for single register write, FC16 for multiple write). Temperature values use int16 encoding with 0.1 degree C resolution — divide by 10 for the actual value in degrees C. The operation mode register is both readable and writable, enabling KNX to set speed mode or auto.
| Register | Description | Type | R/W | Notes |
|---|---|---|---|---|
| 4001 | Supply fan speed (rpm) | uint16 | R | 0-4000 rpm |
| 4002 | Extract fan speed (rpm) | uint16 | R | 0-4000 rpm |
| 4003 | Supply air temperature | int16 (0.1°C) | R | Divide by 10 |
| 4004 | Extract air temperature | int16 (0.1°C) | R | Room exhaust temp |
| 4005 | Outdoor air temperature | int16 (0.1°C) | R | Fresh air intake |
| 4006 | Exhaust air temperature | int16 (0.1°C) | R | Post-HX exhaust |
| 4007 | Operation mode | uint16 | R/W | 0=off, 1=auto, 2=speed1, 3=speed2, 4=boost |
| 4008 | Bypass damper status | uint16 | R | 0=closed, 1=open (read only) |
| 4009 | Defrost active | uint16 | R | 0=normal, 1=defrost |
| 4010 | Boost enable (timed) | uint16 | R/W | 0=normal, 1=boost (60 min timeout) |
| 4016 | Heat recovery efficiency | uint16 (%) | R | 0-100%, calculated |
MDT Modbus Gateway configuration and KNX group addresses
The MDT SCN-MBGW.01 Modbus RTU/TCP Gateway connects to the SAVE RS485 bus and maps Modbus registers to KNX group addresses. Configure two poll groups: group 1 for temperature registers (polled every 60 seconds — temperatures change slowly) and group 2 for mode and status registers (polled every 10 seconds for responsive control).
MDT Modbus Gateway — poll groups and KNX GA mapping
MDT Modbus Gateway ETS6 configuration: Poll group 1 (temperatures, 60s interval): Reg 4003 → GA 10/1/1, DPT 9.001 (supply air temp, °C) Reg 4004 → GA 10/1/2, DPT 9.001 (extract air temp, °C) Reg 4005 → GA 10/1/3, DPT 9.001 (outdoor air temp, °C) Reg 4006 → GA 10/1/4, DPT 9.001 (exhaust air temp, °C) Reg 4016 → GA 10/1/5, DPT 5.001 (heat recovery %, 0-100) Poll group 2 (status and control, 10s interval): Reg 4007 → GA 10/2/1, DPT 5.010 (operation mode, 0-4) Reg 4008 → GA 10/2/2, DPT 1.001 (bypass open status) Reg 4009 → GA 10/2/3, DPT 1.001 (defrost active) Reg 4010 → GA 10/2/4, DPT 1.001 (boost active status) Reg 4001 → GA 10/2/5, DPT 9.001 (supply fan rpm) Reg 4002 → GA 10/2/6, DPT 9.001 (extract fan rpm) Write objects (KNX → Modbus): GA 10/3/1, DPT 5.010 → Write reg 4007 (set operation mode) GA 10/3/2, DPT 1.001 → Write reg 4010 (boost enable/disable)
CO2-triggered boost and night setback logic
The Elsner KNX CO2-T-UP flush-mount sensor transmits CO2 concentration as DPT 9.008 (parts per million, ppm) and room temperature as DPT 9.001 to KNX. A KNX logic block in the MDT SCN-LCRM.01 compares the CO2 ppm value against thresholds to trigger SAVE boost mode automatically. The 800 ppm deactivation threshold with a 10-minute hold prevents the boost from cycling on and off with brief CO2 fluctuations.
CO2 boost logic and night setback ETS6 sequence
CO2 sensor: Elsner KNX CO2-T-UP
CO2 GA: 11/0/1, DPT 9.008 (ppm)
Temp GA: 11/0/2, DPT 9.001 (°C)
Boost trigger logic (MDT SCN-LCRM.01):
IF GA 11/0/1 > 1000 ppm:
→ Write GA 10/3/2 = ON (boost enable, reg 4010 = 1)
→ SAVE enters boost mode (speed 4) for 60 min
→ After 60 min, SAVE returns to auto mode automatically (reg 4010 timeout)
IF GA 11/0/1 < 800 ppm for 600s (10 min):
→ Write GA 10/3/2 = OFF (boost disable, reg 4010 = 0)
→ SAVE returns to auto mode (speed follows SAVE internal control)
Night setback (KNX time switch: 23:00-06:00):
Write GA 10/3/1 = 2 → reg 4007 = 2 (speed 1, minimum flow)
At 06:00: Write GA 10/3/1 = 1 → reg 4007 = 1 (auto mode resume)
Override: CO2 boost logic has priority over night setback
IF CO2 > 1000 AND time = night: boost overrides setback
SAVE runs at boost until CO2 < 800 for 10 min, then returns to speed 1The bypass damper status (register 4008, GA 10/2/2) is read-only — the SAVE firmware controls bypass automatically based on the comparison between outdoor air temperature and extract air temperature. When outdoor air is cooler than room air in summer, the bypass opens for free cooling. When outdoor air is cold in winter, the bypass closes to recover heat. Report the bypass status to the KNX building visualisation to inform occupants about free cooling mode.
Heat recovery efficiency monitoring
Register 4016 (heat recovery efficiency, percent) is calculated by the SAVE firmware from the temperature measurements: supply air temperature minus outdoor temperature, divided by extract air temperature minus outdoor temperature. This gives the thermal effectiveness of the heat exchanger and indicates filter condition and frosting.
A healthy SAVE unit achieves 75-85% heat recovery efficiency at rated flow. If efficiency drops below 65% during non-frost conditions, the heat exchanger filters are likely blocked. Log the daily average efficiency to a KNX data logger and set a maintenance alarm when efficiency remains below 65% for more than 24 hours. The alarm can send a KNX telegram to a Gira X1 notification or trigger an email alert via Home Assistant.
Defrost monitoring
Register 4009 (defrost active) goes to 1 when the SAVE initiates a defrost cycle — this temporarily reduces supply fan speed to warm the heat exchanger. During defrost, supply air temperature drops. Log defrost events and duration: more than 2 defrost events per day at outdoor temperatures above minus 5 degrees C indicates a heat exchanger airflow restriction.
Multiple SAVE units
For buildings with multiple SAVE units (e.g. a residential development with one VSR 300 per apartment), each unit gets its own Modbus unit ID (1-32) on the RS485 bus. The MDT Modbus Gateway supports polling up to 32 devices per gateway unit. Use separate KNX sub-groups per apartment: 10/x/y where x = unit number, y = register type.
Need a ventilation control panel with Systemair SAVE Modbus KNX integration built to spec?
We design low-voltage panels with MDT Modbus gateways, RS485 wiring, CO2 boost logic, and full Systemair SAVE commissioning documentation — delivered tested to your site.
Request a quote →