---
title: "Pichler LG 350 Airvent"
description: "Ventilation control, thermostat, 9 temperature sensors, CO2/humidity monitoring, airflow and bypass via Modbus RTU. Pichler LG 350/LG 450."
url: "https://taphome.com/en/compatibility/pichler-lg-350-airvent/"
language: en
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","air-recovery","rs485","heat-recovery-ventilation","passive-house","demand-ventilation"]
  questions: ["How to integrate Pichler LG 350 with TapHome?","What does the Pichler LG 350 TapHome template control?","How to connect Pichler LG 350 via RS-485 to TapHome?","How to configure the Modbus slave ID on Pichler LG 350?","What temperature sensors does the Pichler LG 350 template provide?","How to set up CO2-based demand ventilation with Pichler LG 350 and TapHome?"]
---

# Pichler LG 350 Airvent

Communication: Modbus RTU

- [Pichler Official Website](https://www.pichlerluft.at)

## Integration guide

The Pichler LG 350 and LG 450 are compact ventilation units with counterflow heat recovery (over 90% efficiency), designed for controlled mechanical ventilation of residential buildings and offices. TapHome connects via Modbus RTU over RS-485 to the L11 connector on the unit's control PCB, using the TapHome Modbus Gateway.

The template provides 27 devices covering ventilation stage control, supply air thermostat (10--30 °C), bypass damper control, temperature monitoring from 9 NTC sensors, CO2 and humidity sensor inputs for demand-controlled ventilation, airflow measurement, and filter operating hours.

## Hardware connection

### Unit component layout

![Pichler LG 350 internal component layout — top view with numbered components](https://taphome.com/images/compatibility/pichler-lg-350-airvent/unit-layout_hu_384e8859b3a24ed3.jpg)

1. Supply air inlet (SUP) — connecting piece for the supply air duct, processed fresh air enters the rooms
2. Extract air outlet (ETA) — connecting piece for the extract air duct, used air is transported from rooms
3. Outdoor air connector (ODA) — connecting piece for the outdoor air duct, unprocessed outdoor air enters the unit
4. Exhaust air connector (EHA) — connecting piece for the exhaust air duct, used air exits to the outside
5. Counterflow heat exchanger (enthalpy exchanger) — transfers heat from the warm extract air to the cold outdoor air
6. Exhaust air fan
7. Supply air fan
8. Controller — internally powered controller with control unit, LAN cable, and optional external components (sensors, pumps, valves)
9. Bypass flap with actuator — bypasses the heat exchanger when outdoor temperature is suitable
10. Outdoor air filter
11. Extract air filter
12. Condensate tray
13. Cable feed-throughs — for connecting optional external system accessories (temperature sensors, etc.)

### Control PCB connector layout

![Pichler LG 350 control PCB connector layout showing L1-L14 and H1-H13 connectors](https://taphome.com/images/compatibility/pichler-lg-350-airvent/pcb-connector_hu_e41b5fb073bbaf62.jpg)

The control PCB is located in the top right half of the unit, accessible by opening the front panel. The Modbus RS-485 connection uses the **L11** connector on the lower left side of the PCB.

### RS-485 wiring (L11 connector)

Connect using a 3-wire RS-485 connection to the L11 terminal block:

- **A** (pin 1) -- A+ on TapHome Modbus Gateway
- **B** (pin 2) -- B- on TapHome Modbus Gateway
- **GND** (pin 3) -- GND on TapHome Modbus Gateway

> [!WARNING]
> The GND wire **must** be connected between the Pichler unit and the TapHome Modbus Gateway. Without proper grounding, communication errors will occur.

### External inputs wiring

![Pichler LG 350 external inputs wiring diagram showing L4/L5 connector with Di1, Di2, Di3 and sensor inputs](https://taphome.com/images/compatibility/pichler-lg-350-airvent/external-inputs_hu_452f86d7959e6035.jpg)

The L4/L5 connector provides digital inputs (Di1 for external off, Di2 for fireplace interlock, Di3 for frost protection) and the S1/S2 analog sensor inputs (0--10 V) used for CO2 and humidity sensors.

## Configuration

### Modbus communication parameters

The Pichler LG 350/LG 450 uses the following Modbus RTU settings:

| Parameter | Value |
|-----------|-------|
| **Baud rate** | 19200 |
| **Data bits** | 8 |
| **Parity** | Even |
| **Stop bits** | 1 |
| **Default Slave ID** | 1 |

> [!TIP]
> The Slave ID is configurable via the TOUCH control unit service menu or PC software. Community configurations commonly use Slave ID 20. Ensure the Slave ID in TapHome matches the value configured on the unit.

### Configuring Modbus via TOUCH control unit

1. Press and hold the **Menu** button for at least 5 seconds
2. Enter the service password (default: **0000**)
3. The service menu is indicated by an **S** in the top-left corner of the display
4. Navigate to **Settings** and locate the Modbus communication parameters
5. Set the Slave ID, baud rate (19200), and parity (Even) as needed
6. Save and restart the unit if required

## Device capabilities

### Ventilation mode control

The **Ventilation Mode** device (H:2) controls the fan stage as a multi-value switch. The unit supports Off, Stage 1 through Stage 4, and basic ventilation modes. Stage airflow setpoints are configurable via three dedicated **Air Level** devices (H:9, H:10, H:11) that set the target airflow in m3/h (range 50--350 m3/h, adjustable in 5 m3/h steps). A fourth device, **Basic Ventilation** (H:12), sets the airflow for continuous low-level ventilation.

> [!NOTE]
> The XML template uses a non-sequential value mapping for ventilation stages: value 0 = Off, value 1 = Stage 2, value 2 = Stage 3, value 3 = Stage 4, value 4 = Stage 1. This differs from the sequential mapping used in some community configurations.

### Temperature monitoring

The template provides 9 temperature sensors monitoring different points in the ventilation system:

| Sensor | Register | Location |
|--------|----------|----------|
| **NTC T1 Fresh Air** | A:29 | Outdoor air intake (raw value, no scaling) |
| **Outdoor Air Intake Temperature** | A:30 | Outdoor air after filter, before heat exchanger |
| **Exhaust Air Temperature** | A:31 | Cooled air after heat exchanger, expelled outdoors |
| **Extract Air Temperature** | A:32 | Warm used air drawn from living spaces |
| **Supply Air Temperature** | A:33 | Fresh air after heat recovery, delivered to rooms |
| **NTC T6 External Supply Air** | A:4 | After optional external re-heating/cooling battery |
| **NTC T7 Exterior Temperature** | A:5 | External ambient temperature |
| **NTC T8 Room External** | A:9 | Room temperature from TOUCH control unit |

An additional room temperature sensor, **NTC T9 Room Temperature** (A:10), provides a second measurement point.

Most temperature sensors use the conversion formula `(raw - 1000) / 10 = °C`. The exception is **NTC T1 Fresh Air** (A:29), which uses the raw value directly.

### Thermostat

The **Air Supply Thermostat** (A:32 read / H:22 write) controls the supply air temperature setpoint in the range 10--30 °C. The current temperature is read from the extract air sensor (A:32), and the desired temperature is written to register H:22 using the encoding `value × 10 + 1000`.

A companion **Thermostat Setpoint Variable** (H:22) provides the raw register value for diagnostics.

### Bypass damper control

The **Allow Bypass** device (H:1) controls the heat exchanger bypass as a switch. When set to ON (value 1), the bypass is allowed (summer mode) -- fresh outdoor air bypasses the heat exchanger when outdoor temperature is suitable. When set to OFF (value 2), the bypass is denied (winter mode) -- all air passes through the heat exchanger for maximum heat recovery.

### CO2 and humidity monitoring

The template reads two CO2 sensors (**CO2 Sensor 1** at A:88 and **CO2 Sensor 2** at A:89, in ppm) and two humidity sensors (**Humidity Sensor 1** at A:90 and **Humidity Sensor 2** at A:91, in %RH) connected to the 0--10 V analog inputs S1 and S2 on the L4/L5 connector. These are used for demand-controlled ventilation -- the unit automatically adjusts fan speed based on CO2 concentration or humidity level.

The **CO2 Regulation Output** (A:55) shows the controller's regulation output value as a percentage.

### Airflow measurement

Two sensors monitor the actual air volume flow:

- **Supply Air Volume Flow** (A:45) -- measured supply airflow in m3/h
- **Exhaust Air Volume Flow** (A:46) -- measured exhaust airflow in m3/h

### Service counters

- **Filter Timer** (A:49) -- operating hours since last filter change
- **Bypass Operating Hours** (A:86) -- cumulative hours the bypass damper has been open
- **Room Temperature Level** (A:98) -- controller-internal regulation level indicator

## Troubleshooting

### No Modbus communication

1. **Check RS-485 wiring on L11 connector** -- verify A, B, and GND are correctly connected to the TapHome Modbus Gateway
2. **Verify communication parameters** -- the unit defaults to 19200 baud, Even parity, 8 data bits, 1 stop bit. Ensure TapHome Modbus Gateway matches these settings exactly
3. **Confirm Slave ID** -- the default is 1, but the unit may be configured to a different address (commonly 20). Check via the TOUCH control unit service menu
4. **Check termination** -- for long RS-485 buses, ensure proper bus termination at both ends

### Temperature readings show incorrect values

- Most temperature sensors use the conversion `(raw - 1000) / 10`. If values appear offset, verify that TapHome is applying the correct conversion formula
- **NTC T1 Fresh Air** (A:29) uses the raw value directly, unlike all other temperature sensors. An unusually high reading on this sensor is expected (raw Celsius without scaling)

### CO2 or humidity sensors not responding

- Verify that external 0--10 V sensors are connected to the S1 and S2 inputs on the L4/L5 connector
- Check that the sensor power supply is correct (sensors require separate power)
- The CO2/humidity values will read 0 if no external sensor is connected -- this is expected behavior

## Available devices 27

These devices appear in TapHome after import.

Pichler LG-350 Airvent Module

Air Level 1 Variable Read and write

Airflow setpoint for ventilation stage 1 — adjustable in 5 m3/h steps (50–350 m3/h)

Register: H:9 Int16 Unit: m3/h numeric

Read

```taphome
MODBUSR(H, 9, Int16)
```

Write

```taphome
MODBUSW(H, 9, Int16, Va)
```

Air Level 2 Variable Read and write

Airflow setpoint for ventilation stage 2 — adjustable in 5 m3/h steps (50–350 m3/h)

Register: H:10 Int16 Unit: m3/h numeric

Read

```taphome
MODBUSR(H, 10, Int16)
```

Write

```taphome
MODBUSW(H, 10, Int16, Va)
```

Air Level 3 Variable Read and write

Airflow setpoint for ventilation stage 3 — adjustable in 5 m3/h steps (50–350 m3/h)

Register: H:11 Int16 Unit: m3/h numeric

Read

```taphome
MODBUSR(H, 11, Int16)
```

Write

```taphome
MODBUSW(H, 11, Int16, Va)
```

Air Supply Thermostat Thermostat Read and write

Supply air temperature control — reads extract air temperature, setpoint range 10–30 °C

Register: A:32 → H:22 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 32, Int16))-1000)/10
```

Read desired temperature

```taphome
((MODBUSR(H, 22, Int16)-1000))/10
```

Write desired temperature

```taphome
MODBUSW(H, 22, Int16, Se*10 +1000)
```

Allow Bypass Switch Read and write

Heat exchanger bypass control — ON allows bypass (summer mode), OFF denies bypass (winter mode)

Register: H:1 Int16

Values / States: ON · OFF

Read switch state

```taphome
var bypassMode := MODBUSR(H, 1, Int16);
var allowBypass := NaN;

if bypassMode = 1
    allowBypass := 1;
elseif bypassMode = 2
    allowBypass := 0;
end

return(allowBypass);
```

Write switch state

```taphome
var allowBypass := St = 1;
var bypassMode := IF(allowBypass, 1, 2);
MODBUSW(H, 1, Int16, bypassMode)
```

Basic Ventilation Variable Read and write

Airflow setpoint for continuous low-level ventilation mode

Register: H:12 Int16 Unit: m3/h numeric

Read

```taphome
MODBUSR(H, 12, Int16)
```

Write

```taphome
MODBUSW(H, 12, Int16, Va)
```

CO2 Regulation Output Variable Read-only

Controller regulation output for CO2-based demand ventilation

Register: A:55 Int16 Unit: % numeric

Read

```taphome
((MODBUSR(A, 55, Int16))-1000)/10
```

CO2 Sensor 1 Variable Read-only

CO2 concentration from external 0–10 V sensor on S1 input

Register: A:88 Int16 Unit: ppm numeric

Read

```taphome
MODBUSR(A, 88, Int16)
```

CO2 Sensor 2 Variable Read-only

CO2 concentration from external 0–10 V sensor on S2 input

Register: A:89 Int16 Unit: ppm numeric

Read

```taphome
MODBUSR(A, 89, Int16)
```

Exhaust Air Volume Flow Variable Read-only

Register: A:46 Int16 Unit: m3/h numeric

Read

```taphome
MODBUSR(A, 46, Int16)
```

Filter Timer Variable Read-only

Operating hours since last filter change

Register: A:49 Int16 Unit: h numeric

Read

```taphome
MODBUSR(A, 49, Int16)
```

Bypass Operating Hours Variable Read-only

Cumulative hours the bypass damper has been open

Register: A:86 Int16 Unit: h numeric

Read

```taphome
MODBUSR(A, 86, Int16)
```

Humidity Sensor 1 Variable Read-only

Relative humidity from external 0–10 V sensor on S1 input

Register: A:90 Int16 Unit: %RH numeric

Read

```taphome
MODBUSR(A, 90, Int16)
```

Humidity Sensor 2 Variable Read-only

Relative humidity from external 0–10 V sensor on S2 input

Register: A:91 Int16 Unit: %RH numeric

Read

```taphome
MODBUSR(A, 91, Int16)
```

NTC T1 Fresh Air Temperature Sensor Read-only

Outdoor air intake temperature — raw value without scaling, unlike other temperature sensors

Register: A:29 Int16 Unit: C numeric

Read temperature

```taphome
MODBUSR(A, 29, Int16)
```

NTC T6 External Supply Air Temperature Sensor Read-only

Temperature after optional external re-heating or cooling battery

Register: A:4 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 4, Int16))-1000)/10
```

NTC T7 Exterior Temperature Temperature Sensor Read-only

Register: A:5 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 5, Int16))-1000)/10
```

NTC T8 Room External Temperature Sensor Read-only

Room temperature from TOUCH control unit or external room sensor

Register: A:9 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 9, Int16))-1000)/10
```

