Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
pairing_telemetry.h File Reference

Structured per-attempt telemetry recorder for the pairing flow. More...

#include "hub_pairing.h"
#include "proto_device_model.h"
#include "proto_frame.h"
#include "transmit_observer.h"
#include <cstdint>
#include <string>
Include dependency graph for pairing_telemetry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  esphome::home_io_control::PairingTelemetryEvent
 One recorded telemetry event. More...
struct  esphome::home_io_control::RecentOneWayPairingSighting
 A 1W pairing-gesture frame observed on the hub's normal passive RX path, remembered so a fresh discover_and_pair() attempt can seed its telemetry with it (issue #27/#65: the discovery telemetry window only starts recording at PairingTelemetry::begin(), so a PROG press completed just before "Discover & Pair" is pressed could otherwise be invisible to the pairing advisor even though the radio heard it just fine). More...
class  esphome::home_io_control::PairingTelemetry
 Fixed-size per-attempt telemetry recorder for the pairing flow. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Enumerations

enum class  esphome::home_io_control::PairingTelemetryEventKind : uint8_t {
  esphome::home_io_control::TX , esphome::home_io_control::RX , esphome::home_io_control::RX_REJECT , esphome::home_io_control::LBT_DEFER ,
  esphome::home_io_control::PHASE
}
 Kind of a recorded telemetry event. More...
enum class  esphome::home_io_control::PairingOutcome : uint8_t {
  esphome::home_io_control::NONE , esphome::home_io_control::PAIRED , esphome::home_io_control::NO_RESPONSE , esphome::home_io_control::INVALID_RESPONSE ,
  esphome::home_io_control::KEY_EXCHANGE_FAILED
}
 Final disposition of a pairing attempt, used by the result sensor string. More...

Variables

static constexpr uint8_t esphome::home_io_control::PAIRING_TELEMETRY_MAX_EVENTS = 32
 Maximum number of events recorded per pairing attempt.

Detailed Description

Structured per-attempt telemetry recorder for the pairing flow.

PairingTelemetry is a fixed-size recorder owned by the hub and shared by reference with PairingEngine, which also attaches it to ExchangeEngine as its TransmitObserver for the length of an attempt (that is how TX and LBT events reach it). It records every radio-visible event during a discover_and_pair() attempt — TX, RX (accepted and rejected), LBT defers, and hop/phase transitions — so a single attempt can be summarized as a human-readable log block and a frozen, machine-readable "Last Pairing Result" string.

Telemetry events store only cmd/src/rssi/phase metadata, never frame payload bytes, so key material cannot appear here by construction — there is no redaction to apply because there is nothing to redact.

Definition in file pairing_telemetry.h.