
The Alnor HRU-PremAIR is a heat recovery ventilation unit that communicates with TapHome via Modbus RTU over RS-485. The connection requires the BRDG-02R13 communication module, which plugs into the VMD control board (VMD-02RPS54, VMD-02RPS66 or VMD-02RPS78) inside the recuperator.
The template covers ventilation speed control, four temperature sensors (indoor, outdoor, supply, exhaust), bypass monitoring and control, pre-heater status and setpoint, indoor humidity, and fault reporting. The same Modbus protocol applies to HRU-MinistAIR, HRU-SlimAIR and HRU-FlatAIR series units.
Hardware connection
RS-485 wiring
Connect the BRDG-02R13 module to the TapHome Core RS-485 bus using a twisted pair cable. Multiple devices can share the same RS-485 bus — ensure each device has a unique Slave ID.
If the bus line is long or communication problems occur, install a 120 Ohm termination resistor on both ends of the line as shown in the diagram below.

RS-485 termination — For long cable runs or buses with multiple devices, mount 120 Ohm resistors at both ends of the RS-485 line. TapHome Core has a built-in termination resistor on its BUS terminals, so only the far end of the line needs an external resistor.
Technical specifications
- Communication module: BRDG-02R13 (plugs into VMD control board)
- Protocol: Modbus RTU Slave
- Physical layer: RS-485
- Baud rate: 19200 (default)
- Parity: Even
- Data bits: 8
- Stop bit: 1
- Default Slave ID: 2
- Modbus functions: 03 (Read Holding Registers), 16 (Write Multiple Registers)
Configuration
Pairing the BRDG-02R13 module
Before the communication module can be used, it must be paired with the recuperator. The pairing procedure uses Modbus address 207:
- Power off the recuperator, then power it on — the unit enters binding mode for 10 minutes
- Write value
0xC84F0001to registers 43000–43001 - Write value
0x0203to register 43004 - Read register 43900 — value should be 2
- Read register 43901 — value should be 1
After successful pairing, power off the recuperator and restart it. Data will be read automatically once the fans start up.
The pairing procedure requires a Modbus master tool (e.g., Modbus Poll) to write the pairing registers. After pairing is complete, TapHome can communicate with the module at the standard address.
Slave ID and communication parameters
The default Slave ID is 2 and the default baud rate is 19200 with Even parity and 1 stop bit.
Slave ID mismatch — The TapHome XML template defaults to Slave ID 1 during import. The official Alnor manual states the default Slave ID is 2. When importing the template in TapHome, change the Slave ID parameter to 2 (or to match your configuration).
Communication parameters can be changed via the pairing address (207):
| Parameter | Register | Default | Options |
|---|---|---|---|
| Slave address | 42001 | 207 (RS-485) | 1–207 |
| Baud rate | 42000 | 6 (19200) | 0=300 … 5=9600, 6=19200, 7=38400 … 9=115200 |
| Parity | 41998 | 2 (Even) | 0=None, 1=Odd, 2=Even |
| Stop bits | 41999 | 0 (1 stop bit) | 0=1, 1=2 |
Device capabilities
Ventilation speed control
Ventilation Speed (H:41500) is the primary control device — a multi-value switch with seven modes:
- Off (0) — ventilation stopped
- Away (1) — minimum speed for unoccupied rooms
- Low (2) — speed 1
- Nominal (3) — speed 2, standard operation
- High (4) — speed 3
- Auto (5) — automatic speed based on sensor readings
- Boost (7) — maximum speed for rapid air exchange
The read value reflects the BRDG internal state, which may differ from the actual fan value during speed transitions.
Fan speed monitoring
Two read-only sensors show the actual fan output as a percentage:
- Exhaust Fan Speed (H:41001) — exhaust fan output, reported on a 0–200 scale (divided by 200 to get percentage)
- Inlet Fan Speed (H:41002) — supply fan output, same 0–200 scale
A value of 0xFF indicates the sensor is not available.
Temperature monitoring
The template provides four temperature sensors, all using LittleEndianFloat across two registers:
- Indoor Temperature (H:41005) — room temperature measured by the recuperator’s indoor sensor; also reads Indoor Humidity from H:42001, with error codes above 100% clamped to 0
- Outdoor Temperature (H:41007) — outside air temperature
- Supply Temperature (H:41011) — fresh air temperature after heat exchange, supplied to rooms
- Exhaust Temperature (H:41009) — air temperature leaving the heat exchanger
A value of NaN indicates no temperature available. Values below -273°C indicate a sensor problem.
Pre-heater control
- Pre-heater (H:41013) — read-only percentage showing current pre-heater output (0% = off, 100% = maximum)
- Pre-heater Setpoint (H:41011 read / H:42011 write) — thermostat device that reads the current supply temperature and allows setting the room temperature heating setpoint (0–30°C)
Bypass monitoring and control
- Bypass Position (H:41016) — read-only percentage showing the bypass damper position (0% = closed, 100% = open). Values above 120% indicate an error.
- Bypass Auto (H:41550) — switch showing the bypass automatic mode state. The module-level write script controls bypass operation: when set to ON, writes
0xFF(auto mode); when set to OFF, writes the manual level value. - Bypass Speed — dimmer device for manual bypass speed override (placeholder in current template)
Fault monitoring
Fault Status (H:40103) reports the fan health: 0 = fan OK, 1 = fan failure. This appears as a binary contact sensor in TapHome.
Service diagnostics
The module exposes additional service attributes for monitoring:
- RF Communication Status (H:40101) — 0 = no error, 1 = no communication for 30+ minutes
- Battery Status (H:40102) — 0xFFFF indicates no battery
- Actual Ventilation Speed (H:41000) — raw ventilation speed value including override states (11–13 = temporary override, 22 = away, 23 = boost, 24 = auto)
- Error Code (H:41003) — detailed error code (0 = no fault, 1–8 = specific errors, 254 = binding mode, 255 = identification)
- Override Time Remaining (H:41004) — minutes remaining for temporary speed override
- Filter Dirty (H:41014) — 0 = filter OK, 1 = filter needs replacement
- Defrost (H:41015) — 0 = inactive, 1 = defrost cycle active
The module also provides a Reset Air Filter Timer service action that writes value 0 to register H:42000 to reset the filter maintenance countdown.
Additional capabilities
The HRU-PremAIR also exposes registers for individual fan speed configuration (supply and exhaust percentages for each speed level), frost protection pre-heater setpoint, room temperature cooling offset, fireplace demand duration, and post heater/cooler settings on the VMD-02RPS66 and VMD-02RPS78 models. The advanced models also support full time schedule programming via registers 49000–49062 with switch points, day-of-week scheduling, and sensor-based auto control (RH, CO2, VOC, temperature). These can be added in a future template update.
The community alnor-sdk Python SDK defines additional registers not in the official manual — supply/exhaust flow in m3/h (41019/41021), filter days remaining (41040), pre-heater availability (41027), and bypass mode status (41050). These may work on newer firmware versions and could be added as custom Modbus devices in TapHome.
Troubleshooting
No Modbus communication
- Check the Slave ID — the default is 2, not 1. Verify the TapHome module is configured with the correct Slave ID
- Confirm TapHome RS-485 settings: 19200 baud, Even parity, 8 data bits, 1 stop bit
- Verify the BRDG-02R13 module is properly paired (see pairing procedure above)
- Check RS-485 cable connections — ensure A/B polarity is correct
- For long cable runs, verify 120 Ohm termination resistors are installed
Communication errors after power cycle
After a power cycle, the recuperator enters binding mode for 10 minutes. During this time, normal Modbus communication may not work at the standard address. Wait for the binding mode to expire.
Humidity reading shows 0%
The Indoor Humidity register (H:42001) returns error codes above 100% (0xEF–0xFF) when the sensor is unavailable, shorted, or out of range. The template clamps these error values to 0. Check the physical humidity sensor connection if readings are consistently 0%.
Filter alarm
When the Filter Dirty service attribute shows 1, the air filters need replacement. After replacing the filters, use the Reset Air Filter Timer service action in TapHome to clear the alarm and reset the maintenance countdown.
