Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
proto_constants.cpp
Go to the documentation of this file.
1/// @file proto_constants.cpp
2/// @brief Name/description lookups for IO-Homecontrol commands, results and enumerations.
3/// @ingroup hioc_protocol
4
5#include "proto_constants.h"
6
7namespace esphome {
8namespace home_io_control {
9
10const char *command_name(uint8_t cmd) {
11 switch (cmd) {
12 case CMD_EXECUTE:
13 return "EXECUTE";
15 return "ACTIVATE_MODE";
16 case CMD_PRIVATE:
17 return "PRIVATE";
19 return "PRIVATE_RESP";
20 case CMD_PRIVATE2:
21 return "PRIVATE2";
23 return "PRIVATE2_RESP";
24 case CMD_SET_SENSOR:
25 return "SET_SENSOR";
27 return "SET_SENSOR_ACK";
28 case CMD_IDENTIFY:
29 return "IDENTIFY";
31 return "WRITE_PRIVATE";
33 return "WRITE_PRIVATE_ACK";
35 return "DISCOVER_REQ";
37 return "DISCOVER_RESP";
39 return "DISCOVER_SPE_REQ";
41 return "DISCOVER_SPE_RESP";
43 return "DISCOVER_CONFIRM";
45 return "DISCOVER_CONFIRM_ACK";
47 return "DISCOVER_ALT_REQ";
49 return "DISCOVER_ALT_RESP";
51 return "ONEWAY_ADD_CONTROLLER";
53 return "ONEWAY_REMOVE";
54 case CMD_KEY_INIT:
55 return "KEY_INIT";
57 return "KEY_TRANSFER";
58 case CMD_KEY_CONFIRM:
59 return "KEY_CONFIRM";
60 case CMD_ADDRESS_REQ:
61 return "ADDRESS_REQ";
63 return "ADDRESS_RESP";
65 return "LAUNCH_KEY_TRANSFER";
67 return "UNKNOWN4A_REQ";
69 return "UNKNOWN4A_RESP";
71 return "CHALLENGE_REQ";
73 return "CHALLENGE_RESP";
74 case CMD_GET_NAME:
75 return "GET_NAME";
77 return "GET_NAME_RESP";
78 case CMD_SET_NAME:
79 return "SET_NAME";
81 return "SET_NAME_RESP";
82 case CMD_GET_INFO1:
83 return "GET_INFO1";
85 return "GET_INFO1_RESP";
86 case CMD_GET_INFO2:
87 return "GET_INFO2";
89 return "GET_INFO2_RESP";
91 return "GET_GENERAL_INFO3";
93 return "GET_GENERAL_INFO3_RESP";
94 case CMD_SET_CONFIG1:
95 return "SET_CONFIG1";
97 return "SET_CONFIG1_RESP";
99 return "STATUS_UPDATE";
101 return "STATUS_UPDATE_RESP";
103 return "SEND_RAW_MESSAGE";
104 case CMD_READ_GROUPS:
105 return "READ_GROUPS";
106 case CMD_REBOOT:
107 return "REBOOT";
109 return "SERVICE_STATUS_ACK";
110 case CMD_ERROR_RESP:
111 return "ERROR_RESP";
112 default:
113 return "UNKNOWN_CMD";
114 }
115}
116
117const char *manufacturer_name(uint8_t id) {
118 switch (id) {
120 return "VELUX";
122 return "Somfy";
124 return "Honeywell";
126 return "Hörmann";
128 return "ASSA ABLOY";
130 return "Niko";
132 return "WINDOW MASTER";
134 return "Renson";
136 return "CIAT";
138 return "Secuyou";
140 return "OVERKIZ";
142 return "Atlantic Group";
143 default:
144 return "unknown";
145 }
146}
147
148const char *att_class_name(uint8_t att_class) {
149 switch (att_class) {
150 case ATT_CLASS_5S:
151 return "5s";
152 case ATT_CLASS_10S:
153 return "10s";
154 case ATT_CLASS_20S:
155 return "20s";
156 case ATT_CLASS_40S:
157 return "40s";
158 default:
159 return "unknown";
160 }
161}
162
163const char *power_save_mode_name(uint8_t mode) {
164 switch (mode) {
166 return "always_alive";
168 return "low_power";
169 default:
170 return "unknown";
171 }
172}
173
174const char *originator_name(uint8_t originator) {
175 switch (originator) {
177 return "local_user";
179 return "user_remote";
181 return "rain_sensor";
182 case ORIGINATOR_TIMER:
183 return "timer";
185 return "security";
186 case ORIGINATOR_UPS:
187 return "ups";
189 return "smart_controller";
191 return "lifestyle";
192 case ORIGINATOR_SAAC:
193 return "saac";
195 return "wind_sensor";
197 return "load_shedding";
199 return "local_light";
201 return "environment";
203 return "myself";
205 return "automatic_cycle";
207 return "emergency";
208 default:
209 return "unknown";
210 }
211}
212
213const char *acei_level_name(uint8_t level) {
214 switch (level) {
216 return "protection_human";
218 return "protection_sensor";
220 return "user_high";
222 return "user_default";
224 return "comfort_1";
226 return "comfort_2";
228 return "auto_saac";
230 return "auto_default";
231 default:
232 return "unknown";
233 }
234}
235
236const char *command_result_name(uint8_t result) {
237 switch (result) {
239 return "UNKNOWN_STATUS_REPLY";
241 return "COMMAND_COMPLETED_OK";
243 return "NO_CONTACT";
245 return "MANUALLY_OPERATED";
246 case RESULT_BLOCKED:
247 return "BLOCKED";
249 return "WRONG_SYSTEMKEY";
251 return "PRIORITY_LEVEL_LOCKED";
253 return "REACHED_WRONG_POSITION";
255 return "ERROR_DURING_EXECUTION";
257 return "NO_EXECUTION";
259 return "CALIBRATING";
261 return "POWER_CONSUMPTION_TOO_HIGH";
263 return "POWER_CONSUMPTION_TOO_LOW";
265 return "LOCK_POSITION_OPEN";
267 return "MOTION_TIME_TOO_LONG";
269 return "THERMAL_PROTECTION";
271 return "PRODUCT_NOT_OPERATIONAL";
273 return "FILTER_MAINTENANCE_NEEDED";
275 return "BATTERY_LEVEL";
277 return "TARGET_MODIFIED";
279 return "MODE_NOT_IMPLEMENTED";
281 return "COMMAND_INCOMPATIBLE_TO_MOVEMENT";
283 return "USER_ACTION";
285 return "DEAD_BOLT_ERROR";
287 return "AUTOMATIC_CYCLE_ENGAGED";
289 return "WRONG_LOAD_CONNECTED";
291 return "COLOUR_NOT_REACHABLE";
293 return "TARGET_NOT_REACHABLE";
295 return "BAD_INDEX_RECEIVED";
297 return "COMMAND_OVERRULED";
299 return "NODE_WAITING_FOR_POWER";
301 return "NODE_LOCKED";
303 return "WRONG_POSITION";
305 return "LIMITS_NOT_SET";
307 return "IP_NOT_SET";
309 return "OUT_OF_RANGE";
311 return "PRIORITY_LOCKED";
313 return "INVALID_FUNCTION_INDEX";
315 return "INFORMATION_CODE";
317 return "PARAMETER_LIMITED";
319 return "LIMITATION_BY_LOCAL_USER";
321 return "LIMITATION_BY_USER";
323 return "LIMITATION_BY_RAIN";
325 return "LIMITATION_BY_TIMER";
327 return "LIMITATION_BY_SCD";
329 return "LIMITATION_BY_UPS";
331 return "LIMITATION_BY_UNKNOWN_DEVICE";
333 return "LIMITATION_BY_SAAC";
335 return "LIMITATION_BY_WIND";
337 return "LIMITATION_BY_MYSELF";
339 return "LIMITATION_BY_AUTOMATIC_CYCLE";
341 return "LIMITATION_BY_EMERGENCY";
342 default:
343 return "UNKNOWN_RESULT_CODE";
344 }
345}
346
347const char *command_result_description(uint8_t result) {
348 switch (result) {
350 return "unknown reply";
352 return "no errors detected";
354 return "no communication to node";
356 return "manually operated by a user";
357 case RESULT_BLOCKED:
358 return "node has been blocked by an object";
360 return "node contains the wrong system key";
362 return "node is locked on this priority level";
364 return "node stopped in another position than expected";
366 return "an error occurred during command execution";
368 return "no movement of the node parameter";
370 return "node is calibrating the parameters";
372 return "node power consumption is too high";
374 return "node power consumption is too low";
376 return "door open during lock command";
378 return "target was not reached in time";
380 return "node has gone into thermal protection mode";
382 return "node is not currently operational";
384 return "filter needs maintenance";
386 return "battery level is low";
388 return "node modified the requested target value";
390 return "node does not support the received mode";
392 return "node cannot move in the requested direction";
394 return "user action overrode the command";
396 return "dead bolt error";
398 return "node has gone into automatic cycle mode";
400 return "wrong load connected to node";
402 return "node cannot reach the requested colour";
404 return "node cannot reach the requested target position";
406 return "invalid index received";
408 return "command was overruled by a newer command";
410 return "node is waiting for power";
412 return "node is locked";
414 return "wrong position";
416 return "limits are not set";
418 return "intermediate position is not set";
420 return "requested value is out of range";
422 return "command priority too low, node rejected execution";
424 return "requested function/sub-index is not implemented by the device";
426 return "information-only result with unknown semantics";
428 return "parameter was limited by an unknown device";
430 return "parameter was limited by the local button";
432 return "parameter was limited by a remote control";
434 return "parameter was limited by a rain sensor";
436 return "parameter was limited by a timer";
438 return "parameter was limited by a security controlling actuator";
440 return "parameter was limited by a power supply";
442 return "parameter was limited by an unknown device";
444 return "parameter was limited by a standalone automatic controller";
446 return "parameter was limited by a wind sensor";
448 return "parameter was limited by the node itself";
450 return "parameter was limited by an automatic cycle";
452 return "parameter was limited by an emergency";
453 default:
454 return "unknown result code";
455 }
456}
457
478
479} // namespace home_io_control
480} // namespace esphome
static constexpr uint8_t ACEI_LEVEL_USER_HIGH
High-priority user controller.
const char * manufacturer_name(uint8_t id)
Get a human-readable manufacturer name from the protocol manufacturer byte.
static constexpr uint8_t RESULT_OUT_OF_RANGE
Requested value is out of range.
static constexpr uint8_t MANUFACTURER_HONEYWELL
Honeywell.
static constexpr uint8_t RESULT_CALIBRATING
Node is calibrating.
static constexpr uint8_t ACEI_LEVEL_COMFORT_1
Comfort automation level 1.
static constexpr uint8_t CMD_SET_SENSOR
Inject sensor value into a device.
static constexpr uint8_t CMD_DISCOVER_REQ
Broadcast discovery request.
static constexpr uint8_t CMD_SET_CONFIG1
Configure device to auto-send status updates.
static constexpr uint8_t RESULT_COLOUR_NOT_REACHABLE
Requested colour not reachable.
static constexpr uint8_t RESULT_LIMITATION_BY_AUTOMATIC_CYCLE
Parameter limited by an automatic cycle.
static constexpr uint8_t ORIGINATOR_UPS
Uninterruptible power supply action.
static constexpr uint8_t ORIGINATOR_LOCAL_LIGHT
Local light sensor.
static constexpr uint8_t CMD_KEY_TRANSFER
Send encrypted system key to device.
static constexpr uint8_t RESULT_TARGET_MODIFIED
Node modified the requested target value.
static constexpr uint8_t RESULT_REACHED_WRONG_POSITION
Node stopped in another position than expected.
static constexpr uint8_t RESULT_LIMITATION_BY_MYSELF
Parameter limited by the node itself.
static constexpr uint8_t CMD_SERVICE_STATUS_ACK
No description available at all for this opcode, not even a hedge.
static constexpr uint8_t CMD_ERROR_RESP
Error response to any command.
static constexpr uint8_t CMD_GET_NAME_RESP
Device name response.
static constexpr uint8_t RESULT_AUTOMATIC_CYCLE_ENGAGED
Node entered automatic cycle mode.
static constexpr uint8_t CMD_DISCOVER_CONFIRM_ACK
Device acknowledges confirmation.
static constexpr uint8_t CMD_ACTIVATE_MODE
Activate device mode (scene, ventilation) — requires auth.
static constexpr uint8_t MANUFACTURER_CIAT
CIAT (HVAC).
static constexpr uint8_t RESULT_MODE_NOT_IMPLEMENTED
Mode is not supported by the node.
static constexpr uint8_t ACEI_LEVEL_USER_DEFAULT
Default remote controller priority.
static constexpr uint8_t RESULT_COMMAND_OVERRULED
Command was overruled by a newer command.
const char * att_class_name(uint8_t att_class)
Get a human-readable turnaround time string for an ATT class value.
static constexpr uint8_t RESULT_INVALID_FUNCTION_INDEX
CMD_PRIVATE-family function ID / sub-index / selector-block outside the range the device implements.
static constexpr uint8_t MANUFACTURER_VELUX
IO-Homecontrol manufacturer ID constants.
static constexpr uint8_t CMD_ADDRESS_RESP
Address assignment response: the device returns its own 3-byte backbone address, byte-identical to th...
static constexpr uint8_t RESULT_BAD_INDEX_RECEIVED
Invalid index received.
static constexpr uint8_t RESULT_MANUALLY_OPERATED
Manually operated by a user.
static constexpr uint8_t CMD_STATUS_UPDATE
Device-initiated status update (needs auth).
static constexpr uint8_t ACEI_LEVEL_AUTO_SAAC
Stand-alone automatic controller.
const char * power_save_mode_name(uint8_t mode)
Get a human-readable power save mode name.
static constexpr uint8_t CMD_UNKNOWN4A_REQ
Content undecoded.
static constexpr uint8_t ACEI_LEVEL_PROTECTION_SENSOR
Goods/environment protection via sensors.
static constexpr uint8_t RESULT_LIMITATION_BY_UNKNOWN_DEVICE
Parameter limited by an unknown device.
static constexpr uint8_t CMD_DISCOVER_ALT_REQ
Alternate discovery.
static constexpr uint8_t RESULT_LOCK_POSITION_OPEN
Lock command failed because the door is open.
static constexpr uint8_t CMD_PRIVATE2_RESP
Response to CMD_PRIVATE2. See CMD_PRIVATE2's comment.
static constexpr uint8_t RESULT_WRONG_SYSTEMKEY
Node contains the wrong system key.
static constexpr uint8_t CMD_GET_NAME
Request device name.
static constexpr uint8_t MANUFACTURER_RENSON
Renson (ventilation, sun protection).
static constexpr uint8_t POWER_SAVE_ALWAYS_ALIVE
Power save mode values from the Multi Information Byte.
const char * command_name(uint8_t cmd)
Get a human-readable name for any IO-Homecontrol command ID.
static constexpr uint8_t ORIGINATOR_LOAD_SHEDDING
Load-shedding manager.
static constexpr uint8_t ORIGINATOR_LIFESTYLE
Lifestyle scenario controller.
static constexpr uint8_t MANUFACTURER_NIKO
Niko (switches, home automation).
static constexpr uint8_t CMD_DISCOVER_SPE_RESP
Roll-call reply to CMD_DISCOVER_SPE_REQ, sent only by devices that already hold the requesting contro...
static constexpr uint8_t RESULT_LIMITATION_BY_EMERGENCY
Parameter limited by an emergency.
static constexpr uint8_t CMD_DISCOVER_ALT_RESP
Reply to an addressed (non-broadcast) CMD_DISCOVER_ALT_REQ, following a 0x3C/0x3D challenge-response.
static constexpr uint8_t RESULT_NODE_WAITING_FOR_POWER
Node is waiting for power.
static constexpr uint8_t ATT_CLASS_40S
Response within 40 seconds.
static constexpr uint8_t RESULT_BATTERY_LEVEL
Battery level is low.
static constexpr uint8_t CMD_WRITE_PRIVATE
Write private register (climate/heating devices).
static constexpr uint8_t RESULT_MOTION_TIME_TOO_LONG
Target was not reached in time.
static constexpr uint8_t RESULT_THERMAL_PROTECTION
Node entered thermal protection mode.
static constexpr uint8_t RESULT_POWER_CONSUMPTION_TOO_HIGH
Node power consumption is too high.
static constexpr uint8_t ORIGINATOR_MYSELF
Actuator decided to move by itself.
static constexpr uint8_t RESULT_ERROR_DURING_EXECUTION
Generic execution failure.
static constexpr uint8_t CMD_KEY_CONFIRM
Device confirms key was received.
static constexpr uint8_t CMD_WRITE_PRIVATE_ACK
Acknowledgment to CMD_WRITE_PRIVATE.
static constexpr uint8_t ACEI_LEVEL_PROTECTION_HUMAN
ACEI priority level values (0–7).
static constexpr uint8_t RESULT_PARAMETER_LIMITED
Parameter limited by an unknown device.
static constexpr uint8_t CMD_KEY_INIT
Initiate key transfer to device.
static constexpr uint8_t RESULT_LIMITATION_BY_RAIN
Parameter limited by a rain sensor.
static constexpr uint8_t RESULT_USER_ACTION
User action overrode the command.
static constexpr uint8_t CMD_GET_GENERAL_INFO3_RESP
Never captured on our own wire.
const char * command_result_description(uint8_t result)
Return a human-readable explanation for a CMD_ERROR_RESP result code.
static constexpr uint8_t CMD_GET_INFO1_RESP
Device general info 1 response.
static constexpr uint8_t ACEI_LEVEL_AUTO_DEFAULT
Default automatic level (lowest).
static constexpr uint8_t MANUFACTURER_OVERKIZ
OVERKIZ (Somfy connectivity platform).
static constexpr uint8_t CMD_ONEWAY_ADD_CONTROLLER
1W "add controller" — a 1W device broadcasts this while its key-copy gesture is active,...
const char * command_result_name(uint8_t result)
Return a stable symbolic name for a CMD_ERROR_RESP result code.
static constexpr uint8_t CMD_SET_NAME_RESP
Device-name write response.
static constexpr uint8_t RESULT_DEAD_BOLT_ERROR
Dead bolt error.
static constexpr uint8_t RESULT_NO_EXECUTION
Node did not move.
static constexpr uint8_t ATT_CLASS_20S
Response within 20 seconds.
static constexpr uint8_t ACEI_LEVEL_COMFORT_2
Comfort automation level 2.
static constexpr uint8_t ORIGINATOR_SECURITY
Security controlling device (SCD) action.
static constexpr uint8_t ORIGINATOR_EMERGENCY
Emergency command (never disabled).
static constexpr uint8_t RESULT_LIMITATION_BY_WIND
Parameter limited by a wind sensor.
static constexpr uint8_t RESULT_LIMITATION_BY_UPS
Parameter limited by a power supply.
static constexpr uint8_t CMD_DISCOVER_SPE_REQ
Broadcast roll-call answered by every device that already holds this controller's system key,...
static constexpr uint8_t CMD_EXECUTE
Set position/open/close/stop — requires authentication.
static constexpr uint8_t CMD_PRIVATE_RESP
Response to 0x00 and 0x03 (contains position data).
static constexpr uint8_t RESULT_LIMITATION_BY_USER
Parameter limited by a remote control.
static constexpr uint8_t RESULT_COMMAND_COMPLETED_OK
No errors detected.
static constexpr uint8_t ORIGINATOR_WIND_SENSOR
Wind sensor triggered the movement.
static constexpr uint8_t MANUFACTURER_ATLANTIC_GROUP
Atlantic Group (heating, hot water).
static constexpr uint8_t CMD_CHALLENGE_REQ
6-byte random challenge.
static constexpr uint8_t CMD_STATUS_UPDATE_RESP
Acknowledge status update.
static constexpr uint8_t RESULT_WRONG_POSITION
Node reports wrong position.
static constexpr uint8_t RESULT_COMMAND_INCOMPATIBLE_TO_MOVEMENT
Command cannot move the node that way.
static constexpr uint8_t RESULT_PRODUCT_NOT_OPERATIONAL
Node is not currently operational.
static constexpr uint8_t ATT_CLASS_5S
Actuator Turnaround Time (ATT) class values.
static constexpr uint8_t ATT_CLASS_10S
Response within 10 seconds.
const char * acei_level_name(uint8_t level)
Get a human-readable name for an ACEI priority level (0–7).
static constexpr uint8_t CMD_SET_NAME
Set device name (authenticated).
static constexpr uint8_t CMD_SET_CONFIG1_RESP
Config response, otherwise undocumented.
static constexpr uint8_t CMD_LAUNCH_KEY_TRANSFER
Device-initiated ("pull") key transfer request: documented elsewhere as a command ID plus a 6-byte ch...
static constexpr uint8_t CMD_DISCOVER_CONFIRM
Confirm discovery to device.
static constexpr uint8_t CMD_ONEWAY_REMOVE
1W "remove controller" (un-pair a 1W remote from a device); same payload shape as 0x2E.
static constexpr uint8_t CMD_SEND_RAW_MESSAGE
Named "Send Raw Message" / "Find Hardware" — two candidate names, neither settled.
static constexpr uint8_t CMD_DISCOVER_RESP
Device responds with its ID and type.
static constexpr uint8_t RESULT_POWER_CONSUMPTION_TOO_LOW
Node power consumption is too low.
static constexpr uint8_t RESULT_FILTER_MAINTENANCE_NEEDED
Filter needs maintenance.
static constexpr uint8_t MANUFACTURER_ASSA_ABLOY
ASSA ABLOY (locks, access).
static constexpr uint8_t RESULT_WRONG_LOAD_CONNECTED
Wrong load connected to node.
static constexpr uint8_t MANUFACTURER_HORMANN
Hörmann (garage doors, gates).
static constexpr uint8_t CMD_READ_GROUPS
Named "Actuator: Read Groups" / "ActuatorAnyConfigIsLocal" (uncertain) / "Service ACK" — three...
static constexpr uint8_t POWER_SAVE_LOW_POWER
Device sleeps — needs long preamble to wake.
static constexpr uint8_t CMD_SET_SENSOR_ACK
Acknowledgment to CMD_SET_SENSOR.
static constexpr uint8_t CMD_GET_GENERAL_INFO3
Observed on the wire (tests/corpus/captures/probe/velux_kig300_probe_capability_burst....
static constexpr uint8_t ORIGINATOR_RAIN_SENSOR
Rain sensor triggered the movement.
static constexpr uint8_t CMD_IDENTIFY
Device physical identification / jog — requires authentication.
static constexpr uint8_t RESULT_LIMITATION_BY_SAAC
Parameter limited by a standalone automatic controller.
static constexpr uint8_t CMD_PRIVATE
Get device status — no authentication needed.
static constexpr uint8_t MANUFACTURER_WINDOW_MASTER
WINDOW MASTER (ventilation).
static constexpr uint8_t RESULT_LIMITATION_BY_TIMER
Parameter limited by a timer.
static constexpr uint8_t CMD_PRIVATE2
Content otherwise undecoded by the wire parser.
static constexpr uint8_t MANUFACTURER_SECUYOU
Secuyou (security).
static constexpr uint8_t CMD_GET_INFO2_RESP
Device type/model response.
static constexpr uint8_t RESULT_PRIORITY_LEVEL_LOCKED
Node is locked on this priority level.
static constexpr uint8_t ORIGINATOR_SAAC
Stand-alone automatic controller (SAAC).
static constexpr uint8_t ORIGINATOR_USER_REMOTE
User sent command from a remote control.
static constexpr uint8_t CMD_CHALLENGE_RESP
HMAC proof answering a 0x3C.
bool is_limitation_result(uint8_t result)
Check whether a result code represents an environmental or control limitation.
static constexpr uint8_t CMD_GET_INFO2
Request device type/model info.
const char * originator_name(uint8_t originator)
Get a human-readable name for a command originator byte.
static constexpr uint8_t RESULT_UNKNOWN_STATUS_REPLY
Device returned an unknown status reply.
static constexpr uint8_t CMD_GET_INFO1
Request device general info 1.
static constexpr uint8_t MANUFACTURER_SOMFY
Somfy (shutters, awnings, blinds).
static constexpr uint8_t ORIGINATOR_ENVIRONMENT
Unspecified environment sensor.
static constexpr uint8_t RESULT_LIMITS_NOT_SET
Device limits are not set.
static constexpr uint8_t CMD_REBOOT
Named "Reboot" / "Service Status" — two candidate names, one of them destructive-sounding,...
static constexpr uint8_t RESULT_NODE_LOCKED
Node is locked.
static constexpr uint8_t RESULT_PRIORITY_LOCKED_NON_EXEC
Priority locked, command not executed (ACEI priority too low).
static constexpr uint8_t ORIGINATOR_TIMER
Timer or schedule triggered the movement.
static constexpr uint8_t RESULT_NO_CONTACT
No communication to node.
static constexpr uint8_t ORIGINATOR_SMART_CONTROLLER
Smart function controller.
static constexpr uint8_t RESULT_BLOCKED
Node blocked by an object.
static constexpr uint8_t CMD_ADDRESS_REQ
"Report your address" request.
static constexpr uint8_t RESULT_INFORMATION_CODE
Information-only code with unknown semantics.
static constexpr uint8_t ORIGINATOR_AUTOMATIC_CYCLE
Automatic cycle / external access.
static constexpr uint8_t RESULT_LIMITATION_BY_LOCAL_USER
Parameter limited by local button.
static constexpr uint8_t RESULT_TARGET_NOT_REACHABLE
Requested target not reachable.
static constexpr uint8_t RESULT_IP_NOT_SET
Intermediate position is not set.
static constexpr uint8_t CMD_UNKNOWN4A_RESP
Observed on the wire (tests/corpus/captures/probe/velux_kig300_probe_capability_burst....
static constexpr uint8_t ORIGINATOR_LOCAL_USER
Command originator codes indicating what or who triggered a command.
static constexpr uint8_t RESULT_LIMITATION_BY_SCD
Parameter limited by a security actuator.
IO-Homecontrol command IDs, result codes and protocol enumerations.