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

Read-only advisor that turns PairingTelemetry into actionable diagnostics. More...

#include "pairing_telemetry.h"
#include "proto_frame.h"
#include <cstdint>
#include <string>
Include dependency graph for pairing_advisor.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::advisor::PairingAdvice
 One piece of advice, with the node/RSSI it pertains to (if any). More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control
namespace  esphome::home_io_control::advisor

Enumerations

enum class  esphome::home_io_control::advisor::PairingAdviceCode : uint8_t {
  esphome::home_io_control::advisor::NONE , esphome::home_io_control::advisor::ONE_WAY_PAIRING_TRAFFIC , esphome::home_io_control::advisor::CHANNEL_BUSY_LBT_DELAYED , esphome::home_io_control::advisor::FOREIGN_CONTROLLER_PAIRING ,
  esphome::home_io_control::advisor::RF_SILENT
}
 Actionable diagnosis derived from a completed pairing attempt's telemetry. More...

Functions

uint8_t esphome::home_io_control::advisor::analyze_pairing_telemetry (const PairingTelemetry &telemetry, const uint8_t own_node_id[NODE_ID_SIZE], PairingAdvice out[PAIRING_ADVICE_MAX])
 Inspect a completed pairing attempt's telemetry and produce actionable advice.
const char * esphome::home_io_control::advisor::pairing_advice_code_name (PairingAdviceCode code)
std::string esphome::home_io_control::advisor::pairing_advice_message (const PairingAdvice &advice)

Variables

static constexpr uint8_t esphome::home_io_control::advisor::PAIRING_ADVICE_MAX = 4
 Maximum number of advice entries a single attempt can produce (one slot per non-NONE code).

Detailed Description

Read-only advisor that turns PairingTelemetry into actionable diagnostics.

PairingAdvisor is a pure, stateless consumer of a completed PairingTelemetry attempt: it never touches the radio or the pairing state machine, only inspects the events already recorded. It exists to convert the most common field failures (issue #27: a 1W remote mistaken for 2W learning mode; a busy channel; a foreign controller mid-pairing; dead RF) from a hex-dump exercise into a self-explaining WARN line.

Definition in file pairing_advisor.h.