NTC T9 Room Temperature Temperature Sensor Read-only

Register: A:10 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 10, Int16))-1000)/10
```

Extract Air Temperature Temperature Sensor Read-only

Temperature of warm used air drawn from living spaces before heat exchanger

Register: A:32 Int16 Unit: C numeric

Read temperature

```taphome
(MODBUSR(A, 32, Int16)-1000)/10
```

Supply Air Temperature Temperature Sensor Read-only

Temperature of fresh air delivered to rooms after heat recovery

Register: A:33 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 33, Int16))-1000)/10
```

Outdoor Air Intake Temperature Temperature Sensor Read-only

Outdoor air temperature at unit intake, after filter and before heat exchanger

Register: A:30 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 30, Int16))-1000)/10
```

Exhaust Air Temperature Temperature Sensor Read-only

Temperature of air expelled outdoors after heat recovery

Register: A:31 Int16 Unit: C numeric

Read temperature

```taphome
((MODBUSR(A, 31, Int16))-1000)/10
```

Ventilation Mode Multi-value Switch Read and write

Fan stage control — Off, Stage 1 through Stage 4, and basic ventilation

Register: H:2 Int16 numeric

Values / States: Vypnuto · Stupeň 2 · Stupeň 3 · Stupeň 4 · Stupeň 1

Read switch state

```taphome
MODBUSR(H, 2, Int16)
```

Write switch state

```taphome
MODBUSW(H, 2, Int16, Mu)
```

Room Temperature Level Variable Read-only

Controller-internal room temperature regulation level

Register: A:98 Int16 numeric

Read

```taphome
MODBUSR(A, 98, Int16)
```

Supply Air Volume Flow Variable Read-only

Register: A:45 Int16 Unit: m3/h numeric

Read

```taphome
MODBUSR(A, 45, Int16)
```

Thermostat Setpoint Variable Variable Read-only

Raw thermostat setpoint register value for diagnostics

Register: H:22 Int16 numeric

Read

```taphome
MODBUSR(H, 22, Int16)
```

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

Possible improvements (9)

- A:34 Outdoor Air Temperature After VHR — Temperature after pre-heater battery (VHR). Int16, (raw-1000)/10 = C. Only relevant for V variants with pre-heater
- A:39 Supply Air Fan Speed — Supply air fan speed in rpm. Direct value, no scaling
- A:40 Exhaust Air Fan Speed — Exhaust air fan speed in rpm. Direct value, no scaling
- A:48 Operating Status — 0=Startup, 1=Standby, 2=Run-up, 3=Operation, 4=Run-down, 5=Standby, 6=Test mode
- A:50 Filter Remaining Time — Remaining filter life in hours. UInt16, direct value. Complement to A:49 (filter timer)
- H:49 Bypass Damper Control — 0=Normal (auto), 1=Off/Closed, 2=On/Open. Direct bypass damper position control — more granular than H:1 summer/winter
- H:83 Exhaust Air Difference Level 1 — Exhaust airflow offset for stage 1 in m3/h. Raw value minus 500 = actual offset. Discovered by HA community
- H:84 Exhaust Air Difference Level 2 — Exhaust airflow offset for stage 2 in m3/h. Raw value minus 500 = actual offset
- H:85 Exhaust Air Difference Level 3 — Exhaust airflow offset for stage 3 in m3/h. Raw value minus 500 = actual offset

## Import parameters

Enter these values when you import the XML.

| Asked in the app | Default       |
|------------------|---------------|
| Slave ID         | `1`           |
| IP address       | `192.168.1.0` |

## Sources

- Pichler LG 350 & LG 450 Operating and Installation Instructions
  
  [www.pichlerluft.de](https://www.pichlerluft.de/decentralized-ventilation-units-for-individual-apartments-es.html?file=files%2Fcontent%2F_ENGLISCH%2FDownload%2Foperating_mounting%20instructions%2F08LG350_450_OperatingInstallationInstructions.pdf) 2026-04-21
  
  [PDF](https://taphome.com/compatibility/devices/pichler-lg-350-airvent/manufacturer/operating-installation-manual.pdf)
- Pichler LG 350 & LG 450 Technical Data Sheet
  
  [www.pichlerluft.at](https://www.pichlerluft.at/files/content/_ENGLISCH/Download/tecnical%20data%20sheet/08LG350_450_TechnicalDataSheet.pdf) 2026-04-21
- Home Assistant Modbus Configuration for Pichler LG350
  
  [gist.github.com](https://gist.github.com/lewurm/6ab5a914209e8a16f4532ccfcd25b865) 2026-04-21
- ESP8266 Modbus RTU to MQTT Gateway for Pichler LG350
  
  [github.com](https://github.com/ThomasRgbg/esp8266-pichler) 2026-04-21

Manufacturer documents are © their respective owners. They are provided as published by the manufacturer, for reference only.

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

