46 [[nodiscard]]
bool armed()
const {
return this->armed_; }
78 std::function<void(
bool)> armed_callback_;
79 ObservedClass observed_class_{};
OnewayKeyAdoption(NamedTimeoutFn schedule_auto_off)
void try_adopt(const IoFrame &frame)
Decode an inbound CMD_ONEWAY_ADD_CONTROLLER (0x30) while armed, report the result,...
bool armed() const
Whether the listener is currently armed.
void set_armed_callback(std::function< void(bool)> cb)
Register a callback invoked whenever the armed state changes (manual toggle, successful adoption,...
const ObservedClass & last_observed_class() const
OnewayKeyAdoption & operator=(const OnewayKeyAdoption &)=delete
OnewayKeyAdoption(const OnewayKeyAdoption &)=delete
Non-copyable — holds an injected callback and is owned by the hub.
void set_armed(bool armed)
Arm or disarm the 1W controller-key adoption listener.
void record_observed_class(const OneWayFrameInfo &info)
Remember the most recent 1W target device class observed from info.src, for the adoption report's io_...
Injected-capability callback aliases shared by the hub's collaborator objects.
static constexpr uint8_t NODE_ID_SIZE
Device/node addresses are 3 bytes (e.g., "123ABC").
DeviceType
Device type identifiers reported by IO‑Homecontrol products.
@ UNKNOWN
Unknown/unspecified device.
std::function< void(const char *name, uint32_t delay_ms, std::function< void()> callback)> NamedTimeoutFn
Schedules a named, replace-on-same-name timeout on the hub's ESPHome scheduler.
Device-name, address-classification and 1W-frame codecs.
IO-Homecontrol device-type model, capabilities and runtime device state.
IO-Homecontrol 2W frame container: control bytes, IoFrame and (de)serialization.
Parsed IO‑Homecontrol frame (CTRL0/1 + addresses + command + data).
Decoded representation of a 1W remote frame.
Most recent 1W target device class observed while armed.
uint8_t node[NODE_ID_SIZE]