Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
platform_climate.h File Reference

Experimental climate entity for IO-Homecontrol heaters, driven by a heating profile. More...

#include "esphome/components/climate/climate.h"
#include "esphome/core/component.h"
#include "platform_entity_base.h"
#include "proto_heating.h"
#include "proto_heating_profiles.h"
#include <vector>
Include dependency graph for platform_climate.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  esphome::home_io_control::IOHomeClimate
 Climate entity for IO-Homecontrol heating devices. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Detailed Description

Experimental climate entity for IO-Homecontrol heaters, driven by a heating profile.

Maps Home Assistant climate semantics (HVAC mode, target temperature, presets) onto the device's heating profile (proto_heating_profiles.h). The profile says what the card offers and how each choice reaches the device: as private registers (proto_heating.h, sent through IOHomeControlComponent::send_heating_command() and read_heating_register()) or as a heating level in the standard EXECUTE (IOHomeControlComponent::set_heating_level()). This class has no per-device-type branch; the heating_control hub action shares the register send path.

State is observed, not predicted. The hub polls the heater (default every 5 minutes) and this entity publishes from IoDevice::heating, which only a decoded reply changes. After an accepted register write the register is read back; after a level write the hub's settle poll reads the level. Until the first read succeeds the entity shows the last commanded mode, setpoint or preset, and nothing else. The entity deliberately does NOT use the OptimisticState overlay (ADR 0030) — there is never a prediction to keep apart from an observation (ADR 0054, ADR 0055).

The register path is confirmed on an Atlantic AGILIA IO radiator: setpoint and mode writes, their read-back, and the poll's room temperature and regulator readings (issue #165, corpus tests/corpus/captures/exchange/atlantic_agilia_exchange_status_read.yaml).

Todo
The heating-level and temperature EXECUTE paths are unconfirmed on hardware; confirm with a capture from a plain heater, a heating temperature interface or a heat pump.
Warning
The EXECUTE-commanded profiles are unvalidated on hardware. See docs/configuration/climate.md.

Definition in file platform_climate.h.