|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Self-contained authenticated exchange engine for IO-Homecontrol 2W. More...
#include "hub_exchange.h"#include "hub_decisions.h"#include "proto_frame.h"#include "proto_timing.h"#include "radio_interface.h"#include "transmit_observer.h"#include "tuning_config.h"#include <cstdint>#include <functional>#include <utility>Go to the source code of this file.
Classes | |
| class | esphome::home_io_control::ExchangeEngine |
| struct | esphome::home_io_control::ExchangeEngine::BroadcastReplyInfo |
| Per-reply facts collect_broadcast_responses() hands its caller alongside the frame. More... | |
| struct | esphome::home_io_control::ExchangeEngine::DebugInfo |
| Snapshot of the last exchange attempt for diagnostics. More... | |
| struct | esphome::home_io_control::ExchangeEngine::Counters |
| Free-running counters for the engine's own retry/parse behavior — not per-device (see the RSSI/Exchange-Failures per-device sensors for that) and not per-attempt (see DebugInfo for that). More... | |
Namespaces | |
| namespace | esphome |
| namespace | esphome::home_io_control |
Enumerations | |
| enum class | esphome::home_io_control::ExchangeOutcome : uint8_t { esphome::home_io_control::FAILED , esphome::home_io_control::SUCCESS_WITH_RESPONSE , esphome::home_io_control::SUCCESS_UNCONFIRMED } |
| Authenticated exchange engine — outbound and inbound protocol flows. More... | |
Functions | |
| int | esphome::home_io_control::render_exchange_debug (char *buf, size_t buf_size, const char *device_id, const ExchangeEngine::DebugInfo &d) |
| Render the structured field list shared by both exchange-debug log lines. | |
Variables | |
| static constexpr size_t | esphome::home_io_control::EXCHANGE_DEBUG_LINE_SIZE = 384 |
| Longest rendered exchange-debug field list, plus headroom for a long command name. | |
Self-contained authenticated exchange engine for IO-Homecontrol 2W.
ExchangeEngine encapsulates the outbound authenticated exchange state machine and the inbound challenge-response authentication path. It owns:
The engine holds double-pointer and raw-pointer references to its owner's state (radio driver, node/system key, tuning config) so that changes made by the hub after construction (e.g., radio driver allocation in setup(), direct member writes in unit tests) are automatically visible.
All transmit and channel-hop traffic funnels through this engine: the hub's thin transmit_frame_() / hop_frequency_() wrappers delegate here, and PairingEngine holds a direct reference for its own exchanges.
Definition in file exchange_engine.h.