|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Frame definitions, crypto helpers, command builders, and protocol utilities. More...
Files | |
| file | log_frame.h |
| Shared frame logging helpers for IO-Homecontrol. | |
| file | oneway_controller.cpp |
| Controller identities for the one-way (1W) protocol. | |
| file | oneway_controller.h |
| Controller identities for the one-way (1W) protocol. | |
| file | proto_codecs.cpp |
| Device-name, address-classification and 1W-frame codec implementations. | |
| file | proto_codecs.h |
| Device-name, address-classification and 1W-frame codecs. | |
| file | proto_commands.cpp |
| Command builders for the IO-Homecontrol protocol. | |
| file | proto_commands.h |
| Command builders for the IO‑Homecontrol protocol. | |
| file | proto_constants.cpp |
| Name/description lookups for IO-Homecontrol commands, results and enumerations. | |
| file | proto_constants.h |
| IO-Homecontrol command IDs, result codes and protocol enumerations. | |
| file | proto_crypto.cpp |
| Cryptographic helpers for the IO-Homecontrol protocol. | |
| file | proto_crypto.h |
| Cryptographic helpers for the IO‑Homecontrol protocol. | |
| file | proto_device_model.cpp |
| Device-type capabilities, packed-metadata decoding and position reports. | |
| file | proto_device_model.h |
| IO-Homecontrol device-type model, capabilities and runtime device state. | |
| file | proto_frame.cpp |
| IO-Homecontrol 2W frame container implementation. | |
| file | proto_frame.h |
| IO-Homecontrol 2W frame container: control bytes, IoFrame and (de)serialization. | |
| file | proto_heating.cpp |
| Pure codec for IO-Homecontrol 2W heating/climate functions (CMD_WRITE_PRIVATE 0x20). | |
| file | proto_heating.h |
| Pure codec for IO-Homecontrol 2W heating/climate functions (CMD_WRITE_PRIVATE 0x20). | |
| file | proto_sizes.h |
| Fundamental IO-Homecontrol frame and crypto size constants. | |
| file | proto_timing.h |
| Physical-layer radio and timing parameters for the IO-Homecontrol protocol. | |
| file | redaction.h |
| Key-material redaction helpers shared by every surface that can emit frame bytes or debug text (frame logging today; telemetry and diagnostic reports later). | |
Classes | |
| struct | esphome::home_io_control::OneWayControllerIdentity |
| One configured 1W controller identity. More... | |
| struct | esphome::home_io_control::OneWayActionEncoding |
| How a OneWayButtonAction reaches the wire. More... | |
| class | esphome::home_io_control::OneWayControllerRegistry |
| The configured 1W controller identities, in YAML declaration order. More... | |
| struct | esphome::home_io_control::IoFrame |
| Parsed IO‑Homecontrol frame (CTRL0/1 + addresses + command + data). More... | |
Enumerations | |
| enum class | esphome::home_io_control::OneWayButtonAction : uint8_t { esphome::home_io_control::OneWayButtonAction::OPEN , esphome::home_io_control::OneWayButtonAction::CLOSE , esphome::home_io_control::OneWayButtonAction::STOP , esphome::home_io_control::OneWayButtonAction::VENT , esphome::home_io_control::OneWayButtonAction::FAVORITE } |
| The command a generated 1W button sends. More... | |
Functions | |
| OneWayActionEncoding | esphome::home_io_control::encode_oneway_action (OneWayButtonAction action) |
| Resolve a button action to the call that sends it. | |
| const char * | esphome::home_io_control::oneway_button_action_name (OneWayButtonAction action) |
| Human-readable name for a button action, as it appears in the diagnostic sensor. | |
Frame definitions, crypto helpers, command builders, and protocol utilities.
|
strong |
The command a generated 1W button sends.
The vocabulary of the commands: list on a oneway_controllers: entry. Kept separate from CoverCommand because two of these are not commands at all on the wire: OPEN and CLOSE are positions 0 and 100, and only look like named commands to a user.
| Enumerator | |
|---|---|
| OPEN | Position 0 (fully open). |
| CLOSE | Position 100 (fully closed). |
| STOP | |
| VENT | |
| FAVORITE | |
Definition at line 166 of file oneway_controller.h.
|
inline |
Resolve a button action to the call that sends it.
Pure, so the mapping can be tested without a radio, an entity or a hub. OPEN and CLOSE resolve to positions because that is what they are on the wire — there is no distinct open/close opcode, and treating them as named commands would need a second encoding path for no gain.
| action | Button action to encode. |
Definition at line 190 of file oneway_controller.h.
| const char * esphome::home_io_control::oneway_button_action_name | ( | OneWayButtonAction | action | ) |
Human-readable name for a button action, as it appears in the diagnostic sensor.
| action | Button action to name. |
Definition at line 10 of file oneway_controller.cpp.