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

IO-Homecontrol command IDs, result codes and protocol enumerations. More...

#include "proto_sizes.h"
#include <cstdint>
Include dependency graph for proto_constants.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Functions

const char * esphome::home_io_control::command_name (uint8_t cmd)
 Get a human-readable name for any IO-Homecontrol command ID.
const char * esphome::home_io_control::manufacturer_name (uint8_t id)
 Get a human-readable manufacturer name from the protocol manufacturer byte.
const char * esphome::home_io_control::originator_name (uint8_t originator)
 Get a human-readable name for a command originator byte.
const char * esphome::home_io_control::acei_level_name (uint8_t level)
 Get a human-readable name for an ACEI priority level (0–7).
uint8_t esphome::home_io_control::discovery_att_class (uint8_t flags)
 Extract the ATT class field from a discovery response's Multi Information Byte.
uint8_t esphome::home_io_control::discovery_power_save_mode (uint8_t flags)
 Extract the power save mode field from a discovery response's Multi Information Byte.
const char * esphome::home_io_control::att_class_name (uint8_t att_class)
 Get a human-readable turnaround time string for an ATT class value.
const char * esphome::home_io_control::power_save_mode_name (uint8_t mode)
 Get a human-readable power save mode name.
const char * esphome::home_io_control::command_result_name (uint8_t result)
 Return a stable symbolic name for a CMD_ERROR_RESP result code.
const char * esphome::home_io_control::command_result_description (uint8_t result)
 Return a human-readable explanation for a CMD_ERROR_RESP result code.
bool esphome::home_io_control::is_limitation_result (uint8_t result)
 Check whether a result code represents an environmental or control limitation.

Variables

static constexpr uint8_t esphome::home_io_control::CMD_EXECUTE = 0x00
 Set position/open/close/stop — requires authentication.
static constexpr uint8_t esphome::home_io_control::CMD_ACTIVATE_MODE = 0x01
 Activate device mode (scene, ventilation) — requires auth.
static constexpr uint8_t esphome::home_io_control::CMD_PRIVATE = 0x03
 Get device status — no authentication needed.
static constexpr uint8_t esphome::home_io_control::CMD_PRIVATE_RESP = 0x04
 Response to 0x00 and 0x03 (contains position data).
static constexpr uint8_t esphome::home_io_control::CMD_PRIVATE2
 Content otherwise undecoded by the wire parser.
static constexpr uint8_t esphome::home_io_control::CMD_PRIVATE2_RESP = 0x0D
 Response to CMD_PRIVATE2. See CMD_PRIVATE2's comment.
static constexpr uint8_t esphome::home_io_control::CMD_SET_SENSOR = 0x19
 Inject sensor value into a device.
static constexpr uint8_t esphome::home_io_control::CMD_SET_SENSOR_ACK = 0x1A
 Acknowledgment to CMD_SET_SENSOR.
static constexpr uint8_t esphome::home_io_control::CMD_IDENTIFY = 0x1E
 Device physical identification / jog — requires authentication.
static constexpr uint8_t esphome::home_io_control::CMD_WRITE_PRIVATE = 0x20
 Write private register (climate/heating devices).
static constexpr uint8_t esphome::home_io_control::CMD_WRITE_PRIVATE_ACK = 0x21
 Acknowledgment to CMD_WRITE_PRIVATE.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_REQ = 0x28
 Broadcast discovery request.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_RESP = 0x29
 Device responds with its ID and type.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_SPE_REQ
 Broadcast roll-call answered by every device that already holds this controller's system key, regardless of device type.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_SPE_RESP
 Roll-call reply to CMD_DISCOVER_SPE_REQ, sent only by devices that already hold the requesting controller's system key.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_CONFIRM = 0x2C
 Confirm discovery to device.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_CONFIRM_ACK = 0x2D
 Device acknowledges confirmation.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_ALT_REQ
 Alternate discovery.
static constexpr uint8_t esphome::home_io_control::CMD_DISCOVER_ALT_RESP
 Reply to an addressed (non-broadcast) CMD_DISCOVER_ALT_REQ, following a 0x3C/0x3D challenge-response.
