A Home Assistant integration for Nilan and Genvex ventilation units, through the Nilan gateway on your own network - no cloud.
| Controller | Tested on a real unit |
|---|---|
| Nilan CTS400 | yes |
| Genvex Optima 270 | its addresses were read on a unit; not tested with this integration |
| Nilan CTS602, including Geo, and CTS602 Light | no |
| Genvex Optima 250, 251, 260, 301, 312, 314 | no |
Every unit gets an entity for each value it has: temperatures, humidity, fans, heating, hot water, central heating and heat pump, its alarms and operating states - named, in English and Danish - and its settings. The thermostat shows the unit's fan level and target temperature, and turns it on and off where the unit's on/off setting is known.
Some entities of units other than the CTS400 have an address estimated from Nilan's manual, never checked on a real unit. They are hidden unless you choose to see them: Settings > Devices & services > Nilan Connect > Configure > Show estimated, untested entities. They may show wrong values, and changing one may change a different setting; please report what your unit shows in an issue.
Through HACS, as a custom repository.
Settings > Devices & services > Add integration > Nilan Connect. Either let it find the gateway on the network, or enter the gateway's address.
- Name: every entity id of the unit starts with it, and it stays when the unit is replaced. Give several units different names, such as Upstairs.
- Email: the email of the account the gateway is paired with in Nilan's app.
- Address: when you enter it, give the gateway a fixed address in your router. A gateway whose id is known is found again on the network when its address changes.
The address, port and email can be changed later: the entry's menu > Reconfigure.
Temperatures, humidity, CO2 and VOC, fan speeds and level, filter status and timers, alarm status and codes, bypass, de-icing and winter mode; a thermostat that turns the unit on and off, sets its fan level and the room temperature it aims for; the settings Nilan's manual lists, as numbers; and buttons to reset the alarm and the filter timer. The heat recovery efficiency is worked out from the outdoor, supply and extract air temperatures.
The library reads each value at its own rate, and only what an enabled entity shows; a setting is read again after it is written.
- The alarm code entities read the registers Nilan's manual names. On a CTS400 with its filter alarm active they read 0; what they show for other alarms is not known yet.
- The email is refused: use the email of the app account the gateway is paired with. It is tried as entered and in lower case.
- No gateway is found: discovery is a broadcast on the local network. Enter the gateway's address instead.
- The diagnostics, downloaded from the integration's entry, hold every value without the email or where the gateway is.
Settings > Devices & services > Nilan Connect > the three dots > Delete; then remove it in HACS.
MIT - see LICENSE.