Skip to content

Add earth tube (puits canadien) support for CTS602 device 28#216

Open
TheDave35 wants to merge 2 commits into
veista:masterfrom
TheDave35:feature/puits-canadien-earth-tube
Open

Add earth tube (puits canadien) support for CTS602 device 28#216
TheDave35 wants to merge 2 commits into
veista:masterfrom
TheDave35:feature/puits-canadien-earth-tube

Conversation

@TheDave35

Copy link
Copy Markdown
Contributor

Summary

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: (28,).

Test plan

  • Verify T17 temperature sensor appears and updates correctly on a CTS602 device 28 with earth tube
  • Verify preheat_fan_speed sensor reflects the actual output register value
  • Verify preheat_cap slider writes correctly to register output_pre_heat_cap (value × 100)
  • Confirm no regression on other device types (entities should not appear for non-device-28 units)

TheDave35 added 2 commits May 6, 2026 16:44
Adds support for monitoring and controlling the earth tube preheater
(puits canadien) on Nilan CTS602 device type 28:

- get_preheat_fan_speed: reads actual preheat fan speed from register
  output_pre_heat_cap (sensor)
- get_preheat_cap / set_preheat_cap: reads/sets preheat fan capacity
  setpoint 0-100% (number/slider)
- get_t17_preheater_temperature: maps existing device method to a
  temperature sensor (T17)

All three entities are scoped to supported_devices: (28,) with
min_bus_version: 4 (fan speed/cap) and min_bus_version: 1 (T17 temp).
Device type 28 (VP18cCoB) is a VP18 with compressor, functionally
similar to siblings 19/20/21 and 12. It was missing from several
supported_devices tuples:

- get_t4_outlet: sensor exists physically and is readable via Modbus
  register 204, but entity stayed unavailable because 28 was not listed
- get_fan_startup_delay, get_defrost_ventilation_level,
  get_defrost_start_setpoint, get_defrost_stop_setpoint,
  get_minimum_defrost_time: defrost-state and compressor-state already
  include 28, so the corresponding configuration entries should too.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant