|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Files | |
| __init__.py | |
| ESPHome hub schema and code generation for Home IO Control. | |
| button.py | |
| ESPHome pairing-button schema and code generation. | |
| climate.py | |
| ESPHome climate platform schema and code generation. | |
| cover.py | |
| ESPHome cover platform schema and code generation. | |
| device_registry.cpp | |
| DeviceRegistry implementation. | |
| device_registry.h | |
| Per-hub device table, update-callback fan-out, and linked-remote map. | |
| doxygen_groups.h | |
| Doxygen group definitions for the Home IO Control component. | |
| exchange_engine.cpp | |
| Authenticated exchange engine — outbound and inbound protocol flows. | |
| exchange_engine.h | |
| Self-contained authenticated exchange engine for IO-Homecontrol 2W. | |
| hub_core.cpp | |
| Component lifecycle and main-loop scheduling. | |
| hub_core.h | |
| IO-Homecontrol ESPHome component — protocol controller. | |
| hub_decisions.h | |
| Pure transition helpers for hub-owned exchange and pairing frame decisions. | |
| hub_exchange.h | |
| Internal exchange-state model for hub-owned authenticated non‑pairing flows. | |
| hub_hooks.h | |
| Injected-capability callback aliases shared by the hub's collaborator objects. | |
| hub_internal.h | |
| Internal helpers shared by the hub implementation .cpp files. | |
| hub_operations.cpp | |
| High-level command execution and queued operation dispatch. | |
| hub_pairing.cpp | |
| Thin hub wrapper delegating all pairing logic to PairingEngine. | |
| hub_pairing.h | |
| Internal pairing-state model for hub‑owned discovery and key‑exchange flows. | |
| hub_status.cpp | |
| Inbound status handling and passive receive-side state updates. | |
| key_extraction_responder.cpp | |
| "Recover System Key" (key extraction) — device-role responder collaborator. | |
| key_extraction_responder.h | |
| "Recover System Key" (key extraction) — device-role responder collaborator. | |
| light.py | |
| ESPHome binary/dimmable light platform schema and code generation. | |
| lock.py | |
| ESPHome lock platform schema and code generation. | |
| log_frame.h | |
| Shared frame logging helpers for IO-Homecontrol. | |
| lr1121_firmware.py | |
| Fetch, verify, and interpret a user-referenced LR1121 transceiver firmware image. | |
| lr1121_firmware_decisions.h | |
| Pure decision logic for the LR1121 transceiver-firmware-update feature. | |
| lr1121_firmware_update_controller.cpp | |
| lr1121_firmware_update_controller.h | |
| LR1121 transceiver-firmware-update feature — orchestration collaborator. | |
| management_actions.cpp | |
| Hub-level management actions such as device rename, identify, and force-open. | |
| management_actions.h | |
| Hub-level management operations exposed as Home Assistant actions. | |
| oneway_controller.cpp | |
| Controller identities for the one-way (1W) protocol. | |
| oneway_controller.h | |
| Controller identities for the one-way (1W) protocol. | |
| oneway_key_adoption.cpp | |
| Opt-in, receive-only adoption of a 1W installation's controller key. | |
| oneway_key_adoption.h | |
| Opt-in, receive-only adoption of a 1W installation's controller key. | |
| oneway_sequence_store.cpp | |
| Persistent rolling-sequence counters for one-way (1W) transmit. | |
| oneway_sequence_store.h | |
| Persistent rolling-sequence counters for one-way (1W) transmit. | |
| oneway_transmitter.cpp | |
| One-way (1W) transmit collaborator. | |
| oneway_transmitter.h | |
| One-way (1W) transmit collaborator. | |
| operation_queue.cpp | |
| OperationQueue implementation. | |
| operation_queue.h | |
| Pending-operation queue with per-type coalescing and deduplication. | |
| pairing_advisor.cpp | |
| Read-only advisor that turns PairingTelemetry into actionable diagnostics. | |
| pairing_advisor.h | |
| Read-only advisor that turns PairingTelemetry into actionable diagnostics. | |
| pairing_engine.cpp | |
| Device pairing orchestration — discovery, key exchange, and finalization. | |
| pairing_engine.h | |
| Device discovery and key-exchange engine for IO-Homecontrol pairing. | |
| pairing_responder.cpp | |
| Pure decision logic for the device-role key-extraction responder. | |
| pairing_responder.h | |
| Pure decision logic for the device-role "Accept Foreign Pairing" (system-key extraction) responder. | |
| pairing_telemetry.cpp | |
| Structured per-attempt telemetry recorder implementation. | |
| pairing_telemetry.h | |
| Structured per-attempt telemetry recorder for the pairing flow. | |
| platform_climate.cpp | |
| Experimental climate entity for IO-Homecontrol heating devices (CMD_WRITE_PRIVATE 0x20). | |
| platform_climate.h | |
| Experimental climate entity for IO-Homecontrol heating devices (CMD_WRITE_PRIVATE 0x20). | |
| platform_common.py | |
| Shared ESPHome codegen for IO-Homecontrol device-bound platforms. | |
| platform_companion_sensors.cpp | |
| The seven auto-generated per-device diagnostic companion sensors. | |
| platform_companion_sensors.h | |
| The seven auto-generated per-device diagnostic companion sensors. | |
| platform_cover.cpp | |
| ESPHome cover entity for IO-Homecontrol devices. | |
| platform_cover.h | |
| ESPHome cover entity for IO‑Homecontrol devices. | |
| platform_cover_controls.cpp | |
| Generated per-cover auxiliary controls: command button and silent-operation toggle. | |
| platform_cover_controls.h | |
| Generated per-cover auxiliary controls: the command button (favorite / ventilation) and the silent-operation toggle. | |
| platform_entity_base.h | |
| Shared device-binding mixins for IO-Homecontrol entity platforms. | |
| platform_hub_controls.cpp | |
| Hub-level control entities: arming switches and the pairing-result text sensor. | |
| platform_hub_controls.h | |
| Hub-level control entities: the discovery button, the scan-paired-devices button, the two arming switches, and the pairing-result diagnostic text sensor. | |
| platform_light.cpp | |
| Binary or dimmable light entity for IO-Homecontrol devices. | |
| platform_light.h | |
| Binary or dimmable light entity for IO‑Homecontrol devices. | |
| platform_lock.cpp | |
| Experimental lock entity for IO-Homecontrol lock devices. | |
| platform_lock.h | |
| Experimental lock entity for IO-Homecontrol lock-capable devices. | |
| platform_lr1121_controls.cpp | |
| Hub-level LR1121 firmware-update entities: out-of-line bodies for the bootloader-rewrite arming switch. | |
| platform_lr1121_controls.h | |
| Hub-level LR1121 firmware-update entities: the transceiver-flash button and the bootloader-rewrite arming switch. | |
| platform_oneway_entities.cpp | |
| The per-identity 1W entities: command buttons, enrollment button, last-command sensor. | |
| platform_oneway_entities.h | |
| The per-identity 1W entities: command buttons, the enrollment button, and the "Last 1W Command" diagnostic text sensor. | |
| platform_switch.cpp | |
| Experimental binary switch entity for IO-Homecontrol devices. | |
| platform_switch.h | |
| Experimental binary switch entity for IO‑Homecontrol devices. | |
| proto_codecs.cpp | |
| Device-name, address-classification and 1W-frame codec implementations. | |
| proto_codecs.h | |
| Device-name, address-classification and 1W-frame codecs. | |
| proto_commands.cpp | |
| Command builders for the IO-Homecontrol protocol. | |
| proto_commands.h | |
| Command builders for the IO‑Homecontrol protocol. | |
| proto_constants.cpp | |
| Name/description lookups for IO-Homecontrol commands, results and enumerations. | |
| proto_constants.h | |
| IO-Homecontrol command IDs, result codes and protocol enumerations. | |
| proto_crypto.cpp | |
| Cryptographic helpers for the IO-Homecontrol protocol. | |
| proto_crypto.h | |
| Cryptographic helpers for the IO‑Homecontrol protocol. | |
| proto_device_model.cpp | |
| Device-type capabilities, packed-metadata decoding and position reports. | |
| proto_device_model.h | |
| IO-Homecontrol device-type model, capabilities and runtime device state. | |
| proto_frame.cpp | |
| IO-Homecontrol 2W frame container implementation. | |
| proto_frame.h | |
| IO-Homecontrol 2W frame container: control bytes, IoFrame and (de)serialization. | |
| proto_heating.cpp | |
| Pure codec for IO-Homecontrol 2W heating/climate functions (CMD_WRITE_PRIVATE 0x20). | |
| proto_heating.h | |
| Pure codec for IO-Homecontrol 2W heating/climate functions (CMD_WRITE_PRIVATE 0x20). | |
| proto_sizes.h | |
| Fundamental IO-Homecontrol frame and crypto size constants. | |
| proto_timing.h | |
| Physical-layer radio and timing parameters for the IO-Homecontrol protocol. | |
| radio_interface.cpp | |
| Implementation of non-inline RadioDriver methods. | |
| radio_interface.h | |
| Radio abstraction layer for IO-Homecontrol. | |
| radio_lr1121.cpp | |
| LR1121 radio driver implementation for IO-Homecontrol. | |
| radio_lr1121.h | |
| LR1121 radio driver for IO-Homecontrol. | |
| radio_lr1121_firmware_updater.cpp | |
| LR1121 bootloader-mode SPI transport implementation. | |
| radio_lr1121_firmware_updater.h | |
| LR1121 bootloader-mode-*and*-loader-mode SPI transport, standalone from the running RadioDriver. | |
| radio_soft_phy.cpp | |
| Software PHY implementation for radios without IoHomeOn hardware framing. | |
| radio_soft_phy.h | |
| Software PHY for radios without IoHomeOn hardware framing. | |
| radio_soft_phy_driver_base.cpp | |
| Shared driver flow implementation for the software-PHY radios. | |
| radio_soft_phy_driver_base.h | |
| Shared driver flow for radios using the software PHY (SX1262, LR1121). | |
| radio_sx1262.cpp | |
| SX1262 radio driver implementation for IO-Homecontrol. | |
| radio_sx1262.h | |
| SX1262 radio driver for IO-Homecontrol. | |
| radio_sx1276.cpp | |
| SX1276 radio driver implementation for IO-Homecontrol. | |
| radio_sx1276.h | |
| SX1276 radio driver for IO-Homecontrol. | |
| redaction.h | |
| Key-material redaction helpers shared by every surface that can emit frame bytes or debug text (frame logging today; telemetry and diagnostic reports later). | |
| status_poll_policy.cpp | |
| StatusPollPolicy implementation. | |
| status_poll_policy.h | |
| Per-device poll scheduling, failure backoff, and follow-up-poll state machine. | |
| switch.py | |
| ESPHome binary switch platform schema and code generation. | |
| tuning.py | |
| ESPHome tuning schema and code generation for Home IO Control. | |
| tuning_config.cpp | |
| Runtime tuning configuration helpers and snapshot formatting. | |
| tuning_config.h | |
| Runtime tuning configuration for pairing and radio diagnostics. | |
| tuning_entities.cpp | |
| Home Assistant number and select tuning entity implementations. | |
| tuning_entities.h | |
| Home Assistant number and select entities that control runtime tuning parameters. | |
| tuning_registry.cpp | |
| Parameter tables and lookup helpers for the tuning registry. | |
| tuning_registry.h | |
| Table-driven registry of runtime tuning parameters. | |