static constexpr uint8_t esphome::home_io_control::CMD_ONEWAY_ADD_CONTROLLER
 1W "add controller": a 1W device broadcasts this while its key-copy gesture is active, handing its network's wrapped system key to whichever controller is listening — see docs/commands.md#30-send-1w-key in the reference project linked from issue #66.
static constexpr uint8_t esphome::home_io_control::CMD_ONEWAY_REMOVE = 0x39
 1W "remove controller" (un-pair a 1W remote from a device); same payload shape as 0x2E.
static constexpr uint8_t esphome::home_io_control::CMD_KEY_INIT = 0x31
 Initiate key transfer to device.
static constexpr uint8_t esphome::home_io_control::CMD_KEY_TRANSFER = 0x32
 Send encrypted system key to device.
static constexpr uint8_t esphome::home_io_control::CMD_KEY_CONFIRM = 0x33
 Device confirms key was received.
static constexpr uint8_t esphome::home_io_control::CMD_ADDRESS_REQ = 0x36
 Address assignment request.
static constexpr uint8_t esphome::home_io_control::CMD_ADDRESS_RESP
 Address assignment response: the device returns its own 3-byte backbone address, byte-identical to the one it reported at data[2..4] (DISCOVERY_RESP_BACKBONE_OFFSET) of its CMD_DISCOVER_RESP earlier in the same session — an independent confirmation of that offset.
static constexpr uint8_t esphome::home_io_control::CMD_LAUNCH_KEY_TRANSFER
 Device-initiated ("pull") key transfer request.
static constexpr uint8_t esphome::home_io_control::CMD_CHALLENGE_REQ
 6-byte random challenge.
static constexpr uint8_t esphome::home_io_control::CMD_CHALLENGE_RESP
 HMAC proof answering a 0x3C.
static constexpr uint8_t esphome::home_io_control::CMD_UNKNOWN4A_REQ
 Content undecoded.
static constexpr uint8_t esphome::home_io_control::CMD_UNKNOWN4A_RESP
 Observed on the wire (tests/corpus/captures/issues/) answering an ON_OFF_SWITCH-type device's traffic, but its request opcode is unconfirmed — it is not established to be CMD_UNKNOWN4A_REQ's reply rather than CMD_GET_GENERAL_INFO3's.
static constexpr uint8_t esphome::home_io_control::CMD_GET_NAME = 0x50
 Request device name.
static constexpr uint8_t esphome::home_io_control::CMD_GET_NAME_RESP = 0x51
 Device name response.
static constexpr uint8_t esphome::home_io_control::CMD_SET_NAME = 0x52
 Set device name (authenticated).
static constexpr uint8_t esphome::home_io_control::CMD_SET_NAME_RESP = 0x53
 Device-name write response.
static constexpr uint8_t esphome::home_io_control::CMD_GET_INFO1
 Request device general info 1 (unimplemented; we only use 0x56/0x57).
static constexpr uint8_t esphome::home_io_control::CMD_GET_INFO1_RESP = 0x55
 Device general info 1 response (unimplemented; we only use 0x56/0x57).
static constexpr uint8_t esphome::home_io_control::CMD_GET_INFO2 = 0x56
 Request device type/model info.
static constexpr uint8_t esphome::home_io_control::CMD_GET_INFO2_RESP = 0x57
 Device type/model response.
static constexpr uint8_t esphome::home_io_control::CMD_GET_GENERAL_INFO3
 Observed on the wire (tests/corpus/captures/issues/) with no payload.
static constexpr uint8_t esphome::home_io_control::CMD_GET_GENERAL_INFO3_RESP
 Never captured on our own wire.
static constexpr uint8_t esphome::home_io_control::CMD_SET_CONFIG1 = 0x6F
 Configure device to auto-send status updates.
static constexpr uint8_t esphome::home_io_control::CMD_SET_CONFIG1_RESP
 Config response.
static constexpr uint8_t esphome::home_io_control::CMD_STATUS_UPDATE = 0x71
 Device-initiated status update (needs auth).
static constexpr uint8_t esphome::home_io_control::CMD_STATUS_UPDATE_RESP = 0x72
 Acknowledge status update.
