20#include "esphome/core/component.h"
21#include "esphome/components/cover/cover.h"
37 void setup()
override;
78 void control(
const cover::CoverCall &call)
override;
91 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.
uint32_t rain_sensor_poll_interval_ms_
0 = not opted in; no rain poll is scheduled.
void set_battery_level_poll_interval(uint32_t interval_ms)
Opt this cover into the periodic battery level poll (from YAML battery_level_poll_interval).
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.
void set_rain_sensor_poll_interval(uint32_t interval_ms)
Opt this cover into the periodic rain sensor poll (from YAML rain_sensor_poll_interval).
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.
uint32_t status_refresh_interval_ms_
0 = not opted in; no status refresh is scheduled.
bool supports_intermediate_positions() const
Query whether this device takes intermediate positions (a slider) or only open / close / stop.
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).
uint32_t battery_level_poll_interval_ms_
0 = not opted in; no battery level poll is scheduled.
uint32_t sun_level_poll_interval_ms_
0 = not opted in; no sun level poll is scheduled.
void dump_config() override
Dump configuration to log.
void set_status_refresh_interval(uint32_t interval_ms)
Opt this cover into the status refresh at rest (from YAML status_refresh_interval).
void set_sun_level_poll_interval(uint32_t interval_ms)
Opt this cover into the periodic sun level poll (from YAML sun_level_poll_interval).
void control(const cover::CoverCall &call) override
Handle cover commands from Home Assistant (open/close/stop/set_position).
Runtime state of a paired IO‑Homecontrol device.