---
title: "Viessmann Vitogate 300 + Vitocal 200"
description: "Viessmann Vitogate 300 Modbus RTU/TCP gateway for Vitocal 200 heat pump with heating circuit, cooling, DHW, solar and compressor monitoring via TapHome."
url: "https://taphome.com/en/compatibility/viessmann-vitogate-300-vitocal/"
language: en
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","modbus-tcp","heat-pump","rs485","lon-bus","gateway","heating-circuit","cooling-circuit","dhw","solar","compressor"]
  questions: ["How to integrate Viessmann Vitogate 300 with TapHome for Vitocal heat pump?","What does the Viessmann Vitogate 300 Vitocal TapHome template control?","How to wire and configure Vitogate 300 for Modbus RTU/TCP with TapHome?","How to set up LON data points on the Vitogate 300 for Vitocal?","How to control heating and cooling circuits via Viessmann Vitogate 300 and TapHome?"]
---

# Viessmann Vitogate 300 + Vitocal 200

Communication: Modbus RTU

- [Vitogate 300 Installation and Service Instructions](https://www.viessmann.ca/content/dam/public-brands/ca/pdfs/doc/nr2b_acc/vitogate_300_is.pdf/_jcr_content/renditions/original./vitogate_300_is.pdf)
- [Viessmann Official Website](https://www.viessmann.com)

The Viessmann Vitogate 300 (Type BN/MB) is a compact DIN rail gateway (100 x 48 x 70 mm) with RS-485, LAN (RJ45), LON (2x RJ45), and USB ports. This template targets the Vitocal 200 heat pump (Vitotronic 200 WO1C controller) and exposes 27 devices covering heating circuit HC1, a separate cooling circuit, domestic hot water (DHW), solar thermal monitoring, compressor diagnostics, and a general alarm.

> [!NOTE]
> **TapHome connects via Modbus RTU (RS-485) or Modbus TCP only.** The LON bus is internal to the gateway — Vitogate uses it to read data from the Vitotronic controller, then exposes selected data points as Modbus registers. You don't wire LON to TapHome.

> [!WARNING]
> **Dynamic register assignment** -- The Vitogate 300 assigns Modbus register numbers dynamically based on which LON data points are selected in the web interface. The register numbers in the TapHome template correspond to a specific data point selection. If you change the data point selection in the Vitogate web interface, the register numbers will shift and the template will read incorrect values.

## Hardware connection

### Connection diagram

![Viessmann Vitogate 300 connection diagram showing RS-485, power, LAN, LON and USB ports](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/connection-diagram-12_hu_78291212c17cbb8b.jpg)

**Front panel connections (left to right):**

- **Power LED** -- illuminates green when power is on
- **Status LED** -- multi-color (red, green, orange) for operational status
- **RX / TX LEDs** -- flash yellow during data receive/transmit
- **DIP switch (A)** -- 1: Bias voltage RS-485, 2: Bias voltage RS-485, 3: 120 ohm terminator
- **RS-485 (B)** -- removable plug with terminals: Shld, AGND, A- (Data-), B+ (Data+)
- **PWR (C)** -- 24 VDC power supply connection
- **LAN (D)** -- RJ45 for Modbus TCP/IP or web interface access
- **LON (E)** -- 2x RJ45, screened, for LON connection to Vitotronic
- **USB (F)** -- for firmware updates
- **Reset** -- reset button

### Technical specifications

- **Dimensions:** 100 x 48 x 70 mm (DIN rail mount, TS35)
- **Power supply:** 12-24 V AC/DC, max 320 mA (3.85 W)
- **Operating temperature:** 0°C to +45°C
- **Protocol:** Modbus RTU (RS-485) or Modbus TCP/IP (LAN port 502)
- **RS-485 settings:** 9600 baud, 8 data bits, no parity, 1 stop bit

### RS-485 wiring

Connect using a **4-wire RS-485 connection** to the removable RS-485 plug (B):

- **B+** (Data+) --> A+/D+ on TapHome RS-485
- **A-** (Data-) --> B-/D- on TapHome RS-485
- **AGND** --> GND on TapHome
- **Shld** --> Shield (optional, for long cable runs)

> [!WARNING]
> **RS-485 termination** -- DIP switch 3 enables a 120 ohm termination resistor. Enable it only if the Vitogate 300 is the last device on the RS-485 bus. TapHome Core has a built-in 120 ohm resistor on its BUS terminals.

### Wiring in junction box

![Viessmann Vitogate 300 wiring in CM2 junction box with RS-485 and power connections](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/wiring-diagram-09_hu_2c9f147a2a667552.jpg)

The Vitogate 300 and its power supply unit mount on a DIN rail inside the heat pump junction box. The RS-485 connection (B) routes to TapHome. Power is supplied via 24 VDC from the included power supply unit.

### LON cabling (Vitogate ↔ Vitotronic)

This wiring is internal to the gateway — TapHome is not involved. The Vitogate 300 connects to the Vitotronic controller via LON (RJ45). The Viessmann LON uses a "Line" bus topology with terminal end resistors at both ends. Use 2-core screened CAT5 cable or JY(St)Y 2x2x0.8 mm telephone cable. Maximum distance: 900 m with on-site cabling.

> [!TIP]
> The LON communication module must be installed into the Vitotronic control unit. Depending on the controller model, this may be an additional accessory. Refer to the Vitotronic Installation and Service Instructions.

## Configuration

### Web interface access

![Viessmann Vitogate 300 web interface — general overview](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/web-interface-overview_hu_c58d60e278e9422b.jpg)

![Viessmann Vitogate 300 web interface — Vitogate settings](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/web-interface-settings_hu_24faf76980c94e44.jpg)

1. Connect a PC/laptop to the Vitogate 300 LAN port with an Ethernet cable
2. Set your computer IP to **169.254.0.20** (subnet mask 255.255.0.0)
3. Open a browser and navigate to **http://169.254.0.1**
4. Log in with user name **vitogate** and password **viessmann**

> [!WARNING]
> Beginning second half of 2024, new Vitogate 300 units ship with a unique password printed on the device label. After a factory reset, the password reverts to "viessmann".

### Switching to Modbus mode

1. Go to **General > Vitogate** in the web interface
2. Set "Vitogate type" to **"Vitogate 300 MB (Modbus)"**
3. Set "Language of datapoints" to **English** and "Units" to **SI units**
4. Press **Save**, then go to **General > Restart** and press **Restart**

### LON participant scan

1. Go to **VI LON > Scan participants**
2. Set **System number: 1** and participant number range (e.g., 1 to 10)
3. Press **Start** -- the gateway scans for Vitotronic controllers on the LON bus
4. After scan completes, check the desired participants and press **Save**
5. Go to **General > Restart** and press **Restart** (do not select "complete system restart")

### Data point selection

![Viessmann Vitogate 300 web interface LON data point selection with checkboxes](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/web-interface-datapoints-13_hu_146652c1c441d968.jpg)

1. Under **VI LON > Participants**, click on a participant (e.g., 1.1)
2. Select the data point tabs (All, General, Heating circuit A1, Cooling, DHW, Solar, etc.)
3. Check the desired data points for transfer to Modbus
4. Press **Save**

> [!WARNING]
> **Critical step** -- The data points selected here determine the Modbus register assignments. You must select exactly the same data points that the TapHome template expects, in the same order. Changing the selection will shift all register numbers.

### Modbus configuration

![Viessmann Vitogate 300 Modbus configuration — slave address and RS-485 settings](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/web-interface-modbus-config_hu_4e00596386fdbece.jpg)

![Viessmann Vitogate 300 Modbus objects — register list](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitocal/web-interface-modbus-objects_hu_9222f177e165ed69.jpg)

1. Go to **Modbus > Configuration**
2. Set the **Slave address** (must match the Slave ID in TapHome)
3. For RS-485 connection, verify: Protocol **RTU**, Baudrate **9600**, Databits **8**, Parity **none**, Stopbits **1**
4. For TCP/IP connection, the default port is **502**
5. Press **Save**

The **Modbus > Objects** page shows the dynamically assigned register map with columns: Type (CO/HO/IN/ST), Register number, Name, Unit, and Format.

### Status LED indicators

| Status LED | Meaning |
|------------|---------|
| Flashes green | Standard operation |
| Flashes green/red | DHCP server enabled |
| Illuminates orange | Re-start in progress |
| Flashes orange | No gateway configuration |
| Flashes red | RS-485 bus framing errors |
| Illuminates red | Files are being connected prior to reset |

## Device capabilities

### Temperature monitoring

The template provides temperature sensors for the system, heating circuit, and solar system, reading from analog input registers with automatic /10 conversion:

- **Outdoor Temperature** (A:88) -- damped outdoor temperature from the Vitotronic controller
- **DHW Storage Temperature** (A:102) -- domestic hot water buffer storage actual temperature
- **Supply Temperature** (A:100) -- system supply (flow) temperature
- **Room Temperature HC1** (A:54) -- actual room temperature for heating circuit 1
- **Solar Collector Temperature** (A:110) -- solar collector panel temperature
- **Solar Storage Temperature** (A:114) -- solar buffer storage temperature

### Heating circuit control (HC1)

The heating circuit HC1 has independent operating program, operating status, and thermostat control:

**Operating Program HC1** (H:33) -- selects the operating mode with 7 options:
- 0 = Standby
- 1 = DHW Only
- 2 = Heating/Cooling/DHW
- 3 = Continuous Reduced
- 4 = Continuous Normal
- 5 = Normal OFF
- 6 = Cooling Only

**Operating Status HC1** (A:139) -- shows the active status (Standby, Reduced, Normal, Fixed Temperature) as a read-only indicator.

**Thermostats** provide room temperature control with current temperature reading and writable setpoint:
- **Room Temperature Setpoint HC1** -- reads A:54 (current), writes H:12 (normal setpoint, 10-30°C)
- **Reduced Room Temperature Setpoint HC1** -- reads A:54 (current), writes H:13 (reduced setpoint, 10-30°C)
- **Party Mode Room Temperature Setpoint HC1** -- reads A:54 (current), writes H:34 (party setpoint, 10-30°C)

### Cooling circuit control

- **Cooling Circuit Temperature Setpoint** (H:24) -- desired temperature for the separate cooling circuit, reads current temp from A:54

### DHW control

- **DHW Temperature Setpoint (6000)** (H:29) -- desired domestic hot water temperature (read/write)
- **DHW Temperature Setpoint 2 (600C)** (H:28) -- secondary DHW temperature setpoint (read/write)

### Heating/Cooling operation mode

**Heating/Cooling Operation Mode** (H:77) enables switching between the system's primary operating modes:
- 0 = Heating
- 1 = Cooling
- 2 = Auto

### Party and economy modes

- **Party Mode HC1** (C:5) -- read/write party mode switch for heating circuit 1
- **Economy Mode HC1** (C:8) -- read/write economy (setback) mode switch for heating circuit 1

### Pump monitoring

- **Heating Circuit Pump HC1** (D:8) -- read-only pump status for heating circuit 1
- **DHW Charging Pump** (D:21) -- read-only storage tank charging pump status
- **Circulation Pump** (D:15) -- read-only DHW circulation pump status

### Compressor monitoring

- **Compressor Frequency** (A:126) -- compressor operating power/frequency
- **Compressor 1 Operating Hours** (A:162) -- cumulative operating hours for compressor stage 1
- **Compressor 2 Operating Hours** (A:44) -- cumulative operating hours for compressor stage 2

### Solar system monitoring

- **Solar Collector Temperature** and **Solar Storage Temperature** -- see Temperature monitoring above
- **Solar Energy Yield** (A:47) -- cumulative solar energy production in kWh
- **Solar Pump (Internal Control)** (D:19) -- read-only solar pump status (internal controller)
- **Solar Pump (Vitosolic)** (D:20) -- read-only solar pump status (external Vitosolic controller)

### Alarm monitoring

- **General Alarm** (C:200) -- read-only general fault/alarm status from the heat pump system (0=no alarm, 1=alarm active)

### Additional capabilities

The Vitocal 200 / Vitotronic 200 WO1C also exposes LON data points for heating circuit M2/M3 control (room setpoints, operating programs, party/economy modes), ventilation control (supply/exhaust air temperatures, CO2, humidity, filter status), energy balance (COP values, electrical energy consumption), heating curve adjustments (level and slope), and defrost status. These can be added in a future template update by selecting additional data points in the Vitogate web interface.

> [!TIP]
> The heating circuit M2/M3 setpoints and operating programs are not included in the current template. To control additional heating circuits, add the corresponding LON data points in the Vitogate web interface and create custom Modbus devices in TapHome using the newly assigned register numbers.

## Troubleshooting

### Status LED flashes orange (no configuration)

1. Access the web interface at http://169.254.0.1
2. Go to **General > Vitogate** and verify the Vitogate type is set to "Vitogate 300 MB (Modbus)"
3. Go to **VI LON > Scan participants** and scan for Vitotronic controllers
4. Select data points and save

### No Modbus communication

1. **Check RS-485 cables:**
   - B+ (Data+) correctly connected to A+/D+ on TapHome
   - A- (Data-) correctly connected to B-/D- on TapHome
   - AGND connected to TapHome ground
2. Verify the Modbus Slave address in the Vitogate web interface matches TapHome
3. Check DIP switch 3 termination -- enable only on the last device on the bus
4. Confirm TapHome is set to: 9600 baud, no parity, 1 stop bit
5. Try Modbus TCP/IP via the LAN port (port 502) as an alternative

### Register values are incorrect or shifted

1. The Vitogate 300 assigns registers dynamically. If data point selection was changed, register numbers shift
2. Go to **Modbus > Objects** in the web interface and compare the register map with the TapHome template
3. If registers don't match, re-select the correct LON data points to match the template's expected mapping

### LON communication errors

1. Check RJ45 LON cables between Vitogate and Vitotronic
2. Verify terminal end resistors are installed at both ends of the LON bus
3. Ensure the LON communication module is installed in the Vitotronic controller
4. Check LON system number and participant numbers (Code "77:x" and "98:x" on the Vitotronic)

## Available devices

Viessmann Vitogate 300 + Vitocal 200 Module

Outdoor Temperature Temperature Sensor Read-only

Damped outdoor temperature from Vitotronic controller

Register: A:88 Int16 Unit: °C numeric

DHW Storage Temperature Temperature Sensor Read-only

Domestic hot water buffer storage actual temperature

Register: A:102 Int16 Unit: °C numeric

Compressor Frequency Variable Read-only

Compressor operating frequency / power output

Register: A:126 Int16 numeric

Compressor 1 Operating Hours Variable Read-only

Cumulative operating hours for compressor stage 1

Register: A:162 Int16 Unit: h numeric

Compressor 2 Operating Hours Variable Read-only

Cumulative operating hours for compressor stage 2

Register: A:44 Int16 Unit: h numeric

DHW Temperature Setpoint (6000) Thermostat

Desired domestic hot water temperature (read/write, 0-90 °C)

Register: H:29 Int16 Unit: °C numeric

DHW Temperature Setpoint 2 (600C) Thermostat

Secondary DHW temperature setpoint (read/write)

Register: H:28 Int16 Unit: °C numeric

DHW Charging Pump Variable Read-only

Storage tank charging pump status (read-only)

Register: D:21 Bool

Circulation Pump Variable Read-only

DHW circulation pump status (read-only)

Register: D:15 Bool

Solar Storage Temperature Temperature Sensor Read-only

Solar buffer storage temperature

Register: A:114 Int16 Unit: °C numeric

Solar Collector Temperature Temperature Sensor Read-only

Solar collector panel temperature

Register: A:110 Int16 Unit: °C numeric

Solar Pump (Internal Control) Variable Read-only

Solar pump status controlled by integrated solar controller (read-only)

Register: D:19 Bool

Solar Pump (Vitosolic) Variable Read-only

Solar pump status controlled by external Vitosolic controller (read-only)

Register: D:20 Bool

Solar Energy Yield Variable Read-only

Cumulative solar energy production in kWh

Register: A:47 Int16 Unit: kWh numeric

Operating Program HC1 Multi-value Switch

Heating circuit 1 operating program selector (7 modes)

Register: H:33 UInt16 numeric

Values / States: Vypínacia · Len príprava · Kúrenie/Chladenie/TV · Trvalo reduk. Teplota · Trvalo normál. Teplota · Normál. VYP · Len chladenie

Operating Status HC1 Multi-value Switch Read-only

Current operating status of heating circuit 1 (read-only)

Register: A:139 UInt16 numeric

Values / States: Standby · Redukovaná · Normál · Na konštantnú teplotu

Room Temperature HC1 Temperature Sensor Read-only

Actual room temperature for heating circuit 1

Register: A:54 Int16 Unit: °C numeric

Room Temperature Setpoint HC1 Thermostat

Normal room temperature setpoint for heating circuit 1 (10-30 °C)

Register: H:12 Int16 Unit: °C numeric

Reduced Room Temperature Setpoint HC1 Thermostat

Reduced (night/setback) room temperature setpoint for heating circuit 1 (10-30 °C)

Register: H:13 Int16 Unit: °C numeric

Party Mode Room Temperature Setpoint HC1 Thermostat

Room temperature setpoint during party mode for heating circuit 1 (10-30 °C)

Register: H:34 Int16 Unit: °C numeric

Supply Temperature Temperature Sensor Read-only

System supply (flow) temperature

Register: A:100 Int16 Unit: °C numeric

Party Mode HC1 Switch

Party mode switch for heating circuit 1 (read/write)

Register: C:5 Bool

Values / States: ON · OFF

Economy Mode HC1 Switch

Economy (setback) mode switch for heating circuit 1 (read/write)

Register: C:8 Bool

Values / States: ON · OFF

Heating Circuit Pump HC1 Switch Read-only

Heating circuit 1 circulation pump status (read-only)

Register: D:8 Bool

Values / States: ON · OFF

Cooling Circuit Temperature Setpoint Thermostat

Desired temperature for the separate cooling circuit

Register: H:24 Int16 Unit: °C numeric

Heating/Cooling Operation Mode Multi-value Switch

System heating/cooling mode selector (Heating, Cooling, Auto)

Register: H:77 UInt16 numeric

Values / States: Heating · Cooling · Auto

General Alarm Switch Read-only

General fault/alarm status from the heat pump system (read-only)

Register: C:200 Bool

Values / States: ON · OFF

**Connection:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Possible improvements (17)

- HO-17 Room Temperature Setpoint HC2 (3000) — Normal room temperature setpoint for heating circuit 2 (10–30°C)
- HO-18 Reduced Room Temperature Setpoint HC2 (3001) — Reduced room temperature setpoint for heating circuit 2 (10–30°C)
- HO-36 Party Mode Room Temperature HC2 (3022) — Party mode room temperature for heating circuit 2 (10–30°C)
- HO-32 Operating Program HC2 — Operating program selector for heating circuit 2 (same modes as HC1)
- CO-7 Party Mode HC2 — Party mode switch for heating circuit 2
- CO-10 Economy Mode HC2 — Economy mode switch for heating circuit 2
- HO-21 Room Temperature Setpoint HC3 (4000) — Normal room temperature setpoint for heating circuit 3 (10–30°C)
- HO-22 Reduced Room Temperature Setpoint HC3 (4001) — Reduced room temperature setpoint for heating circuit 3 (10–30°C)
- IN-161 COP Heating — Coefficient of performance for heating operation (0x1690)
- IN-78 COP DHW — Coefficient of performance for DHW operation (0x1691)
- HO-12 Heating Curve Level HC1 (2006) — Heating curve level adjustment (-15 to +40 K)
- HO-11 Heating Curve Slope HC1 (2007) — Heating curve slope (0–35)
- IN-186 Exhaust Air Temperature — Exhaust air temperature for ventilation (0x0A02)
- IN-180 Fresh Air Temperature — Outside air temperature for ventilation (0x0A00)
- HO-61 Ventilation Operating Program — Ventilation mode: 0=Off, 1=Basic, 2=Automatic (0xB005)
- IN-174 Defrost Active — Defrost status: 0=OFF, 1=Defrost ON (0xB446)
- IN-113 Solar Return Temperature — Solar return temperature (0x01D2, AI-83)

## Sources

- Vitogate 300 Installation and Service Instructions
  
  [www.viessmann.ca](https://www.viessmann.ca/content/dam/public-brands/ca/pdfs/doc/nr2b_acc/vitogate_300_is.pdf/_jcr_content/renditions/original./vitogate_300_is.pdf) 2026-03-18
  
  [PDF](https://taphome.com/compatibility/devices/viessmann-vitogate-300-vitocal/manufacturer/vitogate-300-installation-service.pdf)
- Vitogate 300 Online Help
  
  [www.viessmann.ca](https://www.viessmann.ca/content/dam/public-brands/ca/pdfs/doc/nr2b_acc/vitogate_300_oh.pdf/_jcr_content/renditions/original./vitogate_300_oh.pdf) 2026-03-18
  
  [PDF](https://taphome.com/compatibility/devices/viessmann-vitogate-300-vitocal/manufacturer/vitogate-300-online-help.pdf)
- Vitogate 300 Technical Review (KWE Technologies)
  
  [www.kwe-tech.com](http://www.kwe-tech.com/files/viessmann/Vitogate300_TechnicalReview.pdf) 2026-03-18
  
  [PDF](https://taphome.com/compatibility/devices/viessmann-vitogate-300-vitocal/manufacturer/vitogate-300-technical-review.pdf)
- Vitogate 300 Datenpunktliste — Vitocal xxx-S / Vitotronic 200 Typ WO1C
  
  [community.viessmann.de](https://community.viessmann.de/viessmann/attachments/viessmann/customers-connectivity/28204/1/204D_Vitocal_xxx-S_Vitotronic_200_Typ_WO1C.pdf) 2026-03-18
  
  [PDF](https://taphome.com/compatibility/devices/viessmann-vitogate-300-vitocal/manufacturer/vitogate-300-datenpunktliste-vitocal.pdf)

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

