20#include "esphome/core/component.h"
21#include "esphome/components/cover/cover.h"
37 void setup()
override;
62 void control(
const cover::CoverCall &call)
override;
75 float current_io_position)
const;
Mixin holding the hub-device binding shared by all IO-Homecontrol entity platforms.
void set_invert_position(bool invert)
Enable or disable position inversion.
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.
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).
float get_setup_priority() const override
Get setup priority (DATA so we have device registry available).
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).
static constexpr float UNKNOWN_POSITION
Sentinel value meaning "position is not known yet".
Runtime state of a paired IO‑Homecontrol device.