VENTS TwinFresh Atmo integration

VENTS TwinFresh Atmo Mini — Local Wi-Fi Integration for Home Assistant

Hi everyone,

I’ve just published a custom integration for the VENTS TwinFresh Atmo Mini Wi-Fi ventilation unit (heat recovery ventilator / recuperator). If you have one of these sitting in your wall talking to the VENTS cloud and you’d rather control it locally — this is for you.


Background

The TwinFresh Atmo Mini is a small wall-mounted heat recovery ventilator. It comes with a Wi-Fi module and an official mobile app, but I wanted full local control through Home Assistant without any cloud dependency.

The device uses the same UDP protocol as other VENTS/Blauberg fans supported by the existing ecovent_v2 integration, but with a couple of important differences that caused me quite a bit of head-scratching:

  • No bulk read support — the device silently ignores requests that ask for all parameters at once. Each parameter must be queried individually. This is why the ecovent_v2 integration connects without errors but returns null values for everything.
  • Write packet encoding — the high byte of the parameter ID must be omitted when it is 0x00. So parameter 0x00b7 (airflow mode) must be encoded as b7, not 00b7. This caused airflow writes to silently fail even after reads were working correctly.
  • unit_type 0x1a00 — not present in the original pyEcoventV2 library’s device table.

What it does

Full local control over UDP with a 30-second polling interval. No external libraries required.

Entities created:

  • :cyclone: Fan entity — on/off, speed (low / medium / high), airflow mode, heat recovery toggle
  • :control_knobs: Select — speed and airflow mode dropdowns (more reliable than the fan slider for 3 discrete speeds)
  • :bar_chart: Sensors — humidity (%), fan RPM, operating hours, filter time remaining, alarm state, firmware version, WiFi IP
  • :bell: Binary sensors — filter replacement required, active alarm, boost mode, cloud connection status
  • :wrench: Switches — enable/disable humidity, relay and analog voltage sensor inputs
  • :1234: Number sliders — humidity threshold, boost duration, analog voltage threshold
  • :radio_button: Buttons — reset filter timer, reset alarms

Phase-pair operation

The Atmo Mini is typically installed in pairs. The two units alternate airflow direction every ~70 seconds to exchange heat while continuously ventilating. Only the primary unit needs to be added to Home Assistant — the secondary follows automatically.


Installation

Manual: copy the twinfresh_atmo folder into config/custom_components/, restart HA, then add via Settings → Devices & Services.

HACS: add the GitHub repo as a custom repository (category: Integration).

You’ll need the device’s local IP and its Device ID, which is visible in the VENTS mobile app under the device list.


GitHub

:link: GitHub - JernejHren/Twinfresh-atmo


Compatibility

Tested on:

  • TwinFresh Atmo Mini Wi-Fi, firmware 1.4 (2024-08-07)