Nilan
veista/nilan · v1.2.28
Nilan integration for Home Assistant
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
switch | Switch or outlet | |
climate | Thermostat | |
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature, humidity, air quality…) | |
water_heater | Water heater (as a thermostat) | |
button | Button (as a switch) | |
select | Mode picker (as switches) |
What people report
Nilan CTS602-based ventilation/heat pump units work over Modbus; maintainer adds new device types quickly when given logs. Old Comfort 300 units with old firmware have little or no support.
- Works3
- Partly works1
- Not working1
- Requested2
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Nilan COMPACTn / Compact P Polar Nordic | Works Local | Device type 30 support mergedSaved copyImplements device-type support for `COMPACTn` (device type ID 30) as discussed in #218. ## Changes 1. Added `30: "COMPACTn"` to `CTS602_DEVICE_TYPES` in `custom_components/nilan/device_map.py`. 2. Added `30` to the `supported_devices` tuples of every entry where device 44 (CompactP AIR/GEO sibling) is present, non-HPS entries and HPS-specific entries alike. (The HPS entries previously only listed `(44,)`, so they were not actually exposed for type 30 before this patch.) 3. Added `CompactP (Polar/Nordic)` to the supported-devices list in `README.md`. ## Testing Patched integration has been … Excerpt saved from GitHub on 2026-10-23. | PR #219 · 2026-05 | |
| Nilan VPL 15 | Works Local | Support added after reportSaved copyDebug log: > 2023-01-10 18:35:09.225 DEBUG (MainThread) [custom_components.nilan.config_flow] Device Type 4 not found in supported devices list Attached is a picture of the plate. Excerpt saved from GitHub on 2026-10-23. | Issue #35 · 2023-01 | |
| Nilan VPM/28EC | Works Local | Support mergedSaved copyAdd support for VPM/28EC Excerpt saved from GitHub on 2026-10-23. | PR #204 · 2026-03 | |
| Nilan VP18cCom | Partly works Local | Initially unsupported; later device-type 11 mapping fix still openSaved copySummary Fixes the entity mapping for device type 11 (`VP 18comp`). On this unit a number of registers return valid values, but no entities are created because `supported_devices` either omits `11` or is set to `(None,)`. All changes are limited to device type 11, no other device type is touched. Verified against a real VP 18 M2 (`Control.Type` = 11, `Bus.Version` = 23, controller software 3.6.64) by reading all 293 registers of the CTS602 / HMI350T Modbus specification v23 with the integration disabled, and cross-checked against the manufacturer documentation for this unit (installation … Excerpt saved from GitHub on 2026-10-23. | PR #238 · 2026-08 | |
| Nilan Comfort 300 (2010, software 2.00) | Not working Local | No entities; old firmware needs Nilan update, little worksSaved copyHi I have an old Nilan Comfort 300 from 2010. On the panel it says software 2.00. I have bought a Waveshare RS485 TO ETH (B) and configuret it. I got the link, and installed the HACS integration, but I don't get any entities is just blank? I have tried to switch A/B on RS485, but then it says unsupported device. So it looks like the connection is there. I have activated debugging, and it can read device type, bus version, but device software is blank ? 2026-03-14 13:51:11.543 DEBUG (MainThread) [custom_components.nilan.device] Setup has started 2026-03-14 13:51:11.653 DEBUG (MainThread) … Excerpt saved from GitHub on 2026-10-23. | Issue #208 · 2026-03 | |
| Nilan CTS400 / ES1077 (Comfort 250 Top) | Requested Local | Different register map; support PR openSaved copyWhy Adds support for the Nilan CTS400 / ES1077 controller (Comfort 250 Top) alongside the existing CTS602 integration. The CTS400 uses a different Modbus register space, cannot be auto-detected (it has no CTS602 `control_type` register at holding 1000), and only supports function codes FC03/FC04/FC06. It therefore can't be added as a small CTS602 "device key" and is wired as a distinct board family. This is ready for review, opened from a fork, and refs discussion #165. It is additive only - no CTS602 behavior changes. ## Provenance and verification - Verified live on a Nilan Comfort 250 Top … Excerpt saved from GitHub on 2026-10-23. | PR #223 · 2026-06 | |
| Nilan CTS602 earth tube preheater | Requested Local | Earth tube support PR openSaved copySummary Adds support for monitoring and controlling an earth tube preheater (puits canadien) connected to a Nilan CTS602 unit (device type 28). - `get_t17_preheater_temperature`, temperature sensor (T17) for the earth tube inlet, mapped to `sensor` entity (already existed in `device.py`, now wired through `device_map` and `sensor`) - `get_preheat_fan_speed`, actual fan speed readback from register `output_pre_heat_cap`, exposed as a `sensor` (%) - `get_preheat_cap` / `set_preheat_cap`, fan capacity setpoint 0–100%, exposed as a `number` slider All entities are scoped to `supported_devices: … Excerpt saved from GitHub on 2026-10-23. | PR #216 · 2026-05 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local polling
Talks to the device on your network, asking it for updates every so often.
Details
| Installs (analytics) | 64 (0.01%) |
|---|---|
| GitHub stars | 81 |
| Latest version | 1.2.28 (2026-07-05) |
| Set up in the UI | Yes |
| Maintainers | @veista |
| License | Apache-2.0 |
Notable forks
Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.
| Fork | Stars | Last push | Description |
|---|---|---|---|
| TheDave35/nilan Newer code | ★ 0 | 2026-10-10 | Nilan integration for Home Assistant |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.
Sources
- Documentation: https://github.com/veista/nilan
- Source code: https://github.com/veista/nilan
- Issues: https://github.com/veista/nilan/issues
- HACS: https://hacs.xyz