|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Opt-in, receive-only adoption of a 1W installation's controller key. More...
Go to the source code of this file.
Namespaces | |
| namespace | esphome |
| namespace | esphome::home_io_control |
Opt-in, receive-only adoption of a 1W installation's controller key.
A 1W device broadcasts CMD_ONEWAY_ADD_CONTROLLER (0x30) while its key-copy gesture is active, handing its network's system key to whichever controller is listening. The payload is wrapped with the public TRANSFER_KEY under an IV derived only from the sender's own node address, both of which are available to anyone in radio range — so overhearing that one frame is enough to recover the key. This file turns that into a deliberate, time-boxed, user-armed action.
This is a property of io-homecontrol, not something this project introduces. The same framing applies as to 2W key extraction (key_extraction_responder.cpp): the protocol offers no confidentiality for the key-copy gesture, so the honest response is to make the capability explicit, opt-in and loud rather than to pretend it is unavailable.
Differences from its 2W sibling, both deliberate:
The recovered key is never persisted — not to NVS, not to a Home Assistant event. It is reported once for the user to paste into their own YAML/secrets, which is ADR 0018's paste-and-reflash shape, exactly as the 2W feature does.
Definition in file oneway_key_adoption.cpp.