Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
esphome::home_io_control::OneWayAdoptedKey Struct Reference

Recovered controller identity from a decoded CMD_ONEWAY_ADD_CONTROLLER (0x30) frame. More...

#include <proto_codecs.h>

Collaboration diagram for esphome::home_io_control::OneWayAdoptedKey:

Public Attributes

uint8_t system_key [AES_KEY_SIZE] {}
 Recovered network system key (crypto::crypt_1w_key() output).
uint8_t manufacturer {0}
 Manufacturer ID byte from the payload (man_id).
uint8_t sender_node [NODE_ID_SIZE] {}
 Sender's node address (frame.src) — the new identity's node.
uint16_t sequence {0}
 2-byte rolling sequence from the payload (big-endian on wire).
OneWayMacStatus mac_status {OneWayMacStatus::NOT_PRESENT}
 MAC-verification outcome; see OneWayMacStatus.

Detailed Description

Recovered controller identity from a decoded CMD_ONEWAY_ADD_CONTROLLER (0x30) frame.

Fixed-size, no heap, no std::string, no vectors. Deliberately carries no logging or to_string() helper: system_key is a real 1W installation's network key, and the surest way to leak a key is to make it convenient to print. Route system_key through the single intentional user-facing "adopted key" emission (a later step) and nowhere else — see crypto::crypt_1w_key()'s @warning in proto_crypto.h.

Warning
Carries real key material (system_key). Never log, print, or otherwise let this struct's contents reach any path other than the one intentional emission.

Definition at line 254 of file proto_codecs.h.

Member Data Documentation

◆ mac_status

OneWayMacStatus esphome::home_io_control::OneWayAdoptedKey::mac_status {OneWayMacStatus::NOT_PRESENT}

MAC-verification outcome; see OneWayMacStatus.

Definition at line 259 of file proto_codecs.h.

◆ manufacturer

uint8_t esphome::home_io_control::OneWayAdoptedKey::manufacturer {0}

Manufacturer ID byte from the payload (man_id).

Definition at line 256 of file proto_codecs.h.

◆ sender_node

uint8_t esphome::home_io_control::OneWayAdoptedKey::sender_node[NODE_ID_SIZE] {}

Sender's node address (frame.src) — the new identity's node.

Definition at line 257 of file proto_codecs.h.

◆ sequence

uint16_t esphome::home_io_control::OneWayAdoptedKey::sequence {0}

2-byte rolling sequence from the payload (big-endian on wire).

Definition at line 258 of file proto_codecs.h.

◆ system_key

uint8_t esphome::home_io_control::OneWayAdoptedKey::system_key[AES_KEY_SIZE] {}

Recovered network system key (crypto::crypt_1w_key() output).

Definition at line 255 of file proto_codecs.h.


The documentation for this struct was generated from the following file: