|
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. | |
| 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_internal.h | |
| Internal helpers shared by the hub implementation .cpp files. | |
| hub_key_extraction.cpp | |
| "Accept Foreign Pairing (Key Extraction)" — device-role responder hub wiring. | |
| hub_lr1121_firmware_update.cpp | |
| hub_management.cpp | |
| Thin hub wrapper delegating management actions to ManagementActions. | |
| 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. | |
| 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. | |
| 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. | |
| 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_accept_foreign_pairing_switch.cpp | |
| Hub-level "Accept Foreign Pairing (Key Extraction)" switch entity. | |
| platform_accept_foreign_pairing_switch.h | |
| Hub-level switch that arms/disarms the "Accept Foreign Pairing" (key-extraction) responder. | |
| platform_active_issue_text_sensor.cpp | |
| Diagnostic text sensor exposing a device's currently outstanding CMD_ERROR_RESP reason. | |
| platform_active_issue_text_sensor.h | |
| Diagnostic text sensor exposing a device's currently outstanding CMD_ERROR_RESP reason. | |
| platform_common.py | |
| Shared ESPHome codegen for IO-Homecontrol device-bound platforms. | |
| platform_cover.cpp | |
| ESPHome cover entity for IO-Homecontrol devices. | |
| platform_cover.h | |
| ESPHome cover entity for IO‑Homecontrol devices. | |
| platform_cover_favorite_button.cpp | |
| Generated favorite-position button for position-capable cover entities. | |
| platform_cover_favorite_button.h | |
| Generated favorite-position button for position-capable cover entities. | |
| platform_cover_vent_button.cpp | |
| Generated ventilation-position button for window-type cover entities. | |
| platform_cover_vent_button.h | |
| Generated ventilation-position button for window-type cover entities. | |
| platform_device_name_text_sensor.cpp | |
| Diagnostic text sensor exposing the stored IO-Homecontrol device name. | |
| platform_device_name_text_sensor.h | |
| Diagnostic text sensor exposing the stored IO-Homecontrol device name. | |
| platform_discover_button.h | |
| Button entity that triggers device discovery and pairing. | |
| platform_entity_base.h | |
| Shared device-binding mixins for IO-Homecontrol entity platforms. | |
| platform_exchange_failures_sensor.cpp | |
| Diagnostic sensor exposing a device's cumulative exchange-timeout count. | |
| platform_exchange_failures_sensor.h | |
| Diagnostic sensor exposing a device's cumulative exchange-timeout count. | |
| platform_last_contact_sensor.cpp | |
| Diagnostic sensor exposing seconds elapsed since a device's last received frame. | |
| platform_last_contact_sensor.h | |
| Diagnostic sensor exposing seconds elapsed since a device's last received frame. | |
| 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_bootloader_rewrite_switch.cpp | |
| Hub-level "Allow LR1121 Bootloader Rewrite (Irreversible)" switch entity. | |
| platform_lr1121_bootloader_rewrite_switch.h | |
| Hub-level arming switch for the LR1121 bootloader-rewrite (three-stage) sequence. | |
| platform_lr1121_firmware_update_button.h | |
| Hub-level button that triggers the LR1121 transceiver-firmware flash sequence. | |
| platform_pairing_result_text_sensor.cpp | |
| Diagnostic text sensor exposing the "Last Pairing Result" string. | |
| platform_pairing_result_text_sensor.h | |
| Diagnostic text sensor exposing the machine-readable "Last Pairing Result" string. | |
| platform_rssi_sensor.cpp | |
| Diagnostic sensor exposing a device's smoothed RSSI. | |
| platform_rssi_sensor.h | |
| Diagnostic sensor exposing a device's smoothed RSSI. | |
| 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_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. | |