TapHome
Community Beta HVAC integration

Viessmann Vitovent 300-W H32S C400

Viessmann Vitovent 300-W H32S C400 heat recovery ventilation unit in TapHome over Modbus RTU on the RS-485 connector X15. Ventilation stage, outdoor, supply and extract air temperature, humidity, bypass override and a counter register.

Modbus RTU8 devicesRevision 1.0 Last updated: November 10, 2026

Submitted by Patrik Danko

Viessmann Vitovent 300-W H32S C400

Import into the TapHome appHardware › Modbus › Add from template

Download Template
On this page

Integration guide

The Viessmann Vitovent 300-W H32S C400 is a central heat recovery ventilation unit for homes, with a counterflow heat exchanger. TapHome communicates with the unit over Modbus RTU on its RS-485 port, connector X15 on the control board — the same port the unit uses for the LB1 ventilation control panel, the Vitocal/Vitovent connection and Vitoconnect V.

The template sets the ventilation stage, reads the outdoor, supply and extract air temperatures and two humidity sensors, overrides the bypass and shows a counter that the template labels for filter replacement. Viessmann does not publish a Modbus register map for this unit. The registers come from the community reverse-engineering project hornpa/viessmann-vitovent-modbus on GitHub, which tested one unit of type H32E C325 (the enthalpy variant), not an H32S C400.

Hardware connection

Pull the mains plug of the unit before removing the control board cover and secure it against being plugged back in. Live parts can cause dangerous electric shock. Route low-voltage cables (below 42 V) separately from 230 V cables.

Connector X15

X15 (item F in the manufacturer’s overview, “Anschluss Modbus”) is the red 3-pole plug-in terminal on the control board. Pins are counted from the side of the black X16 (24 V) connector:

PinSignal
1Modbus − (B)
2Modbus + (A)
3Signal GND
Viessmann Vitovent 300-W installation manual page: overview of electrical connections on the control board, including the X15 Modbus connector.

Signal GND on pin 3 is mandatory. Run a third wire from X15 pin 3 to the ground reference of the RS-485 master. With only A and B connected, the unit typically does not respond at all, because the reference of its transceiver floats. The LB1 panel gets its ground through the X16 24 V cable, which a third-party master does not have.

Swapping A and B does not damage anything: if the unit does not respond, swap the two wires once.

Termination jumper X12

X12 is the plug-in jumper for the 120 Ω Modbus termination resistor on the unit side. The community documentation advises leaving it in place.

Viessmann Vitovent 300-W control board connection and wiring diagram with connectors X01-X19, X12 Modbus termination jumper and X15 Modbus connection.

Only one Modbus master on X15

The unit accepts only one Modbus master. The LB1 control panel, the Vitocal heat pump link, Vitoconnect V and TapHome are mutually exclusive on X15.

  1. Unplug the LB1 control panel from X15 before connecting TapHome.
  2. Keep the LB1: plugging it back in restores normal operation, so it stays the fallback control.
  3. Never run two Modbus masters on the bus at the same time.

While no master is connected, the unit keeps ventilating on its own at the last stage, and its safety functions (frost protection, bypass automation) stay active inside the unit. Removing the LB1 does not stop the unit.

Timer and schedule settings of the LB1 are stored in the panel itself and only stage commands go over the bus, so with TapHome as the master the ventilation schedule is created in TapHome.

Configuration

Enabling Modbus communication

No activation is needed. Modbus is always available on X15, and the bus parameters are fixed: neither the unit nor the service menu of the LB1 offers a setting for them.

ParameterValue
Baud rate19200 Bd
Data bits8
ParityEven
Stop bits1
Slave address70 (0x46)

The unit answers function codes 03 and 04 identically and accepts writes of a single register with function code 06.

Even parity and slave address 70 differ from the usual defaults of most Modbus masters; the master must be set to them explicitly.

Adding the unit in TapHome

Import the template on the TapHome RS-485 bus set to 19200 8E1 and keep the Modbus Slave ID at 70.

Device capabilities

The device names in the template are in Slovak and appear in TapHome exactly as written below.

Device in TapHomeMeaningRegisterAccess
Stupeň vetraniaVentilation stage2002Read/write
Teplota vonkajšieho vzduchuOutdoor air temperature1020Read
Teplota privádzaného vzduchuSupply air temperature1023Read
Teplota odvádzaného vzduchuExtract air temperature1025Read
Vlhkosť 1Humidity sensor 1 (% r.H.)1031Read
Vlhkosť 2Humidity sensor 2 (% r.H.)1032Read
BypassBypass mode override6006Read/write
Výmena filtraCounter in register 20012001Read

Ventilation stage

Stupeň vetrania writes the target ventilation stage to register 2002. Stages 1 to 4 select the four airflow presets set at commissioning, stage 5 is the intensive boost at maximum airflow. The unit follows within about 10 seconds and the airflow ramps to the preset of the selected stage.

ValueName in TapHome
1Znížené (reduced)
2Normálne (normal)
3Intenzívne (intensive)
4Boost
5Intenzívny boost (intensive boost)

The device also shows these service attributes:

AttributeMeaningRegister
Skutočný stupeň vetraniaActual ventilation stage1009
Prietok privádzaného vzduchuActual supply airflow (m³/h)1010
Prietok odvádzaného vzduchuActual extract airflow (m³/h)1013
Otáčky prívodného ventilátoraSupply fan speed (RPM)1011
Otáčky odvádzaného ventilátoraExtract fan speed (RPM)1014

Temperatures and humidity

