Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
esphome::home_io_control::IOHomeClimate Class Reference

Climate entity for IO-Homecontrol heating devices. More...

#include <platform_climate.h>

Inheritance diagram for esphome::home_io_control::IOHomeClimate:
Collaboration diagram for esphome::home_io_control::IOHomeClimate:

Public Member Functions

void setup () override
 Register the entity with the shared hub (no status poll — heating has no readback).
void dump_config () override
 Dump configuration to the log.
float get_setup_priority () const override
 Get setup priority (DATA).
climate::ClimateTraits traits () override
 Static traits: modes OFF/HEAT/AUTO, presets HOME/AWAY, temperature range HEATING_TEMP_MIN_C..HEATING_TEMP_MAX_C (7.0..28.0 C) at a 0.5 C step.
void control (const climate::ClimateCall &call) override
 Apply a Home Assistant climate control request.
Public Member Functions inherited from esphome::home_io_control::DeviceBoundEntity
void set_parent (IOHomeControlComponent *parent)
 Set the parent controller component.
void set_device_id (const std::string &id)
 Set the unique IO-homecontrol device ID (from YAML).
void set_device_type (DeviceType type)
 Set the declared device type (from YAML).
void set_subtype (uint8_t subtype)
 Set the declared device subtype (from YAML).
void set_optimistic_state (bool optimistic_state)
 Enable or disable optimistic target updates for this device (from YAML).
void set_silent (bool silent)
 Send this device's position moves in "silent operation" mode — the reference hub's slower travel profile.
void set_low_power (bool low_power)
 Mark this device as a low-power / duty-cycled receiver.
void set_status_poll_interval (uint32_t poll_interval_ms)
 Configure bounded follow-up polling while a state change is expected.

Protected Member Functions

void on_device_update_ (const std::string &id, const IoDevice &dev)
 Inbound device-update hook.
bool apply_mode_ (const climate::ClimateCall &call)
 Apply the request's HVAC mode via SET_MODE, if present.
bool apply_custom_preset_ (const climate::ClimateCall &call)
 Apply the "Program" custom preset via SET_MODE(prog), if present.
bool apply_preset_ (const climate::ClimateCall &call)
 Apply a HOME/AWAY preset via SET_PRESENCE, if present.
bool apply_target_temperature_ (const climate::ClimateCall &call)
 Apply the target temperature via SET_TEMPERATURE, if present.
Protected Member Functions inherited from esphome::home_io_control::DeviceBoundEntity
void register_device_binding_ (Component *self, bool inverted, std::function< void(const std::string &, const IoDevice &)> on_update, bool schedule_initial_poll=true)
 Perform the shared setup() registration ritual.
bool passes_binary_update_filter_ (const std::string &id, const IoDevice &dev) const
 Shared inbound-update guard for binary endpoints.
void log_poll_interval_config_ (const char *tag) const
 Emit the shared two-branch poll-interval line for dump_config().

Additional Inherited Members

Protected Attributes inherited from esphome::home_io_control::DeviceBoundEntity
IOHomeControlComponentparent_ {nullptr}
std::string device_id_
DeviceType device_type_ {DeviceType::UNKNOWN}
uint8_t subtype_ {0}
uint32_t status_poll_interval_ms_ {0}
bool optimistic_state_ {true}
bool silent_ {false}
bool low_power_ {false}

Detailed Description

Climate entity for IO-Homecontrol heating devices.

The device-binding setters and setup() registration ritual come from DeviceBoundEntity; the HA-to-protocol mapping and the write-only publish discipline live here.

Definition at line 37 of file platform_climate.h.

Member Function Documentation

◆ apply_custom_preset_()

bool esphome::home_io_control::IOHomeClimate::apply_custom_preset_ ( const climate::ClimateCall & call)
protected

Apply the "Program" custom preset via SET_MODE(prog), if present.

Returns
true if published.

Definition at line 125 of file platform_climate.cpp.

◆ apply_mode_()

bool esphome::home_io_control::IOHomeClimate::apply_mode_ ( const climate::ClimateCall & call)
protected

Apply the request's HVAC mode via SET_MODE, if present.

Returns
true if state was published.

Definition at line 107 of file platform_climate.cpp.

◆ apply_preset_()

bool esphome::home_io_control::IOHomeClimate::apply_preset_ ( const climate::ClimateCall & call)
protected

Apply a HOME/AWAY preset via SET_PRESENCE, if present.

Returns
true if published.

Definition at line 138 of file platform_climate.cpp.

◆ apply_target_temperature_()

bool esphome::home_io_control::IOHomeClimate::apply_target_temperature_ ( const climate::ClimateCall & call)
protected

Apply the target temperature via SET_TEMPERATURE, if present.

Returns
true if published.

Definition at line 155 of file platform_climate.cpp.

◆ control()

void esphome::home_io_control::IOHomeClimate::control ( const climate::ClimateCall & call)
override

Apply a Home Assistant climate control request.

Translates the request to one or more send_heating_command() calls via a single static mapping table (climate_mode <-> HeatingMode, climate_preset <-> presence). Publishes each changed field only after its send returns success; a failed send leaves the entity state untouched.

Parameters
callThe requested attribute changes.

Definition at line 94 of file platform_climate.cpp.

Here is the call graph for this function:

◆ dump_config()

void esphome::home_io_control::IOHomeClimate::dump_config ( )
override

Dump configuration to the log.

Definition at line 171 of file platform_climate.cpp.

◆ get_setup_priority()

float esphome::home_io_control::IOHomeClimate::get_setup_priority ( ) const
inlinenodiscardoverride

Get setup priority (DATA).

Returns
setup_priority::DATA.

Definition at line 45 of file platform_climate.h.

◆ on_device_update_()

void esphome::home_io_control::IOHomeClimate::on_device_update_ ( const std::string & id,
const IoDevice & dev )
protected

Inbound device-update hook.

Intentionally empty: a write-only heating device produces no state this entity can publish. Link health / active issue reach the user through the companion diagnostic sensors instead.

Definition at line 166 of file platform_climate.cpp.

◆ setup()

void esphome::home_io_control::IOHomeClimate::setup ( )
override

Register the entity with the shared hub (no status poll — heating has no readback).

Definition at line 50 of file platform_climate.cpp.

Here is the call graph for this function:

◆ traits()

climate::ClimateTraits esphome::home_io_control::IOHomeClimate::traits ( )
override

Static traits: modes OFF/HEAT/AUTO, presets HOME/AWAY, temperature range HEATING_TEMP_MIN_C..HEATING_TEMP_MAX_C (7.0..28.0 C) at a 0.5 C step.

No current temperature (no sensor evidence in the protocol).

Definition at line 77 of file platform_climate.cpp.

Here is the call graph for this function:

The documentation for this class was generated from the following files: