13#include "esphome/core/component.h"
14#include "esphome/components/light/light_output.h"
21class IOHomeLight :
public light::LightOutput,
public Component {
24 void setup()
override;
37 void write_state(light::LightState *state)
override;
The main IO-Homecontrol component.
Binary light entity for IO‑Homecontrol on/off devices.
void set_device_id(const std::string &id)
Set device ID from YAML.
void set_subtype(uint8_t subtype)
Set the declared device subtype (from YAML).
IOHomeControlComponent * parent_
void write_state(light::LightState *state) override
bool suppress_write_
Guard so that an inbound radio status does not echo back as a new outbound command.
light::LightState * state_
void set_status_poll_interval(uint32_t poll_interval_ms)
Configure bounded follow-up polling while a state change is expected.
void setup_state(light::LightState *state) override
Store the HA LightState object for state updates.
void on_device_update_(const std::string &id, const IoDevice &dev)
Handle inbound device status updates.
void set_parent(IOHomeControlComponent *parent)
Set parent controller.
uint32_t status_poll_interval_ms_
void set_device_type(DeviceType type)
Set the declared device type (from YAML).
float get_setup_priority() const override
Get setup priority (DATA).
void dump_config() override
Dump configuration to log.
light::LightTraits get_traits() override
Return traits: binary on/off only (no dimming).
void setup() override
Initialize the light entity.
IO-Homecontrol ESPHome component — protocol controller.
DeviceType
Device type identifiers reported by IO‑Homecontrol products.
@ UNKNOWN
Unknown/unspecified device.
Runtime state of a paired IO‑Homecontrol device.