The three temperature sensors are read in 0.1 °C steps as signed values. The community map lists registers 1020, 1023 and 1025 only as temperature sensors 1 to 3 and does not confirm which air path each one measures. Check the assignment on your unit by watching which value follows the outdoor temperature over a day.

Vlhkosť 1 and Vlhkosť 2 read the two humidity sensors in % relative humidity. Their position in the unit is not documented, hence the generic names.

Bypass

Bypass overrides the bypass flap through register 6006. The flap moves within about 30 seconds.

ValueName in TapHome
0Automatický (automatic, default)
1Nútene otvorený (forced open)
2Nútene zatvorený (forced closed)

The service attributes Poloha klapky bypassu (flap position, register 1046) and Stav bypassu (bypass state, register 1045) show the flap feedback. The community map gives the flap step position in register 1128 (0 = closed, 524 = open on the test unit) and describes 1045 as a status word whose low byte is 4 when closed and 5 when open. If the attributes do not match the flap, compare them on your unit.

Leave the bypass at Automatický unless there is a reason to override it, so that the unit’s own bypass logic keeps working.

Filter counter

Výmena filtra reads register 2001, a read-only counter that keeps counting. Its meaning is not confirmed: the community documentation considers it most likely the number of calendar days since commissioning. It does not change when the filter warning is reset.

The 365-day filter countdown lives in the LB1 panel, not in the unit, and there is no countdown in the unit that could be reset over Modbus. With TapHome as the master, track the filter interval in TapHome. The manufacturer requires replacing both filters at least once a year.

Whether the values written to registers 2002 and 6006 survive a power loss has not been tested. Writing to undocumented registers can misconfigure or damage the unit and void the warranty — this is at your own risk. Leave the commissioned airflow presets in registers 6000–6003 unchanged.

Troubleshooting

The unit does not respond

  • Check the Signal GND wire from X15 pin 3 — a missing ground is the most common reason for a silent bus.
  • Swap A and B once; the swap is harmless.
  • Check the parity: it must be even, not none.
  • Check the address: the unit answers on slave address 70, not 1.
  • Make sure no other Modbus master is connected to X15 — unplug the LB1 panel and disconnect Vitoconnect V or the Vitocal link.

A temperature or humidity shows an impossible value

The unit reports 32768 (0x8000) when a sensor is not fitted or a function is inactive. Because temperatures are read as signed values divided by ten, a missing temperature sensor appears as −3276.8 °C. This is not a communication error.

The unit stopped following TapHome after the LB1 was plugged back in

With the LB1 connected, two masters share the bus. Unplug the LB1 again before controlling the unit from TapHome.

Available devices 8

These devices appear in TapHome after import.

Vitovent 300-W H32S C400 Module
Stupeň vetrania Multi-value Switch
Values / States: Znížené · Normálne · Intenzívne · Boost · Intenzívny boost

Stupeň vetrania

Read switch state
MODBUSR(H, 2002, UInt16)
Write switch state
MODBUSW(H, 2002, UInt16, Mu)
Service Attributes
Skutočný stupeň vetrania
TOSTRING(MODBUSR(H, 1009, UInt16))
Prietok privádzaného vzduchu
TOSTRING(MODBUSR(H, 1010, UInt16)) + " m³/h"
Prietok odvádzaného vzduchu
TOSTRING(MODBUSR(H, 1013, UInt16)) + " m³/h"
Otáčky prívodného ventilátora
TOSTRING(MODBUSR(H, 1011, UInt16)) + " RPM"
Otáčky odvádzaného ventilátora
TOSTRING(MODBUSR(H, 1014, UInt16)) + " RPM"
Teplota vonkajšieho vzduchu Temperature Sensor

Teplota vonkajšieho vzduchu

Read temperature
MODBUSR(H, 1020, Int16) / 10
Teplota privádzaného vzduchu Temperature Sensor

Teplota privádzaného vzduchu

Read temperature
MODBUSR(H, 1023, Int16) / 10
Teplota odvádzaného vzduchu Temperature Sensor

Teplota odvádzaného vzduchu

Read temperature
MODBUSR(H, 1025, Int16) / 10
Vlhkosť 1 Analog Input

Vlhkosť 1

Read input level
MODBUSR(H, 1031, UInt16)
Vlhkosť 2 Analog Input

Vlhkosť 2

Read input level
MODBUSR(H, 1032, UInt16)
Bypass Multi-value Switch
Values / States: Automatický · Nútene otvorený · Nútene zatvorený

Bypass

Read switch state
MODBUSR(H, 6006, UInt16)
Write switch state
MODBUSW(H, 6006, UInt16, Mu)
Service Attributes
Poloha klapky bypassu
TOSTRING(MODBUSR(H, 1046, UInt16)) + " krokov"
Stav bypassu
IF(MODBUSR(H, 1045, UInt16) = 5, "Otvorený", "Zatvorený")
Výmena filtra Variable

Výmena filtra

Read
MODBUSR(H, 2001, UInt16)
Connection: Modbus RTU • 19200 baud• 8E1 • Slave ID: $[SlaveId]

Import parameters

Enter these values when you import the XML.

Asked in the appDefault
Modbus Slave ID70

Found a problem with this device template?

Tell us what's wrong, what's missing, or how the template should behave. We rely on your feedback to keep the catalog accurate.

Template · TapHome portal Viessmann Vitovent 300-W H32S C400 Open this template in the Customer Portal to apply it to one of your homes, or to draft a refinement and submit it back to the catalog. Modbus RTU View in TapHome portal