---
title: "Alnor HRU-PremAIR"
description: "Alnor HRU-PremAIR heat recovery ventilation unit with Modbus RTU control via BRDG-02R13 communication module."
url: "https://taphome.com/en/compatibility/alnor-hru-premair/"
language: en
lastmod: 2026-03-21
generator: hugo
ai:
  topics: ["modbus-rtu","air-recovery","rs485","heat-recovery","ventilation","humidity"]
  questions: ["How to integrate Alnor HRU-PremAIR with TapHome?","What does the Alnor HRU-PremAIR TapHome template control?","How to connect Alnor HRU-PremAIR via RS-485 to TapHome?","How to pair the BRDG-02R13 Modbus communication module?","What is the default Modbus slave address for Alnor HRU-PremAIR?","How to monitor indoor humidity with Alnor HRU-PremAIR and TapHome?"]
---

# Alnor HRU-PremAIR

Communication: Modbus RTU

- [Alnor Official Website](https://www.alnor.com.pl)

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.

![Alnor HRQ-Modbus RS-485 termination resistor mounting diagram](https://taphome.com/images/compatibility/alnor-hru-premair/wiring-diagram-p006_hu_5c68d4096c155b70.jpg)

> [!WARNING]
> **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**:

1. **Power off** the recuperator, then **power it on** — the unit enters binding mode for 10 minutes
2. Write value `0xC84F0001` to registers **43000–43001**
3. Write value `0x0203` to register **43004**
4. Read register **43900** — value should be **2**
5. 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.

> [!NOTE]
> 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**.

> [!WARNING]
> **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.

> [!TIP]
> 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

1. **Check the Slave ID** — the default is **2**, not 1. Verify the TapHome module is configured with the correct Slave ID
2. Confirm TapHome RS-485 settings: **19200 baud, Even parity, 8 data bits, 1 stop bit**
3. Verify the BRDG-02R13 module is properly paired (see pairing procedure above)
4. Check RS-485 cable connections — ensure A/B polarity is correct
5. 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.

## Available devices

Alnor HRU-PremAIR Module

Exhaust Fan Speed Variable Read-only

Exhaust fan output as percentage — 0% stopped, 100% maximum speed

Register: H:41001 Int16 Unit: % numeric

Inlet Fan Speed Variable Read-only

Supply fan output as percentage — 0% stopped, 100% maximum speed

Register: H:41002 Int16 Unit: % numeric

Bypass Auto Switch Read-only

Bypass automatic mode — ON enables automatic bypass control, OFF allows manual override

Register: H:41550 Int16 boolean-threshold

Values / States: ON · OFF

Bypass Position Variable Read-only

Bypass damper position — 0% closed, 100% open; values above 120% indicate error

Register: H:41016 Int16 Unit: % numeric

Bypass Speed Dimmer

Exhaust Temperature Temperature Sensor Read-only

Register: H:41009 LittleEndianFloat Unit: °C numeric

Fault Status Reed Contact Read-only

Fan health indicator — 0 means OK, 1 means fan failure

Register: H:40103 Bool

Indoor Temperature Temperature Sensor Read-only

Register: H:41005 LittleEndianFloat Unit: °C numeric

Outdoor Temperature Temperature Sensor Read-only

Register: H:41007 LittleEndianFloat Unit: °C numeric

Pre-heater Variable Read-only

Pre-heater output level — 0% off, 100% maximum heating

Register: H:41013 Int16 Unit: % numeric

Pre-heater Setpoint Thermostat

Room temperature heating thermostat — reads supply temperature, writes heating setpoint (0–30°C)

Register: H:41011 → H:42011 LittleEndianFloat Unit: °C numeric

Supply Temperature Temperature Sensor Read-only

Fresh air temperature after heat exchange, supplied to rooms

Register: H:41011 LittleEndianFloat Unit: °C numeric

Ventilation Speed Multi-value Switch

Ventilation speed selector — Off, Away, Low, Nominal, High, Auto, Boost

Register: H:41500 Int16 multi-value

Values / States: Off · Away · Low · Nominal · High · Auto · Boost

**Connection:** Modbus RTU • 19200 baud• 8E1 • Slave ID: $\[SlaveId]

Possible improvements (23)

- H:42002 Standby Speed Supply — RW, 0–40%, fan standby speed setting
- H:42003 Low Speed Supply — RW, 0–80%, low speed supply fan setting
- H:42004 Low Speed Exhaust — RW, 0–80%, low speed exhaust fan setting
- H:42005 Medium Speed Supply — RW, 0–100%, medium speed supply fan setting
- H:42006 Medium Speed Exhaust — RW, 10–100%, medium speed exhaust fan setting
- H:42007 High Speed Supply — RW, 0–100%, high speed supply fan setting
- H:42008 High Speed Exhaust — RW, 10–100%, high speed exhaust fan setting
- H:42009 Frost Protection Pre-heater Setpoint — RW, FLOAT, -20–50°C, frost protection threshold
- H:42013 Room Temperature Heating Setpoint (duplicate) — RW, FLOAT, 0–30°C, same as 42011 but second instance
- H:42015 Room Temperature Cooling Offset — RW, FLOAT, 1–10 K, cooling hysteresis
- H:42017 Post Heater/Cooler Supply Heating Setpoint — RW, SINT8, -20–50°C, VMD-02RPS66/78 only
- H:42018 Post Heater/Cooler Supply Cooling Offset — RW, UINT8, 0–10 K, VMD-02RPS66/78 only
- H:42019 Maximum Constant Pressure — RW, UINT16, 0–500 Pa, VMD-02RPS66/78 only
- H:42020 Fireplace Demand Duration — RW, UINT16, 0–60000 sec
- H:41501 Override Time Speed 1 — W, UINT8, max 18h, triggers temporary speed 1 override
- H:41502 Override Time Speed 2 — W, UINT16, max 18h, triggers temporary speed 2 override
- H:41503 Override Time Speed 3 — W, UINT16, max 18h, triggers temporary speed 3 override
- H:49000–49062 Time Schedule Registers — Full time schedule programming — VMD-02RPS66/78 only; includes switch points, day-of-week, modes
- H:41019 Supply Fan Speed (m3/h) — Flow rate in m3/h — SDK-only register, may require newer firmware
- H:41021 Exhaust Fan Speed (m3/h) — Flow rate in m3/h — SDK-only register, may require newer firmware
- H:41027 Preheater Available — Pre-heater presence flag — SDK-only register
- H:41040 Air Filter Days Remaining — Filter maintenance countdown — SDK-only register
- H:41050 Bypass Mode Status — Current bypass mode — SDK-only register

## Sources

- Alnor HRQ-Modbus User's Manual — Modbus Communication Protocol for HRU-PremAIR
  
  [www.alnor.com.pl](https://www.alnor.com.pl/assets/files/instrukcje-obslugi/Instrukcja-modbus-PremAIR-PL-EN.pdf) 2026-03-21
  
  [PDF](https://taphome.com/compatibility/devices/alnor-hru-premair/manufacturer/modbus-manual.pdf)
- alnor-sdk — Python SDK for Alnor Ventilation Devices
  
  [github.com](https://github.com/nashant/alnor-sdk) 2026-03-21

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

