|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Capability bits of a device kind: what a (node type, subtype) can do. More...
#include <cstdint>Go to the source code of this file.
Namespaces | |
| namespace | esphome |
| namespace | esphome::home_io_control |
| namespace | esphome::home_io_control::device_feature |
| Capability bits carried by a DeviceTypeInfo row and resolved onto a device record. | |
Typedefs | |
| using | esphome::home_io_control::DeviceFeatures = uint16_t |
| Capability bits of a device kind; see device_feature. | |
Functions | |
| constexpr bool | esphome::home_io_control::has_feature (DeviceFeatures set, DeviceFeatures bit) |
| True when every bit of bit is set in set. | |
Variables | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::MAIN_PARAMETER_ONLY = 1U << 0U |
| EXECUTE carries no functional parameter at all (VELUX KLF 200 API specification, Appendix 2: "main parameter only"). | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::LEVELS = 1U << 1U |
| Intermediate main-parameter values: a percent position, a brightness or a heat level. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::TILT = 1U << 2U |
| Slat angle (functional parameter 3) through the extended status and the tilt EXECUTE. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::FAVORITE = 1U << 3U |
| Named position 0xD800, the favourite ("my") position. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::VENT = 1U << 4U |
| Named position 0xD803, the window opener's secured ventilation position (VELUX KLF 200 API specification, section 14.2). | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::PARTIAL = 1U << 5U |
| Named position 0xD809, sent by the Partial Position button: a garage opener runs its stored partial position (issue #163). | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::PEDESTRIAN = 1U << 6U |
| Named position 0xD807, sent by the Pedestrian Position button. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::EXTENDED_POSITION_FRAME = 1U << 7U |
| Position and force-open EXECUTEs use the 8-byte form with functional parameter 1 set (the form validated on roller shutters, awnings, the Izymo dimmer and the pergola); without it they use the 6-byte main-parameter form. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::WINDOW_COMPANIONS = 1U << 8U |
| Heater window sensor and open-window-detection switch. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::INVERTED = 1U << 9U |
| Direction inverted by default (horizontal awnings: IO 0 is closed). | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::WATER_HEATER = 1U << 10U |
| Read and commanded as a domestic hot water heater: family-0x00 registers (proto_dhw.h) for its readings and mode, the status main parameter for its target temperature. | |
| static constexpr DeviceFeatures | esphome::home_io_control::device_feature::NIGHT_LIGHT = 1U << 11U |
| A night light built into a heater with private registers: on/off in register 0x0144, brightness in 0x0142 (proto_heating.h). | |
Capability bits of a device kind: what a (node type, subtype) can do.
The bits are carried by the rows of the node-type table (proto_device_types.h) and resolved onto each device record, so the hub, the platforms and the Python codegen ask one place whether a device has a feature instead of branching on a device type. A bit says whether a device has a capability; how it is commanded stays in the command builders and the profile tables.
This leaf header includes only <cstdint>: IoDevice (proto_device_model.h) carries a DeviceFeatures word, and proto_device_types.h already includes proto_device_model.h.
Definition in file proto_device_features.h.