---
title: "Viessmann Vitogate 300 + Vitotronic 200 HK3B"
description: "Viessmann Vitogate 300 Modbus RTU/TCP gateway for Vitotronic 200 HK3B boiler controller with 3 heating circuits, DHW and solar monitoring via TapHome."
url: "https://taphome.com/en/compatibility/viessmann-vitogate-300-vitotronic/"
language: en
lastmod: 2026-03-20
generator: hugo
ai:
  topics: ["modbus-rtu","modbus-tcp","boiler","rs485","lon-bus","gateway","heating-circuit","dhw","solar","weather-compensation"]
  questions: ["How to integrate Viessmann Vitogate 300 with TapHome?","What does the Viessmann Vitogate 300 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?","How to control heating circuits via Viessmann Vitogate 300 and TapHome?"]
---

# Viessmann Vitogate 300 + Vitotronic 200 HK3B

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 is configured for the Vitotronic 200 HK3B and exposes 33 devices covering 3 heating circuits (A1M1, M2, M3), domestic hot water (DHW), and solar thermal monitoring.

> [!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-vitotronic/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-vitotronic/wiring-diagram-09_hu_2c9f147a2a667552.jpg)

The Vitogate 300 and its power supply unit mount on a DIN rail inside the boiler junction box. The RS-485 connection (C) 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-vitotronic/web-interface-overview_hu_c58d60e278e9422b.jpg)

![Viessmann Vitogate 300 web interface — Vitogate settings](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitotronic/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-vitotronic/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, Boiler, Heating circuit A1, DHW, 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-vitotronic/web-interface-modbus-config_hu_4e00596386fdbece.jpg)

