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

Fan entity for IO-Homecontrol exterior heating. More...

#include <platform_fan.h>

Inheritance diagram for esphome::home_io_control::IOHomeFan:
Collaboration diagram for esphome::home_io_control::IOHomeFan:

Public Member Functions

void setup () override
 Register the entity with the shared hub and schedule the first status poll.
void dump_config () override
 Dump configuration to the log.
float get_setup_priority () const override
 Get setup priority (DATA).
fan::FanTraits get_traits () override
 Traits: a 100-step speed (the heat level) unless the device takes the main parameter only (subtype 58, on/off).
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_system_key (const std::string &key)
 Give this device a system key of its own (system_key: in YAML).
void set_battery_entities (bool battery_entities)
 Record that the YAML declared battery: true, so the status log line names the battery level even when the device reports none.
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 control (const fan::FanCall &call) override
 Apply a Home Assistant fan request: a heat level, or on/off.
void on_device_update_ (const std::string &id, const IoDevice &dev)
 Show a settled device status: heat level = 100 - position.
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)
 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
IOHomeControlComponent * parent_ {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}
bool battery_entities_ {false}
bool has_system_key_ {false}
uint8_t system_key_ [AES_KEY_SIZE] {}
 Key material: never logged.

Detailed Description

Fan entity for IO-Homecontrol exterior heating.

The device-binding setters, setup() registration ritual and poll-interval dump line come from DeviceBoundEntity; the heat-level command and status decoding live here.

Definition at line 33 of file platform_fan.h.

Member Function Documentation

◆ control()

void esphome::home_io_control::IOHomeFan::control ( const fan::FanCall & call)
overrideprotected

Apply a Home Assistant fan request: a heat level, or on/off.

Parameters
callThe requested changes.

Definition at line 49 of file platform_fan.cpp.

Here is the call graph for this function:

◆ dump_config()

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

Dump configuration to the log.

Definition at line 93 of file platform_fan.cpp.

Here is the call graph for this function:

◆ get_setup_priority()

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

Get setup priority (DATA).

Returns
setup_priority::DATA.

Definition at line 41 of file platform_fan.h.

◆ get_traits()

fan::FanTraits esphome::home_io_control::IOHomeFan::get_traits ( )
override

Traits: a 100-step speed (the heat level) unless the device takes the main parameter only (subtype 58, on/off).

No oscillation, no direction.

Definition at line 43 of file platform_fan.cpp.

◆ on_device_update_()

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

Show a settled device status: heat level = 100 - position.

Parameters
idDevice ID.
devUpdated device state.

Definition at line 77 of file platform_fan.cpp.

Here is the call graph for this function:

◆ setup()

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

Register the entity with the shared hub and schedule the first status poll.

Definition at line 27 of file platform_fan.cpp.

Here is the call graph for this function:

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