20#include "esphome/core/component.h"
21#include "esphome/components/cover/cover.h"
33 void setup()
override;
73 void control(
const cover::CoverCall &call)
override;
86 float current_io_position)
const;
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_
cover::CoverOperation infer_operation_from_position_delta_(bool invert, float current_io_position) const
Infer HA movement direction from successive IO positions when the protocol target is unknown.
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.