static constexpr uint8_t esphome::home_io_control::CMD_SEND_RAW_MESSAGE
 reference/iown-homecontrol heads this "Send Raw Message / Find Hardware ("Service")" — its own quoting, not settled naming.
static constexpr uint8_t esphome::home_io_control::CMD_READ_GROUPS
 reference/iown-homecontrol heads this "Actuator: Read Groups / "ActuatorAnyConfigIsLocal" (?) / "Service ACK"" — three candidate names, one flagged with its own question mark, from the source itself.
static constexpr uint8_t esphome::home_io_control::CMD_REBOOT
 reference/iown-homecontrol heads this "Reboot / Service Status" — two candidate names, one of them destructive-sounding, on no field evidence at all.
static constexpr uint8_t esphome::home_io_control::CMD_SERVICE_STATUS_ACK
 reference/iown-homecontrol lists this opcode with its body marked TBD — no description at all, not even a hedge to reproduce.
static constexpr uint8_t esphome::home_io_control::CMD_ERROR_RESP = 0xFE
 Error response to any command.
static constexpr uint8_t esphome::home_io_control::RESULT_UNKNOWN_STATUS_REPLY = 0x00
 Device returned an unknown status reply.
static constexpr uint8_t esphome::home_io_control::RESULT_COMMAND_COMPLETED_OK = 0x01
 No errors detected.
static constexpr uint8_t esphome::home_io_control::RESULT_NO_CONTACT = 0x02
 No communication to node.
static constexpr uint8_t esphome::home_io_control::RESULT_MANUALLY_OPERATED = 0x03
 Manually operated by a user.
static constexpr uint8_t esphome::home_io_control::RESULT_BLOCKED = 0x04
 Node blocked by an object.
static constexpr uint8_t esphome::home_io_control::RESULT_WRONG_SYSTEMKEY = 0x05
 Node contains the wrong system key.
static constexpr uint8_t esphome::home_io_control::RESULT_PRIORITY_LEVEL_LOCKED = 0x06
 Node is locked on this priority level.
static constexpr uint8_t esphome::home_io_control::RESULT_REACHED_WRONG_POSITION = 0x07
 Node stopped in another position than expected.
static constexpr uint8_t esphome::home_io_control::RESULT_ERROR_DURING_EXECUTION = 0x08
 Generic execution failure.
static constexpr uint8_t esphome::home_io_control::RESULT_NO_EXECUTION = 0x09
 Node did not move.
static constexpr uint8_t esphome::home_io_control::RESULT_CALIBRATING = 0x0A
 Node is calibrating.
static constexpr uint8_t esphome::home_io_control::RESULT_POWER_CONSUMPTION_TOO_HIGH = 0x0B
 Node power consumption is too high.
static constexpr uint8_t esphome::home_io_control::RESULT_POWER_CONSUMPTION_TOO_LOW = 0x0C
 Node power consumption is too low.
static constexpr uint8_t esphome::home_io_control::RESULT_LOCK_POSITION_OPEN = 0x0D
 Lock command failed because the door is open.
static constexpr uint8_t esphome::home_io_control::RESULT_MOTION_TIME_TOO_LONG = 0x0E
 Target was not reached in time.
static constexpr uint8_t esphome::home_io_control::RESULT_THERMAL_PROTECTION = 0x0F
 Node entered thermal protection mode.
static constexpr uint8_t esphome::home_io_control::RESULT_PRODUCT_NOT_OPERATIONAL = 0x10
 Node is not currently operational.
static constexpr uint8_t esphome::home_io_control::RESULT_FILTER_MAINTENANCE_NEEDED = 0x11
 Filter needs maintenance.
static constexpr uint8_t esphome::home_io_control::RESULT_BATTERY_LEVEL = 0x12
 Battery level is low.
static constexpr uint8_t esphome::home_io_control::RESULT_TARGET_MODIFIED = 0x13
 Node modified the requested target value.
static constexpr uint8_t esphome::home_io_control::RESULT_MODE_NOT_IMPLEMENTED = 0x14
 Mode is not supported by the node.
static constexpr uint8_t esphome::home_io_control::RESULT_COMMAND_INCOMPATIBLE_TO_MOVEMENT = 0x15
 Command cannot move the node that way.
