|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
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>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 |
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).
Definition in file platform_climate.h.