HVAC#Viessmann#Modbus#Boiler#Heating

Viessmann Vitodens 300 KNX Integration via Modbus TCP: Zone Heating and DHW Control

SmartMāja Engineering Team·2027-01-08·9 min read

The Viessmann Vitodens 300-W condensing gas boiler is one of the most widely specified residential and light commercial heat sources in Central Europe. Its built-in Modbus TCP interface — enabled via the Vitoconnect 100 OPTO1 module or the native LAN interface on the 300-W B3HF series — allows direct register-level control from building automation systems. Integrating Vitodens 300 into a KNX installation via an Intesis gateway gives the ETS engineer full setpoint authority over heating zones and domestic hot water without relying on the ViCARE cloud API for real-time control.

Viessmann Vitodens 300-W Modbus TCP interface

The Modbus TCP server on the Vitodens 300-W listens on TCP port 502 (standard Modbus TCP). The device IP is either DHCP-assigned (default) or set via the boiler's HMI under Network → IP Address. Enable Modbus under Service → Communication → Modbus TCP → Enable. The ViCARE Modbus register map for Vitodens 300-W covers the following key registers: Register 1 — Flow temperature setpoint (holding register, read/write, unit 0.1°C, range 200–800 = 20.0–80.0°C). Register 2 — Boiler operating status (input register, read-only, 0 = standby, 1 = heating, 2 = DHW, 3 = frost protection). Register 3 — DHW setpoint (holding register, read/write, unit 0.1°C, range 400–600 = 40.0–60.0°C). Register 100 — Active fault code (input register, 0 = no fault). Register 200 — Cumulative gas consumption (input register, unit 0.01 m³, rolls at 65535). All Modbus reads use function code 03 (Read Holding Registers) for writable registers and function code 04 (Read Input Registers) for status registers. Write operations use function code 06 (Write Single Register) or 16 (Write Multiple Registers).

Intesis IN701KNX gateway configuration

The Intesis IN701KNX300O000 gateway (or IN701KNX300I000 for RS-485 Modbus RTU variant) bridges Modbus registers to KNX group addresses. Configuration is done via IntesisHome Configuration Tool (IHCT) software over USB or LAN. Setup procedure: (1) Connect gateway Modbus TCP port to boiler LAN segment (same subnet). (2) In IHCT, create Modbus TCP connection: IP = boiler IP, port 502, slave ID 1 (Vitodens 300-W default unit ID). (3) Map Modbus holding register 1 (flow setpoint) to KNX group address 8/0/0 — DPT 9.001 (2-byte float), scaling: raw integer × 0.1 = °C. (4) Map input register 2 (status) to GA 8/0/1 — DPT 5.001 (unsigned byte, 0–255). (5) Map holding register 3 (DHW setpoint) to GA 8/0/2 — DPT 9.001. (6) Map input register 100 (fault code) to GA 8/0/4 — DPT 5.010 (unsigned integer). (7) Map input register 200 (gas consumption) to GA 8/0/6 — DPT 12.001 (4-byte unsigned counter). The gateway polls Modbus registers every 30 seconds by default; for fault register 100, set poll cycle to 10 seconds to ensure prompt alarm detection.

ETS6 group address scheme and 8-zone valve control

In ETS6, assign the following group addresses for boiler control: GA 8/0/0 — "Boiler Flow Setpoint" DPT 9.001 (°C), linked to Intesis KNX output and logic function. GA 8/0/1 — "Boiler Status" DPT 5.001. GA 8/0/2 — "DHW Setpoint" DPT 9.001. GA 8/0/4 — "Boiler Fault" DPT 1.005 (alarm). GA 8/0/6 — "Gas Consumption m3" DPT 12.001. Zone heating valve control uses MDT JAL-0810.02 actuators (8 × 24V AC/DC switching outputs). Each zone (8 zones total) receives a thermal actuator (normally closed, 24V, e.g., Honeywell MT4-024-NC) driven by the MDT actuator output. ETS6 group addresses per zone follow the scheme 8/1/[zone] for valve demand (DPT 1.001: 0 = close, 1 = open). A KNX logic module (ABB Logic Controller or IP-Symcon logic) calculates a composite flow setpoint: if any zone demands heat, boiler flow setpoint GA 8/0/0 receives the highest zone setpoint value (max-select logic). If all zones close, a delayed off command (10-minute hold) is sent to avoid short cycling.

ViCARE cloud API for energy reporting

The ViCARE REST API (api.developer.viessmann.com, OAuth 2.0) provides access to 90-day historical energy data, service notifications, and device diagnostics. It complements Modbus for energy reporting: use the API for daily/monthly gas consumption charts in the customer dashboard, and Modbus TCP for real-time setpoint control. **Warning: do not write setpoints via the ViCARE cloud API in parallel with Modbus TCP writes.** The two control paths can conflict — the boiler's internal scheduler may override Modbus setpoints if the ViCARE app simultaneously applies a schedule. Recommended architecture: Modbus TCP for all real-time KNX setpoint control; ViCARE API read-only for energy analytics and reporting.

ARISTO BewO fault alerting and commissioning procedure

ARISTO BewO (or equivalent KNX push-notification module) monitors GA 8/0/4 (Boiler Fault DPT 1.005). When value changes to 1, BewO sends SMS/push notification to building manager with fault code from GA 8/0/6. Commissioning test procedure: Step 1 — With boiler in standby, write value 550 (55.0°C) to GA 8/0/0 via ETS6 Group Monitor → confirm boiler status register 2 transitions to 1 (heating) within 2 minutes. Step 2 — Write DHW setpoint 480 (48.0°C) to GA 8/0/2 → verify DHW temperature rises to 48°C within 20 minutes. Step 3 — Simulate fault by disconnecting flow sensor → read GA 8/0/4 → value should become 1 and fault code appear on GA register. Step 4 — Close all 8 zone valves (send 0 to all 8/1/[zone] GAs) → confirm boiler flow setpoint drops to frost protection minimum after 10-minute hold timer.

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