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 <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...
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::HOP , 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 , esphome::home_io_control::CONFIG_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 pointer) with ExchangeEngine and PairingEngine, mirroring how TuningConfig is injected into both. 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.