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 heating devices (CMD_WRITE_PRIVATE 0x20). More...

#include "esphome/components/climate/climate.h"
#include "esphome/core/component.h"
#include "platform_entity_base.h"
#include "proto_heating.h"
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 heating devices (CMD_WRITE_PRIVATE 0x20).

Maps Home Assistant climate semantics (HVAC mode, target temperature, presets) onto the six 2W heating functions in proto_heating.h, transmitting through the hub's single shared heating send path (IOHomeControlComponent::send_heating_command()). Both this entity and the heating_control hub action use that one path.

Write-only state: the set_* functions are write-only — nothing decodes what the radiator actually did into this entity. (power_on and midnight_sync are register reads; their 0x21 ACK payload is logged at DEBUG but not decoded into any field.) The entity publishes only what it has just successfully sent ("last commanded, never confirmed") and never at request time; there is no status poll and no current temperature. It deliberately does NOT use the OptimisticState overlay (ADR 0030) — that machinery keeps a prediction apart from a competing observation, and heating has no observation stream for it to sit against.

Warning
Unvalidated on hardware. The protocol is derived from the iohomecontrol project's Cozytouch support (Atlantic / Thermor / Sauter radiators); no such device has ever been exercised. See docs/home_io_control.md's experimental banner.

Definition in file platform_climate.h.