![Viessmann Vitogate 300 Modbus objects — register list](https://taphome.com/images/compatibility/viessmann-vitogate-300-vitotronic/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 all heating circuits and the solar system, reading from analog input registers with automatic /10 conversion:

- **Outdoor Temperature** (A:13) -- damped outdoor temperature from the Vitotronic controller
- **Supply Temperature A1M1** (A:27) -- flow temperature of heating circuit A1M1
- **Supply Temperature A1M1 Weather-Compensated** (A:28) -- weather-compensated supply setpoint for A1M1
- **Supply Temperature M2** (A:60) -- flow temperature of heating circuit M2
- **Supply Temperature M3** (A:91) -- flow temperature of heating circuit M3
- **Solar Collector Temperature** (A:150) -- solar collector panel temperature
- **Solar Storage Temperature** (A:151) -- solar buffer storage temperature

### Heating circuit control

Each of the 3 heating circuits (A1M1, M2, M3) has independent operating mode and thermostat control:

**Operating Modes** (H:14 for A1M1, H:15 for M2, H:15 for M3):
- 0 = Off
- 1 = DHW Only
- 2 = Heating + DHW
- 3 = Continuous Reduced
- 4 = Continuous Normal

**Current Operating Mode** shows the active status (Off, Reduced, Normal, Continuous Normal) as a read-only indicator.

**Thermostats** provide room temperature control with current temperature reading and writable setpoint:
- **Thermostat A1M1 Normal** -- reads A:22 (current), writes H:8 (setpoint, 10-30°C)
- **Thermostat A1M1 Reduced** -- reads A:22 (current), writes H:11 (reduced setpoint)
- **Thermostat M2** -- reads A:62 (current), writes H:156 (setpoint)
- **Thermostat M3** -- reads A:93 (current), writes H:157 (setpoint)

### DHW and room setpoints

- **DHW Setpoint Temperature** (H:1) -- read-only domestic hot water desired temperature
- **Room Setpoint M2** (H:9) -- normal room temperature setpoint for circuit M2
- **Room Setpoint M3** (H:10) -- normal room temperature setpoint for circuit M3
- **Reduced Setpoint M2** (H:12) -- reduced (eco) room temperature setpoint for circuit M2
- **Reduced Setpoint M3** (H:13) -- reduced (eco) room temperature setpoint for circuit M3

### Party and economy modes

- **Party Mode A1M1** (D:60) -- read-only party mode status for A1M1
- **Party Mode M2** (C:12) -- read/write party mode switch for M2
- **Party Mode M3** (D:62) -- read-only party mode status for M3
- **Economy Mode M2** (C:9) -- read/write economy (reduced) mode switch for M2
- **Economy Mode M3** (C:3) -- read/write economy (reduced) mode switch for M3

### Circulation pump monitoring

- **Circulation Pump A1M1** (D:14) -- read-only pump status for heating circuit A1M1
- **Circulation Pump M2** (D:26) -- read-only pump status for heating circuit M2
- **Circulation Pump M3** (D:38) -- read-only pump status for heating circuit M3

### Solar system monitoring

- **Solar Collector Temperature** (A:150) -- collector panel temperature
- **Solar Storage Temperature** (A:151) -- buffer storage temperature
- **Solar Heat Yield** (A:152) -- cumulative solar energy production in kWh
- **Solar Operating Hours** (A:153) -- cumulative solar system operating hours
- **Solar Pump** (D:59) -- read-only solar circulation pump status

### Additional capabilities

The Vitotronic 200 HK3B also exposes registers for boiler water temperature, effective boiler setpoint, burner modulation, boiler operating mode, and extended heating circuit operating programs. These can be added in a future template update by selecting additional data points in the Vitogate web interface.

> [!TIP]
> The boiler water temperature (Kesseltemperatur) is not included in the current template. To monitor it, add the corresponding LON data point in the Vitogate web interface and create a custom Modbus device in TapHome using the newly assigned register number.

## 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 + Vitotronic 200 HK3B Module

Outdoor Temperature Temperature Sensor Read-only

Damped outdoor temperature from Vitotronic controller

Register: A:13 Int16 Unit: °C numeric

Solar Storage Temperature Temperature Sensor Read-only

Solar buffer storage temperature

Register: A:151 Int16 Unit: °C numeric

Solar Collector Temperature Temperature Sensor Read-only

Solar collector panel temperature

Register: A:150 Int16 Unit: °C numeric

Solar Pump Switch Read-only

Solar circulation pump status (read-only)

Register: D:59 Bool

Values / States: ON · OFF

Solar Operating Hours Variable Read-only

Cumulative solar system operating hours

Register: A:153 Int16 Unit: h numeric

Solar Heat Yield Variable Read-only

Cumulative solar energy yield in kWh

Register: A:152 Int16 Unit: kWh numeric

Operating Mode A1M1 Multi-value Switch

Heating circuit A1M1 operating mode selector

Register: H:14 Int16 numeric

Values / States: Vyp. prevádzka · Len TUV · Vykurovanie + TUV · Trvalo reduk. · Trvalo normál

DHW Setpoint Temperature Temperature Sensor Read-only

Domestic hot water desired temperature (read-only)

Register: H:1 Int16 Unit: °C numeric

Current Operating Mode A1M1 Multi-value Switch Read-only

Active heating circuit A1M1 status (read-only)

Register: A:26 Int16 numeric

Values / States: Vyp. prevádzka · Redukovaná prev. · Normálna prev. · Trvalo normál.

Thermostat A1M1 Normal Thermostat

Normal room temperature control for heating circuit A1M1 (10-30 °C)

Register: A:22 → H:8 Int16 Unit: °C numeric

Thermostat A1M1 Reduced Thermostat

Reduced (eco) room temperature control for heating circuit A1M1 (10-30 C)

Register: A:22 → H:11 Int16 Unit: °C numeric

Supply Temperature A1M1 Temperature Sensor Read-only

Flow/supply temperature of heating circuit A1M1

Register: A:27 Int16 Unit: °C numeric

Supply Temperature A1M1 (Weather-Compensated) Temperature Sensor Read-only

Weather-compensated supply temperature setpoint for heating circuit A1M1

Register: A:28 Int16 Unit: °C numeric

Party Mode A1M1 Switch Read-only

Party mode status for heating circuit A1M1 (read-only)

Register: D:60 Bool

Values / States: ON · OFF

Circulation Pump A1M1 Switch Read-only

Heating circuit pump status for A1M1 (read-only)

Register: D:14 Bool

Values / States: ON · OFF

Operating Mode M2 Multi-value Switch

Heating circuit M2 operating mode selector

Register: H:15 Int16 numeric

Values / States: Vyp. prevádzka · Len TUV · Vykurovanie + TUV · Trvalo reduk. · Trvalo normál.

Current Operating Mode M2 Multi-value Switch

Active heating circuit M2 status

Register: H:1 Int16 numeric

Values / States: Vypnutá prevádzka · Redukovaná prevádzka · Normálna prevádzka · Trvalo normál.

Thermostat M2 Thermostat

Room temperature control for heating circuit M2 (10-30 C)

Register: A:62 → H:156 Int16 Unit: °C numeric

Reduced Setpoint M2 Temperature Sensor Read-only

Reduced (eco) room temperature setpoint for heating circuit M2

Register: H:12 Int16 Unit: °C numeric

Room Setpoint M2 Temperature Sensor Read-only

Normal room temperature setpoint for heating circuit M2

Register: H:9 Int16 Unit: °C numeric

Supply Temperature M2 Temperature Sensor Read-only

Flow/supply temperature of heating circuit M2

Register: A:60 Int16 Unit: °C numeric

Party Mode M2 Switch

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

Register: C:12 Bool

Values / States: ON · OFF

Economy Mode M2 Switch

Economy (reduced) mode switch for heating circuit M2 (read/write)

Register: C:9 Bool

Values / States: ON · OFF

Circulation Pump M2 Switch Read-only

Heating circuit pump status for M2 (read-only)

Register: D:26 Bool

Values / States: ON · OFF

Operating Mode M3 Multi-value Switch

Heating circuit M3 operating mode selector

Register: H:15 Int16 numeric

Values / States: Vypnutá prevádzka · Len TUV · Vykurovanie + TUV · Trvalo reduk. · Trvalo normál.

Current Operating Mode M3 Multi-value Switch Read-only

Active heating circuit M3 status (read-only)

Register: A:90 Int16 numeric

Values / States: Vyp. prevádzka · Reduk. prevádzka · Normál. prevádzka · Trvalo normál.

Thermostat M3 Thermostat

Room temperature control for heating circuit M3 (10-30 C)

Register: A:93 → H:157 Int16 Unit: °C numeric

Reduced Setpoint M3 Temperature Sensor Read-only

Reduced (eco) room temperature setpoint for heating circuit M3

Register: H:13 Int16 Unit: °C numeric

Room Setpoint M3 Temperature Sensor Read-only

Normal room temperature setpoint for heating circuit M3

Register: H:10 Int16 Unit: °C numeric

Supply Temperature M3 Temperature Sensor Read-only

Flow/supply temperature of heating circuit M3

Register: A:91 Int16 Unit: °C numeric

Party Mode M3 Switch Read-only

Party mode status for heating circuit M3 (read-only)

Register: D:62 Bool

Values / States: ON · OFF

Economy Mode M3 Switch

Economy (reduced) mode switch for heating circuit M3 (read/write)

Register: C:3 Bool

Values / States: ON · OFF

Circulation Pump M3 Switch Read-only

Heating circuit pump status for M3 (read-only)

Register: D:38 Bool

Values / States: ON · OFF

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

Possible improvements (11)

- A:22 Room Temperature A1M1 (standalone) — Room temperature sensor A1/HK1 — available via thermostat device but not as standalone sensor
- HO:34 Operating Program A1M1 (extended) — Extended modes: 0=Off, 1=DHW Only, 2=Heat/Cool+DHW, 4=Continuous Reduced, 5=Continuous Normal, 6=Normal, 7=Cooling Only. Template only has 0–4
- IN-15 Boiler Temperature — Actual boiler water temperature — important sensor not in template
- IN-5 Effective Boiler Setpoint — Effective boiler water setpoint temperature
- HO-8 Boiler Setpoint Temperature — Writable boiler setpoint (0..127 °C)
- IN-175 Boiler Modulation — Burner modulation percentage (0..100%)
- ST-9 Heating Circuit Pump A1M1 (BACnet) — Binary status via BACnet BI-9, alternative to D:14
- CO-6 Party Mode A1M1 (writable) — Writable party mode switch — template has read-only D:60
- CO-9 Economy Mode A1M1 — Economy mode switch for A1M1 — available for M2/M3 but missing for A1M1
- IN-111 Solar Collector Temperature (BACnet) — Alternative solar collector temp via different register mapping
- IN-48 Solar Energy (BACnet) — Solar energy yield via BACnet/Modbus standard mapping

## 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-vitotronic/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-vitotronic/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-vitotronic/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-vitotronic/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/)

