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 (a 1W remote's PROG gesture overheard while no device answers, issues #27/#121; 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.