19#include "esphome/core/component.h"
20#include "esphome/components/cover/cover.h"
31 void setup()
override;
71 void control(
const cover::CoverCall &call)
override;
The main IO-Homecontrol component.
void set_invert_position(bool invert)
Enable or disable position inversion.
void set_subtype(uint8_t subtype)
Set the declared device subtype (from YAML).
void set_parent(IOHomeControlComponent *parent)
Set the parent controller component.
IOHomeControlComponent * parent_
bool supports_tilt() const
Query whether this device supports tilt (slat angle) control.
void on_device_update_(const std::string &id, const IoDevice &dev)
Callback invoked when the underlying device state changes.
void set_status_poll_interval(uint32_t poll_interval_ms)
Configure bounded follow-up polling while a state change is expected.
bool effective_invert_() const
Resolve the current inversion mode.
cover::CoverTraits get_traits() override
Return the traits object describing this cover's capabilities.
void setup() override
Initialize the cover entity (register device, subscribe to updates, schedule initial status poll).
void set_device_type(DeviceType type)
Set the declared device type (from YAML).
float get_setup_priority() const override
Get setup priority (DATA so we have device registry available).
uint32_t status_poll_interval_ms_
void dump_config() override
Dump configuration to log.
void control(const cover::CoverCall &call) override
Handle cover commands from Home Assistant (open/close/stop/set_position).
void set_device_id(const std::string &id)
Set the unique device ID (from YAML).
IO-Homecontrol ESPHome component — protocol controller.
static constexpr float UNKNOWN_POSITION
Sentinel value meaning "position is not known yet".
DeviceType
Device type identifiers reported by IO‑Homecontrol products.
@ UNKNOWN
Unknown/unspecified device.
Runtime state of a paired IO‑Homecontrol device.