static constexpr uint8_t esphome::home_io_control::RESULT_USER_ACTION = 0x16
 User action overrode the command.
static constexpr uint8_t esphome::home_io_control::RESULT_DEAD_BOLT_ERROR = 0x17
 Dead bolt error.
static constexpr uint8_t esphome::home_io_control::RESULT_AUTOMATIC_CYCLE_ENGAGED = 0x18
 Node entered automatic cycle mode.
static constexpr uint8_t esphome::home_io_control::RESULT_WRONG_LOAD_CONNECTED = 0x19
 Wrong load connected to node.
static constexpr uint8_t esphome::home_io_control::RESULT_COLOUR_NOT_REACHABLE = 0x1A
 Requested colour not reachable.
static constexpr uint8_t esphome::home_io_control::RESULT_TARGET_NOT_REACHABLE = 0x1B
 Requested target not reachable.
static constexpr uint8_t esphome::home_io_control::RESULT_BAD_INDEX_RECEIVED = 0x1C
 Invalid index received.
static constexpr uint8_t esphome::home_io_control::RESULT_COMMAND_OVERRULED = 0x1D
 Command was overruled by a newer command.
static constexpr uint8_t esphome::home_io_control::RESULT_NODE_WAITING_FOR_POWER = 0x1E
 Node is waiting for power.
static constexpr uint8_t esphome::home_io_control::RESULT_NODE_LOCKED = 0x20
 Node is locked.
static constexpr uint8_t esphome::home_io_control::RESULT_WRONG_POSITION = 0x21
 Node reports wrong position.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITS_NOT_SET = 0x22
 Device limits are not set.
static constexpr uint8_t esphome::home_io_control::RESULT_IP_NOT_SET = 0x23
 Intermediate position is not set.
static constexpr uint8_t esphome::home_io_control::RESULT_OUT_OF_RANGE = 0x24
 Requested value is out of range.
static constexpr uint8_t esphome::home_io_control::RESULT_PRIORITY_LOCKED_NON_EXEC
 Priority locked, command not executed (ACEI priority too low).
static constexpr uint8_t esphome::home_io_control::RESULT_INFORMATION_CODE = 0xDF
 Information-only code with unknown semantics.
static constexpr uint8_t esphome::home_io_control::RESULT_PARAMETER_LIMITED = 0xE0
 Parameter limited by an unknown device.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_LOCAL_USER = 0xE1
 Parameter limited by local button.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_USER = 0xE2
 Parameter limited by a remote control.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_RAIN = 0xE3
 Parameter limited by a rain sensor.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_TIMER = 0xE4
 Parameter limited by a timer.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_SCD = 0xE5
 Parameter limited by a security actuator.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_UPS = 0xE6
 Parameter limited by a power supply.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_UNKNOWN_DEVICE = 0xE7
 Parameter limited by an unknown device.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_SAAC = 0xEA
 Parameter limited by a standalone automatic controller.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_WIND = 0xEB
 Parameter limited by a wind sensor.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_MYSELF = 0xEC
 Parameter limited by the node itself.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_AUTOMATIC_CYCLE = 0xED
 Parameter limited by an automatic cycle.
static constexpr uint8_t esphome::home_io_control::RESULT_LIMITATION_BY_EMERGENCY = 0xEE
 Parameter limited by an emergency.
static constexpr uint8_t esphome::home_io_control::POS_STOP = 0xD2
 Position values in the IO protocol.
static constexpr uint8_t esphome::home_io_control::POS_UNKNOWN = 0xD4
 Wire value: position unknown / keep current.
static constexpr uint8_t esphome::home_io_control::POS_FAVORITE = 0xD8
 Wire value: move to favorite/"My" position.
static constexpr uint8_t esphome::home_io_control::POS_SECURED_TARGET = 0xD1
 Wire value for the secured target position command.
static constexpr uint8_t esphome::home_io_control::POS_DEFAULT = 0xD3
 Wire value for the default position command.
static constexpr uint8_t esphome::home_io_control::POS_FORCE_OPEN = 0x64
 Ambiguous wire value used only for passive 1W-traffic intent decoding (decode_1w_main_intent() / oneway_intent_to_target() in proto_codecs.cpp).
