The Vaillant aroVAIR pro WN (VA 3-025 WN, VA 3-035 WN, VA 3-045 WN) is a wall-mounted fan coil unit for heating and cooling in hydronic systems, typically connected to the water circuit of a heat pump. TapHome communicates with the unit over Modbus RTU on an RS-485 bus, using the Modbus communication cable that ships with the fan coil. One template covers all three sizes — they share the same Modbus register map.
The template provides operating mode selection (Off, Ventilation, Cooling, Heating, Automatic), a thermostat with the setpoint and the measured room temperature, fan speed selection, the water temperature at the coil, and automatic reporting of the unit’s error and protection flags.
Hardware connection
Switch off the mains power before opening the control box. Terminal block XT1 carries 230 V AC. Electrical work on the unit may only be carried out by a qualified installer.
Opening the control box
- Lift the front flap of the casing.
- Loosen the screw and remove the control box cover.
Connecting the Modbus cable to CN22
- Plug the supplied Modbus communication cable into connector CN22 on the circuit board.
- Close the control box.
- Connect the RS-485 bus coming from TapHome to the wires P, Q and E of the Modbus communication cable.
| Terminal | Signal |
|---|---|
| P | RS-485 A (+) |
| Q | RS-485 B (−) |
| E | GND (optional shield) |

Several fan coils can share one RS-485 bus and one TapHome Core. Each unit needs its own Modbus address (see Configuration below).
Wiring diagram
The manufacturer’s connection diagram shows where the relevant connectors are: the Modbus cable connector CN22 with the P, Q, E wires (item 12), the address switches SW1 and ENC2 on the switch board (item 3), the mains supply XT1 (item 5) and the On/Off contact XT3 (item 6). The air temperature sensor T1 is plugged into CN32 and the water temperature sensor T2 into CN31.

On/Off contact XT3 (optional)
Terminal block XT3 (HA, HB) accepts an accessory with a dry On/Off contact, for example a system controller:
- Contact closed — the fan coil is in standby.
- Contact open — the fan coil is ready to operate.
The contact works independently of Modbus and can be used together with Modbus control. If the contact is wired, keep it open, otherwise the unit stays in standby whatever TapHome sends.

Configuration
Enabling Modbus communication
No menu activation is needed. Modbus is available as soon as the Modbus cable is connected to CN22 and the unit has an address set on SW1 and ENC2.
Setting the Modbus address (SW1 and ENC2)
The address is set with two switches on the switch board on the control box cover:
- SW1 (two DIP switches) selects a group of 16 addresses: 0–15, 16–31, 32–47 or 48–63.
- ENC2 (rotary switch) selects one of the 16 addresses within that group.
The switch positions are shown in the table on the manual page above.
The switches set addresses 00 to 63, which correspond to Modbus addresses 1 to 64. The Modbus address — and therefore the Modbus Slave ID import parameter in TapHome — is the switch address plus one. Switch address 00 is Slave ID 1, switch address 05 is Slave ID 6.
When several fan coils are controlled over one bus, give each unit its own address with SW1 and ENC2.
Serial line parameters
| Parameter | Options | Factory setting |
|---|---|---|
| Baud rate | 4800, 9600, 19200, 38400 bps | 9600 bps |
| Data bits | 8 | 8 |
| Stop bits | 1 or 2 | 1 |
| Parity | Odd, even or none | None |
| Transmission mode | Modbus RTU | — |
| Error check | CRC-16 | — |
| Address | 1–64 | — |
The template expects the factory settings: 9600 bps, 8 data bits, no parity, 1 stop bit. The baud rate can be changed through register 1640; after a change the next communication must already use the new setting, otherwise the unit does not respond. The template does not write this register.
The unit supports Modbus function codes 03 (read multiple holding registers), 06 (write single holding register) and 16 (write multiple holding registers).
Adding the fan coil in TapHome
Import the template on the TapHome Core RS-485 bus set to the same serial parameters and enter the Modbus Slave ID of the unit; for several fan coils, import the template once per unit with its own Slave ID.
Device capabilities
Operating mode
Register 1601 selects the operating mode. TapHome shows it as a multi-value switch:
| Value | Mode |
|---|---|
| 0x00 | Off |
| 0x01 | Ventilation (fan only, no heating or cooling) |
| 0x02 | Cooling |
| 0x03 | Heating |
| 0x05 | Automatic |
The unit also has a dehumidification mode (0x04), which the template does not offer. If the fan speed is not written together with a new mode, the unit selects medium fan speed by itself.
Temperature setpoint and room temperature
The thermostat writes the target temperature (Ts, register 1602) in the range 17–30 °C and shows the measured room temperature T1 (register 1606) next to it. A setpoint outside 17–30 °C is rejected by the unit with an error code. The setpoint cannot be set in Ventilation mode.
Fan speed
Register 1603 sets the fan speed:
| Value | Speed |
|---|---|
| 0x02 | Low |
| 0x03 | Medium |
| 0x04 | High |
| 0x05 | Automatic |
Values 0x00 and 0x01 are not valid; the unit answers them with an error code.
Water temperature
The water temperature T2-C at the coil (register 1607) is read every 15 seconds. Both temperatures use the same encoding: the unit sends raw = (temperature + 5) × 2 + 30, which covers −20 °C to 100 °C (raw 0–240). TapHome decodes it as raw / 2 − 20.
Errors and warnings
The template reads the error flags (register 1614) and the protection status registers (1615 and 1617) and shows them directly on the fan coil in TapHome:
| Condition | Severity |
|---|---|
| Room temperature sensor error | Error |
| Water temperature sensor error | Error |
| EEPROM error | Error |
| Fan speed error | Error |
| Water level error | Error |
| P1 frost protection active | Warning |
| Frost protection active | Warning |
| Temperature outside operating range | Warning |
| Remote off active | Warning |
| Capacity outside range | Warning |
The Operating Mode device also carries three service attributes: the key lock of the remote control (register 1612, bit 0), the locked function — cooling locked or heating locked (register 1612, bits 1–2) — and the condensate pump state (register 1613, bit 0).
Troubleshooting
No communication
- Check that the Modbus cable sits firmly in CN22 and that P and Q are connected to A and B of the TapHome bus.
- Check the Slave ID: it is the switch address on SW1 and ENC2 plus one. Switches at 00 mean Slave ID 1.
- Check that the unit still uses 9600 bps, no parity and 1 stop bit. If the baud rate was changed through register 1640, set the TapHome bus to the same value.
- On a bus with several devices, check that the last device on the bus has its termination resistor fitted.
Unrealistic temperature reading
When a temperature sensor fails, the unit returns 0x7FFF (32767) in register 1606 or 1607. The template does not filter this value, so TapHome then shows an implausibly high temperature (about 16 360 °C) together with a sensor error. Check the air sensor connector CN32 or the water sensor connector CN31 on the main board; for T1 the manual also names a fault of the room thermostat in the wired controller as a cause.
Command rejected
- Operating mode: only 0x00, 0x01, 0x02, 0x03 and 0x05 are offered by the template.
- Setpoint: only 17–30 °C, and not in Ventilation mode.
- Fan speed: only 0x02–0x05.
The unit does not start
If an accessory is wired to the On/Off contact XT3 and the contact is closed, the fan coil stays in standby regardless of the operating mode set in TapHome.