pyvlx 0.2.27__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyvlx/__init__.py +21 -0
- pyvlx/api/__init__.py +23 -0
- pyvlx/api/activate_scene.py +63 -0
- pyvlx/api/api_event.py +73 -0
- pyvlx/api/command_send.py +85 -0
- pyvlx/api/factory_default.py +34 -0
- pyvlx/api/frame_creation.py +202 -0
- pyvlx/api/frames/__init__.py +76 -0
- pyvlx/api/frames/alias_array.py +45 -0
- pyvlx/api/frames/frame.py +56 -0
- pyvlx/api/frames/frame_activate_scene.py +92 -0
- pyvlx/api/frames/frame_activation_log_updated.py +14 -0
- pyvlx/api/frames/frame_command_send.py +280 -0
- pyvlx/api/frames/frame_discover_nodes.py +64 -0
- pyvlx/api/frames/frame_error_notification.py +42 -0
- pyvlx/api/frames/frame_facory_default.py +32 -0
- pyvlx/api/frames/frame_get_all_nodes_information.py +218 -0
- pyvlx/api/frames/frame_get_limitation.py +127 -0
- pyvlx/api/frames/frame_get_local_time.py +38 -0
- pyvlx/api/frames/frame_get_network_setup.py +64 -0
- pyvlx/api/frames/frame_get_node_information.py +223 -0
- pyvlx/api/frames/frame_get_protocol_version.py +53 -0
- pyvlx/api/frames/frame_get_scene_list.py +82 -0
- pyvlx/api/frames/frame_get_state.py +47 -0
- pyvlx/api/frames/frame_get_version.py +72 -0
- pyvlx/api/frames/frame_helper.py +40 -0
- pyvlx/api/frames/frame_house_status_monitor_disable_cfm.py +14 -0
- pyvlx/api/frames/frame_house_status_monitor_disable_req.py +14 -0
- pyvlx/api/frames/frame_house_status_monitor_enable_cfm.py +14 -0
- pyvlx/api/frames/frame_house_status_monitor_enable_req.py +14 -0
- pyvlx/api/frames/frame_leave_learn_state.py +41 -0
- pyvlx/api/frames/frame_node_information_changed.py +57 -0
- pyvlx/api/frames/frame_node_state_position_changed_notification.py +84 -0
- pyvlx/api/frames/frame_password_change.py +114 -0
- pyvlx/api/frames/frame_password_enter.py +70 -0
- pyvlx/api/frames/frame_reboot.py +32 -0
- pyvlx/api/frames/frame_set_node_name.py +73 -0
- pyvlx/api/frames/frame_set_utc.py +45 -0
- pyvlx/api/frames/frame_status_request.py +212 -0
- pyvlx/api/get_all_nodes_information.py +46 -0
- pyvlx/api/get_limitation.py +64 -0
- pyvlx/api/get_local_time.py +34 -0
- pyvlx/api/get_network_setup.py +34 -0
- pyvlx/api/get_node_information.py +42 -0
- pyvlx/api/get_protocol_version.py +40 -0
- pyvlx/api/get_scene_list.py +49 -0
- pyvlx/api/get_state.py +43 -0
- pyvlx/api/get_version.py +34 -0
- pyvlx/api/house_status_monitor.py +52 -0
- pyvlx/api/leave_learn_state.py +33 -0
- pyvlx/api/password_enter.py +39 -0
- pyvlx/api/reboot.py +33 -0
- pyvlx/api/session_id.py +20 -0
- pyvlx/api/set_node_name.py +32 -0
- pyvlx/api/set_utc.py +31 -0
- pyvlx/api/status_request.py +48 -0
- pyvlx/config.py +54 -0
- pyvlx/connection.py +182 -0
- pyvlx/const.py +685 -0
- pyvlx/dataobjects.py +161 -0
- pyvlx/discovery.py +100 -0
- pyvlx/exception.py +26 -0
- pyvlx/heartbeat.py +79 -0
- pyvlx/klf200gateway.py +167 -0
- pyvlx/lightening_device.py +102 -0
- pyvlx/log.py +4 -0
- pyvlx/node.py +74 -0
- pyvlx/node_helper.py +165 -0
- pyvlx/node_updater.py +162 -0
- pyvlx/nodes.py +99 -0
- pyvlx/on_off_switch.py +44 -0
- pyvlx/opening_device.py +644 -0
- pyvlx/parameter.py +357 -0
- pyvlx/py.typed +0 -0
- pyvlx/pyvlx.py +124 -0
- pyvlx/scene.py +53 -0
- pyvlx/scenes.py +60 -0
- pyvlx/slip.py +48 -0
- pyvlx/string_helper.py +20 -0
- pyvlx-0.2.27.dist-info/METADATA +122 -0
- pyvlx-0.2.27.dist-info/RECORD +84 -0
- pyvlx-0.2.27.dist-info/WHEEL +5 -0
- pyvlx-0.2.27.dist-info/licenses/LICENSE +165 -0
- pyvlx-0.2.27.dist-info/top_level.txt +1 -0
pyvlx/const.py
ADDED
|
@@ -0,0 +1,685 @@
|
|
|
1
|
+
"""Module for enum and consts."""
|
|
2
|
+
from enum import Enum
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Command(Enum):
|
|
7
|
+
"""Enum class for GW Command bytes."""
|
|
8
|
+
|
|
9
|
+
# pylint: disable=invalid-name
|
|
10
|
+
|
|
11
|
+
GW_ERROR_NTF = 0x0000
|
|
12
|
+
GW_REBOOT_REQ = 0x0001
|
|
13
|
+
GW_REBOOT_CFM = 0x0002
|
|
14
|
+
|
|
15
|
+
GW_SET_FACTORY_DEFAULT_REQ = 0x0003
|
|
16
|
+
GW_SET_FACTORY_DEFAULT_CFM = 0x0004
|
|
17
|
+
|
|
18
|
+
GW_GET_VERSION_REQ = 0x0008
|
|
19
|
+
GW_GET_VERSION_CFM = 0x0009
|
|
20
|
+
|
|
21
|
+
GW_GET_PROTOCOL_VERSION_REQ = 0x000A
|
|
22
|
+
GW_GET_PROTOCOL_VERSION_CFM = 0x000B
|
|
23
|
+
|
|
24
|
+
GW_GET_STATE_REQ = 0x000C
|
|
25
|
+
GW_GET_STATE_CFM = 0x000D
|
|
26
|
+
|
|
27
|
+
GW_LEAVE_LEARN_STATE_REQ = 0x000E
|
|
28
|
+
GW_LEAVE_LEARN_STATE_CFM = 0x000F
|
|
29
|
+
|
|
30
|
+
GW_GET_NETWORK_SETUP_REQ = 0x00E0
|
|
31
|
+
GW_GET_NETWORK_SETUP_CFM = 0x00E1
|
|
32
|
+
GW_SET_NETWORK_SETUP_REQ = 0x00E2
|
|
33
|
+
GW_SET_NETWORK_SETUP_CFM = 0x00E3
|
|
34
|
+
|
|
35
|
+
GW_CS_GET_SYSTEMTABLE_DATQ_REQ = 0x0100
|
|
36
|
+
GW_CS_GET_SYSTEMTABLE_DATA_CFM = 0x0101
|
|
37
|
+
GW_CS_GET_SYSTEMTABLE_DATA_NTF = 0x0102
|
|
38
|
+
|
|
39
|
+
GW_CS_DISCOVER_NODES_REQ = 0x0103
|
|
40
|
+
GW_CS_DISCOVER_NODES_CFM = 0x0104
|
|
41
|
+
GW_CS_DISCOVER_NODES_NTF = 0x0105
|
|
42
|
+
|
|
43
|
+
GW_CS_REMOVE_NODES_REQ = 0x0106
|
|
44
|
+
GW_CS_REMOVE_NODES_CFM = 0x0107
|
|
45
|
+
|
|
46
|
+
GW_CS_VIRGIN_STATE_REQ = 0x0108
|
|
47
|
+
GW_CS_VIRGIN_STATE_CFM = 0x0109
|
|
48
|
+
|
|
49
|
+
GW_CS_CONTROLLER_COPY_REQ = 0x010A
|
|
50
|
+
GW_CS_CONTROLLER_COPY_CFM = 0x010B
|
|
51
|
+
GW_CS_CONTROLLER_COPY_NTF = 0x010C
|
|
52
|
+
GW_CS_CONTROLLER_COPY_CANCEL_NTF = 0x010D
|
|
53
|
+
|
|
54
|
+
GW_CS_RECEIVE_KEY_REQ = 0x010E
|
|
55
|
+
GW_CS_RECEIVE_KEY_CFM = 0x010F
|
|
56
|
+
GW_CS_RECEIVE_KEY_NTF = 0x0110
|
|
57
|
+
|
|
58
|
+
GW_CS_PGC_JOB_NTF = 0x0111
|
|
59
|
+
GW_CS_SYSTEM_TABLE_UPDATE_NTF = 0x0112
|
|
60
|
+
GW_CS_GENERATE_NEW_KEY_REQ = 0x0113
|
|
61
|
+
GW_CS_GENERATE_NEW_KEY_CFM = 0x0114
|
|
62
|
+
GW_CS_GENERATE_NEW_KEY_NTF = 0x0115
|
|
63
|
+
|
|
64
|
+
GW_CS_REPAIR_KEY_REQ = 0x0116
|
|
65
|
+
GW_CS_REPAIR_KEY_CFM = 0x0117
|
|
66
|
+
GW_CS_REPAID_KEY_NTF = 0x0118
|
|
67
|
+
|
|
68
|
+
GW_CS_ACTIVATE_CONFIGURATION_MODE_REQ = 0x0119
|
|
69
|
+
GW_CS_ACTIVATE_CONFIGURATION_MODE_CFM = 0x011A
|
|
70
|
+
|
|
71
|
+
GW_GET_NODE_INFORMATION_REQ = 0x0200
|
|
72
|
+
GW_GET_NODE_INFORMATION_CFM = 0x0201
|
|
73
|
+
GW_GET_NODE_INFORMATION_NTF = 0x0210
|
|
74
|
+
|
|
75
|
+
GW_GET_ALL_NODES_INFORMATION_REQ = 0x0202
|
|
76
|
+
GW_GET_ALL_NODES_INFORMATION_CFM = 0x0203
|
|
77
|
+
GW_GET_ALL_NODES_INFORMATION_NTF = 0x0204
|
|
78
|
+
GW_GET_ALL_NODES_INFORMATION_FINISHED_NTF = 0x0205
|
|
79
|
+
|
|
80
|
+
GW_SET_NODE_VARIATION_REQ = 0x0206
|
|
81
|
+
GW_SET_NODE_VARIATION_CFM = 0x0207
|
|
82
|
+
|
|
83
|
+
GW_SET_NODE_NAME_REQ = 0x0208
|
|
84
|
+
GW_SET_NODE_NAME_CFM = 0x0209
|
|
85
|
+
|
|
86
|
+
GW_SET_NODE_VELOCITY_REQ = 0x020A
|
|
87
|
+
GW_SET_NODE_VELOCITY_CFM = 0x020B
|
|
88
|
+
|
|
89
|
+
GW_NODE_INFORMATION_CHANGED_NTF = 0x020C
|
|
90
|
+
|
|
91
|
+
GW_NODE_STATE_POSITION_CHANGED_NTF = 0x0211
|
|
92
|
+
|
|
93
|
+
GW_SET_NODE_ORDER_AND_PLACEMENT_REQ = 0x020D
|
|
94
|
+
GW_SET_NODE_ORDER_AND_PLACEMENT_CFM = 0x020E
|
|
95
|
+
|
|
96
|
+
GW_GET_GROUP_INFORMATION_REQ = 0x0220
|
|
97
|
+
GW_GET_GROUP_INFORMATION_CFM = 0x0221
|
|
98
|
+
GW_GET_GROUP_INFORMATION_NTF = 0x0230
|
|
99
|
+
|
|
100
|
+
GW_SET_GROUP_INFORMATION_REQ = 0x0222
|
|
101
|
+
GW_SET_GROUP_INFORMATION_CFM = 0x0223
|
|
102
|
+
|
|
103
|
+
GW_GROUP_INFORMATION_CHANGED_NTF = 0x0224
|
|
104
|
+
|
|
105
|
+
GW_DELETE_GROUP_REQ = 0x0225
|
|
106
|
+
GW_DELETE_GROUP_CFM = 0x0226
|
|
107
|
+
|
|
108
|
+
GW_NEW_GROUP_REQ = 0x0227
|
|
109
|
+
GW_NEW_GROUP_CFM = 0x0228
|
|
110
|
+
|
|
111
|
+
GW_GET_ALL_GROUPS_INFORMATION_REQ = 0x0229
|
|
112
|
+
GW_GET_ALL_GROUPS_INFORMATION_CFM = 0x022A
|
|
113
|
+
GW_GET_ALL_GROUPS_INFORMATION_NTF = 0x022B
|
|
114
|
+
|
|
115
|
+
GW_GET_ALL_GROUPS_INFORMATION_FINISHED_NTF = 0x022C
|
|
116
|
+
|
|
117
|
+
GW_GROUP_DELETED_NTF = 0x022D
|
|
118
|
+
|
|
119
|
+
GW_HOUSE_STATUS_MONITOR_ENABLE_REQ = 0x0240
|
|
120
|
+
GW_HOUSE_STATUS_MONITOR_ENABLE_CFM = 0x0241
|
|
121
|
+
|
|
122
|
+
GW_HOUSE_STATUS_MONITOR_DISABLE_REQ = 0x0242
|
|
123
|
+
GW_HOUSE_STATUS_MONITOR_DISABLE_CFM = 0x0243
|
|
124
|
+
|
|
125
|
+
GW_COMMAND_SEND_REQ = 0x0300
|
|
126
|
+
GW_COMMAND_SEND_CFM = 0x0301
|
|
127
|
+
GW_COMMAND_RUN_STATUS_NTF = 0x0302
|
|
128
|
+
GW_COMMAND_REMAINING_TIME_NTF = 0x0303
|
|
129
|
+
GW_SESSION_FINISHED_NTF = 0x0304
|
|
130
|
+
|
|
131
|
+
GW_STATUS_REQUEST_REQ = 0x0305
|
|
132
|
+
GW_STATUS_REQUEST_CFM = 0x0306
|
|
133
|
+
GW_STATUS_REQUEST_NTF = 0x0307
|
|
134
|
+
|
|
135
|
+
GW_WINK_SEND_REQ = 0x0308
|
|
136
|
+
GW_WINK_SEND_CFM = 0x0309
|
|
137
|
+
GW_WINK_SEND_NTF = 0x030A
|
|
138
|
+
|
|
139
|
+
GW_SET_LIMITATION_REQ = 0x0310
|
|
140
|
+
GW_SET_LIMITATION_CFM = 0x0311
|
|
141
|
+
GW_GET_LIMITATION_STATUS_REQ = 0x0312
|
|
142
|
+
GW_GET_LIMITATION_STATUS_CFM = 0x0313
|
|
143
|
+
GW_LIMITATION_STATUS_NTF = 0x0314
|
|
144
|
+
|
|
145
|
+
GW_MODE_SEND_REQ = 0x0320
|
|
146
|
+
GW_MODE_SEND_CFM = 0x0321
|
|
147
|
+
GW_MODE_SEND_NTF = 0x0322
|
|
148
|
+
|
|
149
|
+
GW_INITIALIZE_SCENE_REQ = 0x0400
|
|
150
|
+
GW_INITIALIZE_SCENE_CFM = 0x0401
|
|
151
|
+
GW_INITIALIZE_SCENE_NTF = 0x0402
|
|
152
|
+
GW_INITIALIZE_SCENE_CANCEL_REQ = 0x0403
|
|
153
|
+
GW_INITIALIZE_SCENE_CANCEL_CFM = 0x0404
|
|
154
|
+
GW_RECORD_SCENE_REQ = 0x0405
|
|
155
|
+
GW_RECORD_SCENE_CFM = 0x0406
|
|
156
|
+
GW_RECORD_SCENE_NTF = 0x0407
|
|
157
|
+
|
|
158
|
+
GW_DELETE_SCENE_REQ = 0x0408
|
|
159
|
+
GW_DELETE_SCENE_CFM = 0x0409
|
|
160
|
+
|
|
161
|
+
GW_RENAME_SCENE_REQ = 0x040A
|
|
162
|
+
GW_RENAME_SCENE_CFM = 0x040B
|
|
163
|
+
|
|
164
|
+
GW_GET_SCENE_LIST_REQ = 0x040C
|
|
165
|
+
GW_GET_SCENE_LIST_CFM = 0x040D
|
|
166
|
+
GW_GET_SCENE_LIST_NTF = 0x040E
|
|
167
|
+
|
|
168
|
+
GW_GET_SCENE_INFORMATION_REQ = 0x040F
|
|
169
|
+
GW_GET_SCENE_INFORMATION_CFM = 0x0410
|
|
170
|
+
GW_GET_SCENE_INFORMATION_NTF = 0x0411
|
|
171
|
+
|
|
172
|
+
GW_ACTIVATE_SCENE_REQ = 0x0412
|
|
173
|
+
GW_ACTIVATE_SCENE_CFM = 0x0413
|
|
174
|
+
|
|
175
|
+
GW_STOP_SCENE_REQ = 0x0415
|
|
176
|
+
GW_STOP_SCENE_CFM = 0x0416
|
|
177
|
+
|
|
178
|
+
GW_SCENE_INFORMATION_CHANGED_NTF = 0x0419
|
|
179
|
+
|
|
180
|
+
GW_ACTIVATE_PRODUCTGROUP_REQ = 0x0447
|
|
181
|
+
GW_ACTIVATE_PRODUCTGROUP_CFM = 0x0448
|
|
182
|
+
GW_ACTIVATE_PRODUCTGROUP_NTF = 0x0449
|
|
183
|
+
|
|
184
|
+
GW_GET_CONTACT_INPUT_LINK_LIST_REQ = 0x0460
|
|
185
|
+
GW_GET_CONTACT_INPUT_LINK_LIST_CFM = 0x0461
|
|
186
|
+
|
|
187
|
+
GW_SET_CONTACT_INPUT_LINK_REQ = 0x0462
|
|
188
|
+
GW_SET_CONTACT_INPUT_LINK_CFM = 0x0463
|
|
189
|
+
|
|
190
|
+
GW_REMOVE_CONTACT_INPUT_LINK_REQ = 0x0464
|
|
191
|
+
GW_REMOVE_CONTACT_INPUT_LINK_CFM = 0x0465
|
|
192
|
+
|
|
193
|
+
GW_GET_ACTIVATION_LOG_HEADER_REQ = 0x0500
|
|
194
|
+
GW_GET_ACTIVATION_LOG_HEADER_CFM = 0x0501
|
|
195
|
+
|
|
196
|
+
GW_CLEAR_ACTIVATION_LOG_REQ = 0x0502
|
|
197
|
+
GW_CLEAR_ACTIVATION_LOG_CFM = 0x0503
|
|
198
|
+
|
|
199
|
+
GW_GET_ACTIVATION_LOG_LINE_REQ = 0x0504
|
|
200
|
+
GW_GET_ACTIVATION_LOG_LINE_CFM = 0x0505
|
|
201
|
+
|
|
202
|
+
GW_ACTIVATION_LOG_UPDATED_NTF = 0x0506
|
|
203
|
+
|
|
204
|
+
GW_GET_MULTIPLE_ACTIVATION_LOG_LINES_REQ = 0x0507
|
|
205
|
+
GW_GET_MULTIPLE_ACTIVATION_LOG_LINES_NTF = 0x0508
|
|
206
|
+
GW_GET_MULTIPLE_ACTIVATION_LOG_LINES_CFN = 0x0509
|
|
207
|
+
|
|
208
|
+
GW_SET_UTC_REQ = 0x2000
|
|
209
|
+
GW_SET_UTC_CFM = 0x2001
|
|
210
|
+
|
|
211
|
+
GW_RTC_SET_TIME_ZONE_REQ = 0x2002
|
|
212
|
+
GW_RTC_SET_TIME_ZONE_CFM = 0x2003
|
|
213
|
+
|
|
214
|
+
GW_GET_LOCAL_TIME_REQ = 0x2004
|
|
215
|
+
GW_GET_LOCAL_TIME_CFM = 0x2005
|
|
216
|
+
|
|
217
|
+
GW_PASSWORD_ENTER_REQ = 0x3000
|
|
218
|
+
GW_PASSWORD_ENTER_CFM = 0x3001
|
|
219
|
+
|
|
220
|
+
GW_PASSWORD_CHANGE_REQ = 0x3002
|
|
221
|
+
GW_PASSWORD_CHANGE_CFM = 0x3003
|
|
222
|
+
GW_PASSWORD_CHANGE_NTF = 0x3004
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
class Originator(Enum):
|
|
226
|
+
"""Enum class for originator."""
|
|
227
|
+
|
|
228
|
+
# pylint: disable=line-too-long
|
|
229
|
+
|
|
230
|
+
USER = 1 # User Remote control causing action on actuator
|
|
231
|
+
RAIN = 2 # Rain sensor
|
|
232
|
+
TIMER = 3 # Timer controlled
|
|
233
|
+
UPS = 5 # UPC unit
|
|
234
|
+
SAAC = 8 # Stand Alone Automatic Controls
|
|
235
|
+
WIND = 9 # Wind sensor
|
|
236
|
+
LOAD_SHEDDING = 11 # Managers for requiring a particular electric load shed
|
|
237
|
+
LOCAL_LIGHT = 12 # Local light sensor
|
|
238
|
+
UNSPECIFIC_ENVIRONMENT_SENSOR = 13 # Used in context with commands transmitted on basis of an unknown sensor for protection of an end-product or house
|
|
239
|
+
EMERGENCY = 255 # Used in context with emergency or security commands
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
class Priority(Enum):
|
|
243
|
+
"""Enum class for priority."""
|
|
244
|
+
|
|
245
|
+
PROTECTION_HUMAN = 0
|
|
246
|
+
PROTECTION_ENVIRONMENT = 1
|
|
247
|
+
USER_LEVEL_1 = 2
|
|
248
|
+
USER_LEVEL_2 = 3
|
|
249
|
+
COMFORT_LEVEL_1 = 4
|
|
250
|
+
COMFORT_LEVEL_2 = 5
|
|
251
|
+
COMFORT_LEVEL_3 = 6
|
|
252
|
+
COMFORT_LEVEL_4 = 7
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
class LockPriorityLevel(Enum):
|
|
256
|
+
"""Enum Class for Lock Priority Level."""
|
|
257
|
+
|
|
258
|
+
NO = 0 # Do not lock any priority level.
|
|
259
|
+
MIN30 = 1 # Lock one or more priority level in 30 minutes.
|
|
260
|
+
FOREVER = 2 # Lock one or more priority level forever
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class Velocity(Enum):
|
|
264
|
+
"""Enum class for velocity."""
|
|
265
|
+
|
|
266
|
+
DEFAULT = 0
|
|
267
|
+
SILENT = 1
|
|
268
|
+
FAST = 2
|
|
269
|
+
NOT_AVAILABLE = 255
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
class NodeTypeWithSubtype(Enum):
|
|
273
|
+
"""Enum class for node type plus sub type combined values."""
|
|
274
|
+
|
|
275
|
+
# pylint: disable=invalid-name
|
|
276
|
+
|
|
277
|
+
NO_TYPE = 0
|
|
278
|
+
INTERIOR_VENETIAN_BLIND = 0x0040
|
|
279
|
+
ROLLER_SHUTTER = 0x0080
|
|
280
|
+
ADJUSTABLE_SLUTS_ROLLING_SHUTTER = 0x0081
|
|
281
|
+
ADJUSTABLE_SLUTS_ROLLING_SHUTTER_WITH_PROJECTION = 0x0082
|
|
282
|
+
VERTICAL_EXTERIOR_AWNING = 0x00C0
|
|
283
|
+
WINDOW_OPENER = 0x0100
|
|
284
|
+
WINDOW_OPENER_WITH_RAIN_SENSOR = 0x0101
|
|
285
|
+
GARAGE_DOOR_OPENER = 0x0140
|
|
286
|
+
LINAR_ANGULAR_POSITION_OF_GARAGE_DOOR = 0x017A
|
|
287
|
+
LIGHT = 0x0180
|
|
288
|
+
LIGHT_ON_OFF = 0x01BA
|
|
289
|
+
GATE_OPENER = 0x01C0
|
|
290
|
+
GATE_OPENER_ANGULAR_POSITION = 0x01FA
|
|
291
|
+
DOOR_LOCK = 0x0240
|
|
292
|
+
WINDOW_LOCK = 0x0241
|
|
293
|
+
VERTICAL_INTERIOR_BLINDS = 0x0280
|
|
294
|
+
DUAL_ROLLER_SHUTTER = 0x0340
|
|
295
|
+
ON_OFF_SWITCH = 0x03C0
|
|
296
|
+
HORIZONTAL_AWNING = 0x0400
|
|
297
|
+
# Not documented by Velux but reported by some devices
|
|
298
|
+
# Velux support refuses to provide additional information about this node sub type
|
|
299
|
+
HORIZONTAL_AWNING_ALT = 0x0401
|
|
300
|
+
EXTERIOR_VENETIAN_BLIND = 0x0440
|
|
301
|
+
LOUVER_BLIND = 0x0480
|
|
302
|
+
CURTAIN_TRACK = 0x04C0
|
|
303
|
+
VENTILATION_POINT = 0x0500
|
|
304
|
+
VENTILATION_POINT_AIR_INLET = 0x0502
|
|
305
|
+
VENTILATION_POINT_AIR_TRANSFER = 0x0503
|
|
306
|
+
VENTILATION_POINT_AIR_OUTLET = 0x0503
|
|
307
|
+
EXTERIOR_HEATING = 0x0540
|
|
308
|
+
SWINGING_SHUTTERS = 0x0600
|
|
309
|
+
SWINGING_SHUTTER_WITH_INDEPENDENT_LEAVES = 0x0601
|
|
310
|
+
BLADE_OPENER = 0x0740
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
class NodeType(Enum):
|
|
314
|
+
"""Enum class for node types."""
|
|
315
|
+
|
|
316
|
+
NO_TYPE = 0
|
|
317
|
+
VENETIAN_BLIND = 1
|
|
318
|
+
ROLLER_SHUTTER = 2
|
|
319
|
+
AWNING = 3
|
|
320
|
+
WINDOW_OPENER = 4
|
|
321
|
+
GARAGE_OPENER = 5
|
|
322
|
+
LIGHT = 6
|
|
323
|
+
GATE_OPENER = 7
|
|
324
|
+
ROLLING_DOOR_OPENER = 8
|
|
325
|
+
LOCK = 9
|
|
326
|
+
BLIND = 10
|
|
327
|
+
SECURE_CONFIGURATION_DEVICE = 11
|
|
328
|
+
BEACON = 12
|
|
329
|
+
DUAL_SHUTTER = 13
|
|
330
|
+
HEATING_TEMPERATURE_INTERFACE = 14
|
|
331
|
+
ON_OFF_SWITCH = 15
|
|
332
|
+
HORIZONTAL_AWNING = 16
|
|
333
|
+
EXTERNAL_VENETIAN_BLIND = 17
|
|
334
|
+
LOUVRE_BLINT = 18
|
|
335
|
+
CURTAIN_TRACK = 19
|
|
336
|
+
VENTILATION_POINT = 20
|
|
337
|
+
EXTERIOR_HEATING = 21
|
|
338
|
+
HEAT_PUMP = 22
|
|
339
|
+
INTRUSION_ALARM = 23
|
|
340
|
+
SWINGING_SHUTTER = 24
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
class NodeVariation(Enum):
|
|
344
|
+
"""Enum class for node variations."""
|
|
345
|
+
|
|
346
|
+
NOT_SET = 0
|
|
347
|
+
TOPHUNG = 1
|
|
348
|
+
KIP = 2
|
|
349
|
+
FLAT_ROOT = 3
|
|
350
|
+
SKY_LIGHT = 3
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
class DHCPParameter(Enum):
|
|
354
|
+
"""Enum class for dncp network setup of gateway."""
|
|
355
|
+
|
|
356
|
+
DISABLE = 0x00
|
|
357
|
+
ENABLE = 0x01
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
class GatewayState(Enum):
|
|
361
|
+
"""Enum class for state of gateway."""
|
|
362
|
+
|
|
363
|
+
TEST_MODE = 0
|
|
364
|
+
GATEWAY_MODE_NO_ACTUATOR = 1
|
|
365
|
+
GATEWAY_MODE_WITH_ACTUATORS = 2
|
|
366
|
+
BEACON_MODE_NOT_CONFIGURED = 3
|
|
367
|
+
BEACON_MODE_CONFIGURED = 4
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
class GatewaySubState(Enum):
|
|
371
|
+
"""Enum class for substate of gateway."""
|
|
372
|
+
|
|
373
|
+
IDLE = 0x00
|
|
374
|
+
PERFORMING_TASK_CONFIGURATION_SERVICE_HANDLER = 0x01
|
|
375
|
+
PERFORMING_TASK_SCENE_CONFIGURATION = 0x02
|
|
376
|
+
PERFORMING_TASK_INFORMATION_SERVICE_CONFIGURATION = 0x03
|
|
377
|
+
PERFORMING_TASK_CONTACT_INPUT_CONFIGURATION = 0x04
|
|
378
|
+
PERFORMING_TASK_COMMAND = 0x80
|
|
379
|
+
PERFORMING_TASK_ACTIVATE_GROUP = 0x81
|
|
380
|
+
PERFORMING_TASK_ACTIVATE_SCENE = 0x82
|
|
381
|
+
RESERVED_132 = 0x84 # <-- hey @VELUX: Can you tell us what this value means?
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
class LeaveLearnStateConfirmationStatus(Enum):
|
|
385
|
+
"""Enum class for status leaving Learn state."""
|
|
386
|
+
|
|
387
|
+
FAILED = 0
|
|
388
|
+
SUCCESSFUL = 1
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
class ErrorNumber(Enum):
|
|
392
|
+
"""Enum class for Errornumber in GW_ERROR_NTF."""
|
|
393
|
+
|
|
394
|
+
UNDEFINED = 0 # Not further defined error.
|
|
395
|
+
WRONG_COMMAND = 1 # Unknown Command or command is not accepted at this state.
|
|
396
|
+
FRAME_ERROR = 2 # ERROR on Frame Structure.
|
|
397
|
+
BUSY = 7 # Busy. Try again later.
|
|
398
|
+
BAD_SYSTABLE_INDEX = 8 # Bad system table index.
|
|
399
|
+
NO_AUTH = 12 # Not authenticated.
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
class ControllerCopyMode(Enum):
|
|
403
|
+
"""Enum class for Copy Controller Mode."""
|
|
404
|
+
|
|
405
|
+
# pylint: disable=line-too-long
|
|
406
|
+
|
|
407
|
+
TCM = 0 # Transmitting Configuration Mode (TCM): The gateway gets key and system table from another controller.
|
|
408
|
+
RCM = 1 # Receiving Configuration Mode (RCM): The gateway gives key and system table to another controller.
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
class ControllerCopyStatus(Enum):
|
|
412
|
+
"""Enum class for Copy Controller Mode."""
|
|
413
|
+
|
|
414
|
+
OK = 0 # OK. Data transfer to or from client controller.
|
|
415
|
+
FAILED_TRANSFER = 1 # Failed. Data transfer to or from client controller interrupted.
|
|
416
|
+
CANCELLED = 4 # Ok. Receiving configuration mode is cancelled in the client controller.
|
|
417
|
+
FAILED_TIMEOUT = 5 # Failed. Timeout.
|
|
418
|
+
FAILED_NOTREADY = 11 # Failed. Configuration service not ready.
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
class ChangeKeyStatus(Enum):
|
|
422
|
+
"""Enum class for Key Change Status."""
|
|
423
|
+
|
|
424
|
+
# pylint: disable=line-too-long
|
|
425
|
+
|
|
426
|
+
OK_CONTROLLER = 0 # Ok. Key Change in client controller.
|
|
427
|
+
OK_ALL = 2 # Ok. Key change in system table all nodes updated with current key.
|
|
428
|
+
OK_PARTIALLY = 3 # Ok. Key Change in System table. Not all nodes in system table was updated with current key. Check bit array.
|
|
429
|
+
OK_RECEIVED = 5 # Ok. Client controller received a key.
|
|
430
|
+
FAILED_NOTDISABLED = 7 # Failed. Local Stimuli not disabled in all Client System table nodes. See bit array.
|
|
431
|
+
FAILED_NOCONTROLLER = 9 # Failed. Not able to find a controller to get key from.
|
|
432
|
+
FAILED_DTSNOTREADY = 10 # Failed. DTS not ready.
|
|
433
|
+
FAILED_DTSERROR = 11 # Failed. DTS error. At DTS error no key change will take place.
|
|
434
|
+
FAILED_CSNOTREADY = 16 # Failed. CS not ready.
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
class PgcJobState(Enum):
|
|
438
|
+
"""Enum class for Product Generic Configuration Job State."""
|
|
439
|
+
|
|
440
|
+
STARTED = 0 # PGC job started
|
|
441
|
+
ENDED = 1 # PGC job ended. Either OK or with error.
|
|
442
|
+
CS_BUSY = 2 # CS busy with other services
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
class PgcJobStatus(Enum):
|
|
446
|
+
"""Enum class for Product Generic Configuration Job Status."""
|
|
447
|
+
|
|
448
|
+
OK = 0 # OK - PGC and CS job completed
|
|
449
|
+
OK_PARTIALLY = 1 # Partly success.
|
|
450
|
+
FAILED_PGCCS = 2 # Failed - Error in PGC/CS job.
|
|
451
|
+
FAILED = 3 # Failed - Too long key press or cancel of CS service.
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
class PgcJobType(Enum):
|
|
455
|
+
"""Enum class for Product Generic Configuration Job Type."""
|
|
456
|
+
|
|
457
|
+
# pylint: disable=line-too-long
|
|
458
|
+
|
|
459
|
+
RECEIVE_ONLY = 0 # Receive system copy or only get key. Short PGC button press.
|
|
460
|
+
RECEIVE_DISTRIBUTE = 1 # Receive key and distribute. Short PGC button press.
|
|
461
|
+
TRANSMIT = 2 # Transmit key (and system). Long PGC button press.
|
|
462
|
+
GENERATE = 3 # Generate new key and distribute or only generate new key. Very long PGC button press.
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
class DiscoverStatus(Enum):
|
|
466
|
+
"""Enum class for Discovery status."""
|
|
467
|
+
|
|
468
|
+
# pylint: disable=line-too-long
|
|
469
|
+
|
|
470
|
+
OK = 0 # OK. Discovered nodes. See bit array.
|
|
471
|
+
FAILED_CSNOTREADY = 5 # Failed. CS not ready.
|
|
472
|
+
OK_PARTIALLY = 6 # OK. Same as DISCOVER_NODES_PERFORMED but some nodes were not added to system table (e.g. System table has reached its limit).
|
|
473
|
+
FAILED_CSBUSY = 7 # CS busy with another task.
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
class PowerMode(Enum):
|
|
477
|
+
"""Enum class for Acutuator power Mode."""
|
|
478
|
+
|
|
479
|
+
ALWAYS_ALIVE = 0 # ALWAYS_ALIVE
|
|
480
|
+
LOW_POWER_MODE = 1 # LOW_POWER_MODE
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
class ChangeType(Enum):
|
|
484
|
+
"""Enum class Change Type in Group or Scene NTF."""
|
|
485
|
+
|
|
486
|
+
DELETED = 0 # Scene or Group deleted
|
|
487
|
+
MODIFIED = 1 # Information modified
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
class ContactInputAssignement(Enum):
|
|
491
|
+
"""Enum class for Contact Input."""
|
|
492
|
+
|
|
493
|
+
NOT_ASSINGED = 0 # Input not assigned.
|
|
494
|
+
SCENE = 1 # Scene
|
|
495
|
+
PRODUCT_GROUP = 2 # Product group
|
|
496
|
+
BY_MODE = 3 # One node controlled by mode
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
class OutputID(Enum):
|
|
500
|
+
"""Enum class for Error and Success Output ID."""
|
|
501
|
+
|
|
502
|
+
DONT_SEND = 0 # Don’t send any pulse.
|
|
503
|
+
PULSE_PORT_1 = 1 # Send pulse to output port number 1
|
|
504
|
+
PULSE_PORT_2 = 2 # Send pulse to output port number 2
|
|
505
|
+
PULSE_PORT_3 = 3 # Send pulse to output port number 3
|
|
506
|
+
PULSE_PORT_4 = 4 # Send pulse to output port number 4
|
|
507
|
+
PULSE_PORT_5 = 5 # Send pulse to output port number 5
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
class GroupType(Enum):
|
|
511
|
+
"""Enum class for Group Types."""
|
|
512
|
+
|
|
513
|
+
USER_GROUP = 0 # The group type is a user group.
|
|
514
|
+
ROOM = 1 # The group type is a Room.
|
|
515
|
+
HOUSE = 2 # The group type is a House.
|
|
516
|
+
ALL_GROUP = 3 # The group type is an All-group.
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
class LimitationTimer(Enum):
|
|
520
|
+
"""Enum class for Limitation Timer."""
|
|
521
|
+
|
|
522
|
+
BY_SECONDS = 1 # 1=30 seconds 2=60 seconds 252=7590 seconds
|
|
523
|
+
UNLIMITED = 253 # unlimited
|
|
524
|
+
CLEAR_MASTER = 254 # clear entry for the Master
|
|
525
|
+
CLEAR_ALL = 255 # clear all
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
class LimitationType(Enum):
|
|
529
|
+
"""Enum class for Limitation Types."""
|
|
530
|
+
|
|
531
|
+
MIN_LIMITATION = 0 # Resulting minimum limitation.
|
|
532
|
+
MAX_LIMITATION = 1 # Resulting maximum limitation.
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
class LockTime(Enum):
|
|
536
|
+
"""Enum class for Lock Time."""
|
|
537
|
+
|
|
538
|
+
BY_SECONDS = 1 # 1=30 seconds, 2=60 seconds .. 254=7650 seconds
|
|
539
|
+
UNLIMITED = 255 # Unlimited time
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
class WinkTime(Enum):
|
|
543
|
+
"""Enum class for Wink Time."""
|
|
544
|
+
|
|
545
|
+
STOP = 0 # Stop wink.
|
|
546
|
+
BY_SECONDS = 1 # 1=Wink in 1 sec., 2= Wink in 2 sec. 253=Wink in 253 sec.
|
|
547
|
+
BY_MANUFACTUERER = 254 # Manufacturer specific wink time.
|
|
548
|
+
FOREVER = 255 # Wink forever.
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
class NodeParameter(Enum):
|
|
552
|
+
"""Enum Class for Node Parameter."""
|
|
553
|
+
|
|
554
|
+
MP = 0x00 # Main Parameter.
|
|
555
|
+
FP1 = 0x01 # Functional Parameter number 1.
|
|
556
|
+
FP2 = 0x02 # Functional Parameter number 2.
|
|
557
|
+
FP3 = 0x03 # Functional Parameter number 3.
|
|
558
|
+
FP4 = 0x04 # Functional Parameter number 4.
|
|
559
|
+
FP5 = 0x05 # Functional Parameter number 5.
|
|
560
|
+
FP6 = 0x06 # Functional Parameter number 6.
|
|
561
|
+
FP7 = 0x07 # Functional Parameter number 7.
|
|
562
|
+
FP8 = 0x08 # Functional Parameter number 8.
|
|
563
|
+
FP9 = 0x09 # Functional Parameter number 9.
|
|
564
|
+
FP10 = 0x0A # Functional Parameter number 10.
|
|
565
|
+
FP11 = 0x0B # Functional Parameter number 11.
|
|
566
|
+
FP12 = 0x0C # Functional Parameter number 12.
|
|
567
|
+
FP13 = 0x0D # Functional Parameter number 13.
|
|
568
|
+
FP14 = 0x0E # Functional Parameter number 14.
|
|
569
|
+
FP15 = 0x0F # Functional Parameter number 15.
|
|
570
|
+
FP16 = 0x10 # Functional Parameter number 16.
|
|
571
|
+
NOT_USED = 0xFF # Value to indicate Functional Parameter not used.
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
class OperatingState(Enum):
|
|
575
|
+
"""Enum Class for operating state of the node."""
|
|
576
|
+
|
|
577
|
+
NON_EXECUTING = 0
|
|
578
|
+
ERROR_EXECUTING = 1
|
|
579
|
+
NOT_USED = 2
|
|
580
|
+
WAIT_FOR_POWER = 3
|
|
581
|
+
EXECUTING = 4
|
|
582
|
+
DONE = 5
|
|
583
|
+
UNKNOWN = 255
|
|
584
|
+
|
|
585
|
+
@classmethod
|
|
586
|
+
def _missing_(cls, value: object) -> Any:
|
|
587
|
+
return cls.UNKNOWN
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
class StatusReply(Enum):
|
|
591
|
+
"""Enum Class for Node Status Reply."""
|
|
592
|
+
|
|
593
|
+
# pylint: disable=line-too-long
|
|
594
|
+
|
|
595
|
+
UNKNOWN_STATUS_REPLY = 0x00 # Used to indicate unknown reply.
|
|
596
|
+
COMMAND_COMPLETED_OK = 0x01 # Indicates no errors detected.
|
|
597
|
+
NO_CONTACT = 0x02 # Indicates no communication to node.
|
|
598
|
+
MANUALLY_OPERATED = 0x03 # Indicates manually operated by a user.
|
|
599
|
+
BLOCKED = 0x04 # Indicates node has been blocked by an object.
|
|
600
|
+
WRONG_SYSTEMKEY = 0x05 # Indicates the node contains a wrong system key.
|
|
601
|
+
PRIORITY_LEVEL_LOCKED = 0x06 # Indicates the node is locked on this priority level.
|
|
602
|
+
REACHED_WRONG_POSITION = 0x07 # Indicates node has stopped in another position than expected.
|
|
603
|
+
ERROR_DURING_EXECUTION = 0x08 # Indicates an error has occurred during execution of command.
|
|
604
|
+
NO_EXECUTION = 0x09 # Indicates no movement of the node parameter.
|
|
605
|
+
CALIBRATING = 0x0A # Indicates the node is calibrating the parameters.
|
|
606
|
+
POWER_CONSUMPTION_TOO_HIGH = 0x0B # Indicates the node power consumption is too high.
|
|
607
|
+
POWER_CONSUMPTION_TOO_LOW = 0x0C # Indicates the node power consumption is too low.
|
|
608
|
+
LOCK_POSITION_OPEN = 0x0D # Indicates door lock errors. (Door open during lock command)
|
|
609
|
+
MOTION_TIME_TOO_LONG__COMMUNICATION_ENDED = 0x0E # Indicates the target was not reached in time.
|
|
610
|
+
THERMAL_PROTECTION = 0x0F # Indicates the node has gone into thermal protection mode.
|
|
611
|
+
PRODUCT_NOT_OPERATIONAL = 0x10 # Indicates the node is not currently operational.
|
|
612
|
+
FILTER_MAINTENANCE_NEEDED = 0x11 # Indicates the filter needs maintenance.
|
|
613
|
+
BATTERY_LEVEL = 0x12 # Indicates the battery level is low.
|
|
614
|
+
TARGET_MODIFIED = 0x13 # Indicates the node has modified the target value of the command.
|
|
615
|
+
MODE_NOT_IMPLEMENTED = 0x14 # Indicates this node does not support the mode received.
|
|
616
|
+
COMMAND_INCOMPATIBLE_TO_MOVEMENT = 0x15 # Indicates the node is unable to move in the right direction.
|
|
617
|
+
USER_ACTION = 0x16 # Indicates dead bolt is manually locked during unlock command.
|
|
618
|
+
DEAD_BOLT_ERROR = 0x17 # Indicates dead bolt error.
|
|
619
|
+
AUTOMATIC_CYCLE_ENGAGED = 0x18 # Indicates the node has gone into automatic cycle mode.
|
|
620
|
+
WRONG_LOAD_CONNECTED = 0x19 # Indicates wrong load on node.
|
|
621
|
+
COLOUR_NOT_REACHABLE = 0x1A # Indicates that node is unable to reach received colour code.
|
|
622
|
+
TARGET_NOT_REACHABLE = 0x1B # Indicates the node is unable to reach received target position.
|
|
623
|
+
BAD_INDEX_RECEIVED = 0x1C # Indicates io-protocol has received an invalid index.
|
|
624
|
+
COMMAND_OVERRULED = 0x1D # Indicates that the command was overruled by a new command.
|
|
625
|
+
NODE_WAITING_FOR_POWER = 0x1E # Indicates that the node reported waiting for power.
|
|
626
|
+
INFORMATION_CODE = 0xDF # Indicates an unknown error code received. (Hex code is shown on display)
|
|
627
|
+
PARAMETER_LIMITED = 0xE0 # Indicates the parameter was limited by an unknown device. (Same as LIMITATION_BY_UNKNOWN_DEVICE)
|
|
628
|
+
LIMITATION_BY_LOCAL_USER = 0xE1 # Indicates the parameter was limited by local button.
|
|
629
|
+
LIMITATION_BY_USER = 0xE2 # Indicates the parameter was limited by a remote control.
|
|
630
|
+
LIMITATION_BY_RAIN = 0xE3 # Indicates the parameter was limited by a rain sensor.
|
|
631
|
+
LIMITATION_BY_TIMER = 0xE4 # Indicates the parameter was limited by a timer.
|
|
632
|
+
LIMITATION_BY_UPS = 0xE6 # Indicates the parameter was limited by a power supply.
|
|
633
|
+
LIMITATION_BY_UNKNOWN_DEVICE = 0xE7 # Indicates the parameter was limited by an unknown device. (Same as PARAMETER_LIMITED)
|
|
634
|
+
LIMITATION_BY_SAAC = 0xEA # Indicates the parameter was limited by a standalone automatic controller.
|
|
635
|
+
LIMITATION_BY_WIND = 0xEB # Indicates the parameter was limited by a wind sensor.
|
|
636
|
+
LIMITATION_BY_MYSELF = 0xEC # Indicates the parameter was limited by the node itself.
|
|
637
|
+
LIMITATION_BY_AUTOMATIC_CYCLE = 0xED # Indicates the parameter was limited by an automatic cycle.
|
|
638
|
+
LIMITATION_BY_EMERGENCY = 0xEE # Indicates the parameter was limited by an emergency.
|
|
639
|
+
|
|
640
|
+
@classmethod
|
|
641
|
+
def _missing_(cls, value: object) -> Any:
|
|
642
|
+
return cls.UNKNOWN_STATUS_REPLY
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
class StatusId(Enum):
|
|
646
|
+
"""Enum Class for Status ID Reply."""
|
|
647
|
+
|
|
648
|
+
# pylint: disable=line-too-long
|
|
649
|
+
|
|
650
|
+
STATUS_USER = 0x01 # The status is from a user activation.
|
|
651
|
+
STATUS_RAIN = 0x02 # The status is from a rain sensor activation.
|
|
652
|
+
STATUS_TIMER = 0x03 # The status is from a timer generated action.
|
|
653
|
+
STATUS_UPS = 0x05 # The status is from a UPS generated action.
|
|
654
|
+
STATUS_PROGRAM = 0x08 # The status is from an automatic program generated action. (SAAC)
|
|
655
|
+
STATUS_WIND = 0x09 # The status is from a Wind sensor generated action.
|
|
656
|
+
STATUS_MYSELF = 0x0A # The status is from an actuator generated action.
|
|
657
|
+
STATUS_AUTOMATIC_CYCLE = 0x0B # The status is from a automatic cycle generated action.
|
|
658
|
+
STATUS_EMERGENCY = 0x0C # The status is from an emergency or a security generated action.
|
|
659
|
+
STATUS_UNKNOWN = 0xFF # The status is from from an unknown command originator action.
|
|
660
|
+
|
|
661
|
+
@classmethod
|
|
662
|
+
def _missing_(cls, value: object) -> Any:
|
|
663
|
+
return cls.STATUS_UNKNOWN
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
class RunStatus(Enum):
|
|
667
|
+
"""Enum Class for Node RunStatus."""
|
|
668
|
+
|
|
669
|
+
EXECUTION_COMPLETED = 0 # Execution is completed with no errors.
|
|
670
|
+
EXECUTION_FAILED = 1 # Execution has failed. (Get specifics in the following error code)
|
|
671
|
+
EXECUTION_ACTIVE = 2 # Execution is still active.
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
class StatusType(Enum):
|
|
675
|
+
"""Enum class for Status Type for GW_STATUS_REQUEST_NTF frame."""
|
|
676
|
+
|
|
677
|
+
REQUEST_TARGET_POSITION = 0 # Request Target Position
|
|
678
|
+
REQUEST_CURRENT_POSITION = 1 # Request Current Position
|
|
679
|
+
REQUEST_REMAINING_TIME = 2 # Request Remaining Time
|
|
680
|
+
REQUEST_MAIN_INFO = 3 # Request Main Info
|
|
681
|
+
REQUEST_UNKNOWN = 255 # Request Unknown
|
|
682
|
+
|
|
683
|
+
@classmethod
|
|
684
|
+
def _missing_(cls, value: object) -> Any:
|
|
685
|
+
return cls.REQUEST_UNKNOWN
|