static constexpr uint8_t esphome::home_io_control::POS_VENT_MODIFIER = 0x03
 Modifier byte for the ventilation command.
static constexpr uint8_t esphome::home_io_control::STATUS_STOPPED = 0x01
 Status byte flags in CMD_PRIVATE_RESP and CMD_STATUS_UPDATE.
static constexpr uint8_t esphome::home_io_control::STATUS_EXPECTED = 0x80
 Byte 1 bit 7: device will send auto status update.
static constexpr uint8_t esphome::home_io_control::STATUS_TILT_SELECTOR = 0x20
 Extended status payload marker for tilt-capable devices.
static constexpr uint8_t esphome::home_io_control::TRANSFER_KEY [AES_KEY_SIZE]
 The transfer key is a hardcoded key used ONLY during pairing to obfuscate the system key during over-the-air transfer.
static constexpr uint16_t esphome::home_io_control::CRC_POLYNOMIAL_REVERSED = 0x8408
 Reversed CRC-CCITT polynomial used by IO-homecontrol.
static constexpr uint16_t esphome::home_io_control::CRC_LSB_MASK = 0x0001
 Least-significant-bit mask for reflected CRC update.
static constexpr uint8_t esphome::home_io_control::BROADCAST_DISCOVER [NODE_ID_SIZE] = {0x00, 0x00, 0x3B}
 Broadcast address for device discovery (0x00003B).
static constexpr uint8_t esphome::home_io_control::BROADCAST_DISCOVER_ALT [NODE_ID_SIZE] = {0x00, 0x00, 0x3F}
 Alternate discovery / 1W broadcast address (0x00003F).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_ID_MAX = 12
 Maximum manufacturer ID with a known name in the lookup table.
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_VELUX = 1
 IO-Homecontrol manufacturer ID constants.
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_SOMFY = 2
 Somfy (shutters, awnings, blinds).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_HONEYWELL = 3
 Honeywell.
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_HORMANN = 4
 Hörmann (garage doors, gates).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_ASSA_ABLOY = 5
 ASSA ABLOY (locks, access).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_NIKO = 6
 Niko (switches, home automation).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_WINDOW_MASTER = 7
 WINDOW MASTER (ventilation).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_RENSON = 8
 Renson (ventilation, sun protection).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_CIAT = 9
 CIAT (HVAC).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_SECUYOU = 10
 Secuyou (security).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_OVERKIZ = 11
 OVERKIZ (Somfy connectivity platform).
static constexpr uint8_t esphome::home_io_control::MANUFACTURER_ATLANTIC_GROUP = 12
 Atlantic Group (heating, hot water).
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_LOCAL_USER = 0x00
 Command originator codes indicating what or who triggered a command.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_USER_REMOTE = 0x01
 User sent command from a remote control.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_RAIN_SENSOR = 0x02
 Rain sensor triggered the movement.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_TIMER = 0x03
 Timer or schedule triggered the movement.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_SECURITY = 0x04
 Security controlling device (SCD) action.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_UPS = 0x05
 Uninterruptible power supply action.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_SMART_CONTROLLER = 0x06
 Smart function controller.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_LIFESTYLE = 0x07
 Lifestyle scenario controller.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_SAAC = 0x08
 Stand-alone automatic controller (SAAC).
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_WIND_SENSOR = 0x09
 Wind sensor triggered the movement.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_LOAD_SHEDDING = 0x0B
 Load-shedding manager.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_LOCAL_LIGHT = 0x0C
 Local light sensor.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_ENVIRONMENT = 0x0D
 Unspecified environment sensor.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_MYSELF = 0x10
 Actuator decided to move by itself.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_AUTOMATIC_CYCLE = 0xFE
 Automatic cycle / external access.
static constexpr uint8_t esphome::home_io_control::ORIGINATOR_EMERGENCY = 0xFF
 Emergency command (never disabled).
static constexpr uint8_t esphome::home_io_control::ACEI_VALID_BIT = 0x01
 ACEI byte bit-field definitions.
