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

Schema, validation and code generation for home_io_control: oneway_controllers:. More...

Go to the source code of this file.

Namespaces

namespace  home_io_control
namespace  home_io_control.oneway_controllers

Functions

 home_io_control.oneway_controllers._no_duplicate_enrollment_classes (value)
 home_io_control.oneway_controllers.derive_oneway_node_id (hub_node_id, identity_id)
 home_io_control.oneway_controllers._hex_byte_array (hex_string)
 home_io_control.oneway_controllers._enrollment_classes_initialiser (identity)
 home_io_control.oneway_controllers._power_class_override_expression (identity)
 home_io_control.oneway_controllers.oneway_controller_expression (identity, hub_node_id)
 home_io_control.oneway_controllers._reject_node_id_collision (identity_id, node_id, seen_node_ids, derived)
 home_io_control.oneway_controllers.validate_oneway_controllers (config)
 home_io_control.oneway_controllers._collect_declared_device_addresses (full_config)
 home_io_control.oneway_controllers.final_validate_oneway_controller_addresses (config)
 home_io_control.oneway_controllers.create_oneway_controller_entities (identity, var)

Variables

 home_io_control.oneway_controllers._LOGGER = logging.getLogger(__name__)
dict home_io_control.oneway_controllers.ONEWAY_COMMANDS
 home_io_control.oneway_controllers.ONEWAY_CONTROLLER_SCHEMA
tuple home_io_control.oneway_controllers._DEVICE_BOUND_DOMAINS = ("cover", "light", "lock", "switch")

Detailed Description

Schema, validation and code generation for home_io_control: oneway_controllers:.

A 1W controller identity is class-addressed (ADR 0027): its own address, key and target class, never an io_device_id. This module derives node IDs, rejects address collisions (including against device-bound platforms, at final-validate time) and generates each identity's command buttons, enrollment button and last-command sensor.

Definition in file oneway_controllers.py.