Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
Controller Layer

Hub orchestration, exchange state machines, pairing, and runtime operations. More...

Collaboration diagram for Controller Layer:

Topics

 Pairing/Radio Diagnostics Tuning
 Runtime-tunable pairing and radio diagnostics layer and its Home Assistant entities.

Files

file  device_registry.cpp
 DeviceRegistry implementation.
file  device_registry.h
 Per-hub device table, update-callback fan-out, and linked-remote map.
file  exchange_engine.cpp
 Authenticated exchange engine — outbound and inbound protocol flows.
file  exchange_engine.h
 Self-contained authenticated exchange engine for IO-Homecontrol 2W.
file  hub_core.cpp
 Component lifecycle and main-loop scheduling.
file  hub_core.h
 IO-Homecontrol ESPHome component — protocol controller.
file  hub_decisions.h
 Pure transition helpers for hub-owned exchange and pairing frame decisions.
file  hub_exchange.h
 Internal exchange-state model for hub-owned authenticated non‑pairing flows.
file  hub_internal.h
 Internal helpers shared by the hub implementation .cpp files.
file  hub_key_extraction.cpp
 "Accept Foreign Pairing (Key Extraction)" — device-role responder hub wiring.
file  hub_management.cpp
 Thin hub wrapper delegating management actions to ManagementActions.
file  hub_operations.cpp
 High-level command execution and queued operation dispatch.
file  hub_pairing.cpp
 Thin hub wrapper delegating all pairing logic to PairingEngine.
file  hub_pairing.h
 Internal pairing-state model for hub‑owned discovery and key‑exchange flows.
file  hub_status.cpp
 Inbound status handling and passive receive-side state updates.
file  management_actions.cpp
 Hub-level management actions such as device rename, identify, and force-open.
file  management_actions.h
 Hub-level management operations exposed as Home Assistant actions.
file  operation_queue.cpp
 OperationQueue implementation.
file  operation_queue.h
 Pending-operation queue with per-type coalescing and deduplication.
file  pairing_advisor.cpp
 Read-only advisor that turns PairingTelemetry into actionable diagnostics.
file  pairing_advisor.h
 Read-only advisor that turns PairingTelemetry into actionable diagnostics.
file  pairing_engine.cpp
 Device pairing orchestration — discovery, key exchange, and finalization.
file  pairing_engine.h
 Device discovery and key-exchange engine for IO-Homecontrol pairing.
file  pairing_responder.cpp
 Pure decision logic for the device-role key-extraction responder.
file  pairing_responder.h
 Pure decision logic for the device-role "Accept Foreign Pairing" (system-key extraction) responder.
file  pairing_telemetry.cpp
 Structured per-attempt telemetry recorder implementation.
file  pairing_telemetry.h
 Structured per-attempt telemetry recorder for the pairing flow.
file  status_poll_policy.cpp
 StatusPollPolicy implementation.
file  status_poll_policy.h
 Per-device poll scheduling, failure backoff, and follow-up-poll state machine.

Classes

class  esphome::home_io_control::DeviceRegistry
 Owns the per-hub device table, update callbacks, and linked-remote associations. More...
class  esphome::home_io_control::IOHomeControlComponent
 The main IO-Homecontrol component. More...
class  esphome::home_io_control::ManagementActions
 Encapsulates hub-level management operations exposed as Home Assistant actions. More...
class  esphome::home_io_control::PairingEngine
 Owns and drives all three phases of the IO-Homecontrol device pairing flow. More...
class  esphome::home_io_control::PairingTelemetry
 Fixed-size per-attempt telemetry recorder for the pairing flow. More...

Detailed Description

Hub orchestration, exchange state machines, pairing, and runtime operations.