static constexpr uint8_t esphome::home_io_control::ACEI_EXTENDED_MASK = 0x06
 Bits [2:1]: extended field.
static constexpr uint8_t esphome::home_io_control::ACEI_EXTENDED_SHIFT = 1
 Shift for extended field extraction.
static constexpr uint8_t esphome::home_io_control::ACEI_SERVICE_MASK = 0x18
 Bits [4:3]: service type.
static constexpr uint8_t esphome::home_io_control::ACEI_SERVICE_SHIFT = 3
 Shift for service field extraction.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_MASK = 0xE0
 Bits [7:5]: priority level (0–7).
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_SHIFT = 5
 Shift for priority level extraction.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_PROTECTION_HUMAN = 0
 ACEI priority level values (0–7).
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_PROTECTION_SENSOR = 1
 Goods/environment protection via sensors.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_USER_HIGH = 2
 High-priority user controller.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_USER_DEFAULT = 3
 Default remote controller priority.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_COMFORT_1 = 4
 Comfort automation level 1.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_COMFORT_2 = 5
 Comfort automation level 2.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_AUTO_SAAC = 6
 Stand-alone automatic controller.
static constexpr uint8_t esphome::home_io_control::ACEI_LEVEL_AUTO_DEFAULT = 7
 Default automatic level (lowest).
static constexpr uint8_t esphome::home_io_control::DISCOVERY_RESP_BACKBONE_OFFSET = 2
 Byte offsets within CMD_DISCOVER_RESP (0x29) payload data.
static constexpr uint8_t esphome::home_io_control::DISCOVERY_RESP_MANUFACTURER_OFFSET = 5
 Manufacturer ID at data[5].
static constexpr uint8_t esphome::home_io_control::DISCOVERY_RESP_FLAGS_OFFSET = 6
 Flags byte at data[6].
static constexpr uint8_t esphome::home_io_control::DISCOVERY_RESP_TIMESTAMP_OFFSET = 7
 Timestamp starts at data[7] (2 bytes).
static constexpr uint8_t esphome::home_io_control::DISCOVERY_RESP_FULL_SIZE = 9
 Full discovery response payload size.
static constexpr uint8_t esphome::home_io_control::DISCOVERY_FLAGS_ATT_MASK = 0xC0
 Bit masks and shifts for the Multi Information Byte fields.
static constexpr uint8_t esphome::home_io_control::DISCOVERY_FLAGS_ATT_SHIFT = 6
 Shift for ATT field extraction.
static constexpr uint8_t esphome::home_io_control::DISCOVERY_FLAGS_SYNC_CTRL_GRP = 0x20
 Bit 5: supports sync control group.
static constexpr uint8_t esphome::home_io_control::DISCOVERY_FLAGS_RF_SUPPORT = 0x08
 Bit 3: RF support in node (0=yes, 1=no).
static constexpr uint8_t esphome::home_io_control::DISCOVERY_FLAGS_POWER_SAVE_MASK = 0x03
 Bits [1:0]: power save mode.
static constexpr uint8_t esphome::home_io_control::ATT_CLASS_5S = 0
 Actuator Turnaround Time (ATT) class values.
static constexpr uint8_t esphome::home_io_control::ATT_CLASS_10S = 1
 Response within 10 seconds.
static constexpr uint8_t esphome::home_io_control::ATT_CLASS_20S = 2
 Response within 20 seconds.
static constexpr uint8_t esphome::home_io_control::ATT_CLASS_40S = 3
 Response within 40 seconds.
static constexpr uint8_t esphome::home_io_control::POWER_SAVE_ALWAYS_ALIVE = 0
 Power save mode values from the Multi Information Byte.
static constexpr uint8_t esphome::home_io_control::POWER_SAVE_LOW_POWER = 1
 Device sleeps — needs long preamble to wake.

Detailed Description

IO-Homecontrol command IDs, result codes and protocol enumerations.

Command bytes, CMD_ERROR_RESP result codes, wire position/status flags, cryptographic constants, and the manufacturer/originator/ACEI/discovery lookups. These describe what travels on the wire, independent of the frame container (proto_frame.h) and the device model (proto_device_model.h).

Definition in file proto_constants.h.