aiohomematic-test-support 2025.12.26__tar.gz → 2025.12.51__tar.gz

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.
Files changed (19) hide show
  1. {aiohomematic_test_support-2025.12.26/aiohomematic_test_support.egg-info → aiohomematic_test_support-2025.12.51}/PKG-INFO +2 -2
  2. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/__init__.py +3 -1
  3. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51/aiohomematic_test_support.egg-info}/PKG-INFO +2 -2
  4. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/aiohomematic_test_support.egg-info/SOURCES.txt +2 -0
  5. aiohomematic_test_support-2025.12.51/const.py +264 -0
  6. aiohomematic_test_support-2025.12.51/data/device_translation.json +364 -0
  7. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/factory.py +22 -7
  8. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/helper.py +5 -3
  9. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/mock.py +48 -13
  10. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/pyproject.toml +1 -0
  11. aiohomematic_test_support-2025.12.26/const.py +0 -603
  12. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/MANIFEST.in +0 -0
  13. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/README.md +0 -0
  14. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/aiohomematic_test_support.egg-info/dependency_links.txt +0 -0
  15. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/aiohomematic_test_support.egg-info/top_level.txt +0 -0
  16. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/data/full_session_randomized_ccu.zip +0 -0
  17. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/data/full_session_randomized_pydevccu.zip +0 -0
  18. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/py.typed +0 -0
  19. {aiohomematic_test_support-2025.12.26 → aiohomematic_test_support-2025.12.51}/setup.cfg +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic-test-support
3
- Version: 2025.12.26
3
+ Version: 2025.12.51
4
4
  Summary: Support-only package for AioHomematic (tests/dev). Not part of production builds.
5
- Author-email: SukramJ <sukramj@icloud.com>
5
+ Author-email: SukramJ <sukramj@icloud.com>, Daniel Perna <danielperna84@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/SukramJ/aiohomematic
7
7
  Classifier: Development Status :: 3 - Alpha
8
8
  Classifier: Intended Audience :: Developers
@@ -1,3 +1,5 @@
1
+ # SPDX-License-Identifier: MIT
2
+ # Copyright (c) 2021-2025
1
3
  """
2
4
  Test support infrastructure for aiohomematic.
3
5
 
@@ -45,4 +47,4 @@ test dependencies to access test support functionality.
45
47
 
46
48
  from __future__ import annotations
47
49
 
48
- __version__ = "2025.12.26"
50
+ __version__ = "2025.12.51"
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic-test-support
3
- Version: 2025.12.26
3
+ Version: 2025.12.51
4
4
  Summary: Support-only package for AioHomematic (tests/dev). Not part of production builds.
5
- Author-email: SukramJ <sukramj@icloud.com>
5
+ Author-email: SukramJ <sukramj@icloud.com>, Daniel Perna <danielperna84@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/SukramJ/aiohomematic
7
7
  Classifier: Development Status :: 3 - Alpha
8
8
  Classifier: Intended Audience :: Developers
@@ -13,11 +13,13 @@ pyproject.toml
13
13
  ./helper.py
14
14
  ./mock.py
15
15
  ./py.typed
16
+ ./data/device_translation.json
16
17
  ./data/full_session_randomized_ccu.zip
17
18
  ./data/full_session_randomized_pydevccu.zip
18
19
  aiohomematic_test_support.egg-info/PKG-INFO
19
20
  aiohomematic_test_support.egg-info/SOURCES.txt
20
21
  aiohomematic_test_support.egg-info/dependency_links.txt
21
22
  aiohomematic_test_support.egg-info/top_level.txt
23
+ data/device_translation.json
22
24
  data/full_session_randomized_ccu.zip
23
25
  data/full_session_randomized_pydevccu.zip
@@ -0,0 +1,264 @@
1
+ # SPDX-License-Identifier: MIT
2
+ # Copyright (c) 2021-2025
3
+ """Constants for tests."""
4
+
5
+ from __future__ import annotations
6
+
7
+ import functools
8
+ import json
9
+ import os
10
+ from typing import cast
11
+
12
+ from aiohomematic.client.json_rpc import _JsonKey
13
+ from aiohomematic.const import LOCAL_HOST, UTF_8, HubValueType, Interface, ProgramData, SystemVariableData
14
+
15
+ CENTRAL_NAME = "CentralTest"
16
+ CCU_HOST = LOCAL_HOST
17
+ CCU_USERNAME = "user"
18
+ CCU_PASSWORD = "pass"
19
+ CCU_PORT = 2002
20
+ CCU_MINI_PORT = 2003
21
+ INTERFACE_ID = f"{CENTRAL_NAME}-{Interface.BIDCOS_RF}"
22
+
23
+ # Backend info response for get_backend_info.fn script
24
+ BACKEND_INFO_JSON = {
25
+ "version": "3.75.6.20240316",
26
+ "product": "CCU3",
27
+ "hostname": "ccu-test",
28
+ }
29
+
30
+ FULL_SESSION_RANDOMIZED_PYDEVCCU = "full_session_randomized_pydevccu.zip"
31
+ FULL_SESSION_RANDOMIZED_CCU = "full_session_randomized_ccu.zip"
32
+
33
+ ALL_SESSION_FILES = [
34
+ FULL_SESSION_RANDOMIZED_PYDEVCCU,
35
+ FULL_SESSION_RANDOMIZED_CCU,
36
+ ]
37
+
38
+
39
+ SYSVAR_DATA: list[SystemVariableData] = [
40
+ SystemVariableData(
41
+ vid="1",
42
+ legacy_name="alarm",
43
+ description="",
44
+ data_type=HubValueType.ALARM,
45
+ unit=None,
46
+ value=False,
47
+ values=None,
48
+ max_value=None,
49
+ min_value=None,
50
+ extended_sysvar=False,
51
+ ),
52
+ SystemVariableData(
53
+ vid="2",
54
+ legacy_name="alarm_ext",
55
+ description="HAHM",
56
+ data_type=HubValueType.ALARM,
57
+ unit=None,
58
+ value=False,
59
+ values=None,
60
+ max_value=None,
61
+ min_value=None,
62
+ extended_sysvar=True,
63
+ ),
64
+ SystemVariableData(
65
+ vid="3",
66
+ legacy_name="logic",
67
+ description="",
68
+ data_type=HubValueType.LOGIC,
69
+ unit=None,
70
+ value=False,
71
+ values=None,
72
+ max_value=None,
73
+ min_value=None,
74
+ extended_sysvar=False,
75
+ ),
76
+ SystemVariableData(
77
+ vid="4",
78
+ legacy_name="logic_ext",
79
+ description="HAHM",
80
+ data_type=HubValueType.LOGIC,
81
+ unit=None,
82
+ value=False,
83
+ values=None,
84
+ max_value=None,
85
+ min_value=None,
86
+ extended_sysvar=True,
87
+ ),
88
+ SystemVariableData(
89
+ vid="5",
90
+ legacy_name="list",
91
+ description="",
92
+ data_type=HubValueType.LIST,
93
+ unit=None,
94
+ value=0,
95
+ values=("v1", "v2", "v3"),
96
+ max_value=None,
97
+ min_value=None,
98
+ extended_sysvar=False,
99
+ ),
100
+ SystemVariableData(
101
+ vid="6",
102
+ legacy_name="list_ext",
103
+ description="HAHM",
104
+ data_type=HubValueType.LIST,
105
+ unit=None,
106
+ value=0,
107
+ values=("v1", "v2", "v3"),
108
+ max_value=None,
109
+ min_value=None,
110
+ extended_sysvar=True,
111
+ ),
112
+ SystemVariableData(
113
+ vid="7",
114
+ legacy_name="string",
115
+ description="",
116
+ data_type=HubValueType.STRING,
117
+ unit=None,
118
+ value="test1",
119
+ values=None,
120
+ max_value=None,
121
+ min_value=None,
122
+ extended_sysvar=False,
123
+ ),
124
+ SystemVariableData(
125
+ vid="8",
126
+ legacy_name="string_ext",
127
+ description="HAHM",
128
+ data_type=HubValueType.STRING,
129
+ unit=None,
130
+ value="test1",
131
+ values=None,
132
+ max_value=None,
133
+ min_value=None,
134
+ extended_sysvar=True,
135
+ ),
136
+ SystemVariableData(
137
+ vid="9",
138
+ legacy_name="float",
139
+ description="",
140
+ data_type=HubValueType.FLOAT,
141
+ unit=None,
142
+ value=23.2,
143
+ values=None,
144
+ max_value=30.0,
145
+ min_value=5.0,
146
+ extended_sysvar=False,
147
+ ),
148
+ SystemVariableData(
149
+ vid="10",
150
+ legacy_name="float_ext",
151
+ description="HAHM",
152
+ data_type=HubValueType.FLOAT,
153
+ unit="°C",
154
+ value=23.2,
155
+ values=None,
156
+ max_value=30.0,
157
+ min_value=5.0,
158
+ extended_sysvar=True,
159
+ ),
160
+ SystemVariableData(
161
+ vid="11",
162
+ legacy_name="integer",
163
+ description="",
164
+ data_type=HubValueType.INTEGER,
165
+ unit=None,
166
+ value=17,
167
+ values=None,
168
+ max_value=30,
169
+ min_value=5,
170
+ extended_sysvar=False,
171
+ ),
172
+ SystemVariableData(
173
+ vid="12",
174
+ legacy_name="integer_ext",
175
+ description="HAHM",
176
+ data_type=HubValueType.INTEGER,
177
+ unit=None,
178
+ value=17,
179
+ values=None,
180
+ max_value=30,
181
+ min_value=5,
182
+ extended_sysvar=True,
183
+ ),
184
+ ]
185
+
186
+
187
+ SYSVAR_DATA_JSON = [
188
+ {
189
+ _JsonKey.ID: sv.vid,
190
+ _JsonKey.IS_INTERNAL: False,
191
+ _JsonKey.MAX_VALUE: sv.max_value,
192
+ _JsonKey.MIN_VALUE: sv.min_value,
193
+ _JsonKey.NAME: sv.legacy_name,
194
+ _JsonKey.TYPE: sv.data_type,
195
+ _JsonKey.UNIT: sv.unit,
196
+ _JsonKey.VALUE: sv.value,
197
+ _JsonKey.VALUE_LIST: ";".join(sv.values) if sv.values else None,
198
+ }
199
+ for sv in SYSVAR_DATA
200
+ ]
201
+ SYSVAR_DATA_JSON_DESCRIPTION = [
202
+ {
203
+ _JsonKey.ID: sv.vid,
204
+ _JsonKey.DESCRIPTION: sv.description,
205
+ }
206
+ for sv in SYSVAR_DATA
207
+ ]
208
+
209
+ SYSVAR_DATA_XML = {sv.legacy_name: sv.value for sv in SYSVAR_DATA}
210
+
211
+ PROGRAM_DATA: list[ProgramData] = [
212
+ ProgramData(
213
+ legacy_name="p1",
214
+ pid="pid1",
215
+ description="1",
216
+ is_active=True,
217
+ is_internal=False,
218
+ last_execute_time="",
219
+ ),
220
+ ProgramData(
221
+ legacy_name="p_2",
222
+ pid="pid2",
223
+ description="2",
224
+ is_active=False,
225
+ is_internal=False,
226
+ last_execute_time="",
227
+ ),
228
+ ]
229
+ PROGRAM_DATA_JSON = [
230
+ {
231
+ _JsonKey.ID: p.pid,
232
+ _JsonKey.IS_ACTIVE: p.is_active,
233
+ _JsonKey.IS_INTERNAL: p.is_internal,
234
+ _JsonKey.LAST_EXECUTE_TIME: p.last_execute_time,
235
+ _JsonKey.NAME: p.legacy_name,
236
+ }
237
+ for p in PROGRAM_DATA
238
+ ]
239
+ PROGRAM_DATA_JSON_DESCRIPTION = [
240
+ {
241
+ _JsonKey.ID: p.pid,
242
+ _JsonKey.DESCRIPTION: p.description,
243
+ }
244
+ for p in PROGRAM_DATA
245
+ ]
246
+
247
+
248
+ @functools.cache
249
+ def _load_device_translation() -> dict[str, str]:
250
+ """Load device translation mapping from JSON file."""
251
+ file_path = os.path.join(os.path.dirname(__file__), "data", "device_translation.json")
252
+ if os.path.exists(file_path):
253
+ with open(file_path, encoding=UTF_8) as f:
254
+ return cast(dict[str, str], json.load(f))
255
+ return {}
256
+
257
+
258
+ def get_address_device_translation() -> dict[str, str]:
259
+ """Return the address to device translation mapping."""
260
+ return _load_device_translation()
261
+
262
+
263
+ # Public accessor - use this instead of direct dict access
264
+ ADDRESS_DEVICE_TRANSLATION = get_address_device_translation()
@@ -0,0 +1,364 @@
1
+ {
2
+ "INT0000001": "HM-CC-VG-1.json",
3
+ "VCU0000001": "HMW-RCV-50.json",
4
+ "VCU0000002": "HMW-IO-12-Sw14-DR.json",
5
+ "VCU0000004": "HMW-IO-12-Sw7-DR.json",
6
+ "VCU0000005": "HMW-IO-12-FM.json",
7
+ "VCU0000007": "HMW-IO-4-FM.json",
8
+ "VCU0000008": "HMW-IO-SR-FM.json",
9
+ "VCU0000010": "HMW-LC-Bl1-DR-2.json",
10
+ "VCU0000011": "HMW-LC-Bl1-DR.json",
11
+ "VCU0000012": "HMW-LC-Dim1L-DR.json",
12
+ "VCU0000014": "HMW-LC-Sw2-DR.json",
13
+ "VCU0000015": "HMW-Sen-SC-12-DR.json",
14
+ "VCU0000016": "HMW-Sen-SC-12-FM.json",
15
+ "VCU0000017": "HM-PB-4Dis-WM.json",
16
+ "VCU0000018": "ZEL STG RM DWT 10.json",
17
+ "VCU0000019": "263 155.json",
18
+ "VCU0000020": "HM-PB-4Dis-WM-2.json",
19
+ "VCU0000021": "HM-LC-AO-SM.json",
20
+ "VCU0000022": "ASH550I.json",
21
+ "VCU0000023": "ASH550.json",
22
+ "VCU0000024": "HM-WDS10-TH-O.json",
23
+ "VCU0000025": "263 158.json",
24
+ "VCU0000026": "HM-WDS20-TH-O.json",
25
+ "VCU0000027": "HM-WDS40-TH-I.json",
26
+ "VCU0000028": "263 157.json",
27
+ "VCU0000029": "IS-WDS-TH-OD-S-R3.json",
28
+ "VCU0000036": "HM-LC-Bl1-SM-2.json",
29
+ "VCU0000037": "HM-LC-Bl1-FM-2.json",
30
+ "VCU0000042": "HM-LC-Bl1PBU-FM.json",
31
+ "VCU0000043": "263 147.json",
32
+ "VCU0000044": "HM-LC-Bl1-SM.json",
33
+ "VCU0000045": "HM-LC-Bl1-FM.json",
34
+ "VCU0000046": "HM-LC-Bl1-PB-FM.json",
35
+ "VCU0000047": "ZEL STG RM FEP 230V.json",
36
+ "VCU0000048": "263 146.json",
37
+ "VCU0000049": "HM-LC-BlX.json",
38
+ "VCU0000050": "HM-CC-RT-DN.json",
39
+ "VCU0000051": "HM-CC-RT-DN-BoM.json",
40
+ "VCU0000053": "ZEL STG RM FWT.json",
41
+ "VCU0000054": "HM-CC-TC.json",
42
+ "VCU0000055": "HM-CC-VD.json",
43
+ "VCU0000056": "ZEL STG RM FSA.json",
44
+ "VCU0000057": "HM-RCV-50.json",
45
+ "VCU0000058": "HM-OU-CF-Pl.json",
46
+ "VCU0000059": "HM-OU-CFM-Pl.json",
47
+ "VCU0000060": "HM-OU-CFM-TW.json",
48
+ "VCU0000061": "HM-OU-CM-PCB.json",
49
+ "VCU0000062": "CMM.json",
50
+ "VCU0000064": "HM-LC-Dim1L-Pl-2.json",
51
+ "VCU0000066": "263 132.json",
52
+ "VCU0000070": "HM-LC-DDC1-PCB.json",
53
+ "VCU0000073": "HM-LC-Dim1L-Pl-3.json",
54
+ "VCU0000074": "HM-LC-Dim1L-CV-2.json",
55
+ "VCU0000078": "HM-LC-Dim1PWM-CV-2.json",
56
+ "VCU0000079": "HM-LC-Dim1PWM-CV.json",
57
+ "VCU0000081": "HM-LC-Dim1TPBU-FM-2.json",
58
+ "VCU0000082": "HM-LC-Dim1TPBU-FM.json",
59
+ "VCU0000083": "263 133.json",
60
+ "VCU0000087": "HM-LC-Dim1T-Pl-3.json",
61
+ "VCU0000088": "HM-LC-Dim1T-CV-2.json",
62
+ "VCU0000089": "HM-LC-Dim1T-FM-2.json",
63
+ "VCU0000093": "HM-LC-Dim1T-DR.json",
64
+ "VCU0000094": "HM-LC-Dim1T-FM-LF.json",
65
+ "VCU0000096": "HM-LC-Dim2L-SM-2.json",
66
+ "VCU0000098": "HM-DW-WM.json",
67
+ "VCU0000100": "HM-LC-Dim2T-SM-2.json",
68
+ "VCU0000103": "HM-LC-Dim1T-Pl-2.json",
69
+ "VCU0000105": "263 134.json",
70
+ "VCU0000108": "HM-LC-Dim1T-Pl.json",
71
+ "VCU0000109": "HM-LC-Dim1T-CV.json",
72
+ "VCU0000110": "HM-LC-Dim2T-SM.json",
73
+ "VCU0000111": "HM-LC-Dim1T-FM.json",
74
+ "VCU0000113": "HM-Dis-EP-WM55.json",
75
+ "VCU0000114": "HM-Dis-WM55.json",
76
+ "VCU0000115": "HM-LC-DW-WM.json",
77
+ "VCU0000121": "HM-LC-Dim1L-Pl.json",
78
+ "VCU0000122": "HM-LC-Dim1L-CV.json",
79
+ "VCU0000123": "HM-LC-Dim2L-CV.json",
80
+ "VCU0000124": "HM-LC-Dim2L-SM.json",
81
+ "VCU0000125": "HSS-DX.json",
82
+ "VCU0000126": "HM-MOD-EM-8.json",
83
+ "VCU0000127": "HM-MOD-EM-8Bit.json",
84
+ "VCU0000129": "HM-ES-PMSw1-Pl-DN-R1.json",
85
+ "VCU0000130": "HM-ES-PMSw1-Pl-DN-R2.json",
86
+ "VCU0000131": "HM-ES-PMSw1-Pl-DN-R3.json",
87
+ "VCU0000132": "HM-ES-PMSw1-Pl-DN-R4.json",
88
+ "VCU0000133": "HM-ES-PMSw1-Pl-DN-R5.json",
89
+ "VCU0000134": "HM-ES-PMSw1-DR.json",
90
+ "VCU0000135": "HM-ES-PMSw1-SM.json",
91
+ "VCU0000137": "HM-ES-PMSw1-Pl.json",
92
+ "VCU0000138": "HM-ES-PMSwX.json",
93
+ "VCU0000141": "HM-ES-TX-WM.json",
94
+ "VCU0000142": "HM-Dis-TD-T.json",
95
+ "VCU0000143": "HM-WDS100-C6-O-2.json",
96
+ "VCU0000144": "HM-LC-Ja1PBU-FM.json",
97
+ "VCU0000145": "HM-LC-JaX.json",
98
+ "VCU0000146": "HM-Sec-Key.json",
99
+ "VCU0000147": "HM-Sec-Key-S.json",
100
+ "VCU0000148": "HM-Sec-Key-O.json",
101
+ "VCU0000149": "HM-Sec-Key-Generic.json",
102
+ "VCU0000150": "KS550.json",
103
+ "VCU0000151": "KS888.json",
104
+ "VCU0000152": "KS550Tech.json",
105
+ "VCU0000153": "KS550LC.json",
106
+ "VCU0000154": "HM-WDS100-C6-O.json",
107
+ "VCU0000155": "OLIGO.smart.iq.HM.json",
108
+ "VCU0000158": "HM-OU-LED16.json",
109
+ "VCU0000159": "HM-OU-X.json",
110
+ "VCU0000160": "HM-PB-2-WM55-2.json",
111
+ "VCU0000164": "HM-PB-2-WM55.json",
112
+ "VCU0000165": "ZEL STG RM WT 2.json",
113
+ "VCU0000166": "263 135.json",
114
+ "VCU0000167": "HM-PB-2-FM.json",
115
+ "VCU0000168": "HM-PBI-4-FM.json",
116
+ "VCU0000169": "ZEL STG RM FST UP4.json",
117
+ "VCU0000170": "263 145.json",
118
+ "VCU0000171": "HM-PBI-X.json",
119
+ "VCU0000172": "HM-RC-4-2.json",
120
+ "VCU0000173": "HM-PB-6-WM55.json",
121
+ "VCU0000174": "HM-RC-8.json",
122
+ "VCU0000175": "HM-RC-4-3.json",
123
+ "VCU0000176": "HM-RC-4-3-D.json",
124
+ "VCU0000177": "HM-RC-Key4-2.json",
125
+ "VCU0000178": "HM-RC-Key4-3.json",
126
+ "VCU0000179": "HM-RC-Sec4-2.json",
127
+ "VCU0000180": "HM-RC-Sec4-3.json",
128
+ "VCU0000181": "HM-RC-4.json",
129
+ "VCU0000182": "HM-RC-4-B.json",
130
+ "VCU0000183": "HM-RC-P1.json",
131
+ "VCU0000184": "HM-RC-Sec3.json",
132
+ "VCU0000185": "HM-RC-Sec3-B.json",
133
+ "VCU0000186": "HM-RC-Key3.json",
134
+ "VCU0000187": "HM-RC-Key3-B.json",
135
+ "VCU0000188": "HM-PB-4-WM.json",
136
+ "VCU0000189": "HM-PB-2-WM.json",
137
+ "VCU0000190": "RC-H.json",
138
+ "VCU0000191": "atent.json",
139
+ "VCU0000192": "ZEL STG RM HS 4.json",
140
+ "VCU0000193": "HM-RC-X.json",
141
+ "VCU0000194": "HM-RC-12.json",
142
+ "VCU0000195": "HM-RC-12-B.json",
143
+ "VCU0000196": "HM-RC-12-SW.json",
144
+ "VCU0000197": "HM-RC-19.json",
145
+ "VCU0000198": "HM-RC-19-B.json",
146
+ "VCU0000199": "HM-RC-19-SW.json",
147
+ "VCU0000200": "HM-RC-2-PBU-FM.json",
148
+ "VCU0000201": "HM-RC-2-PBU-FM-2.json",
149
+ "VCU0000202": "HM-RC-Dis-H-x-EU.json",
150
+ "VCU0000203": "BRC-H.json",
151
+ "VCU0000204": "HM-RC-SB-X.json",
152
+ "VCU0000206": "HM-Sen-RD-O.json",
153
+ "VCU0000207": "HM-Sys-sRP-Pl.json",
154
+ "VCU0000208": "HM-ReSC-Win-PCB-xx.json",
155
+ "VCU0000209": "HM-LC-RGBW-WM.json",
156
+ "VCU0000211": "ZEL STG RM FDK.json",
157
+ "VCU0000212": "HM-Sec-RHS-2.json",
158
+ "VCU0000216": "HM-Sec-RHS.json",
159
+ "VCU0000217": "HM-Sec-xx.json",
160
+ "VCU0000218": "WDF solar.json",
161
+ "VCU0000236": "S550IA.json",
162
+ "VCU0000237": "HM-WDS30-T-O.json",
163
+ "VCU0000239": "ZEL STG RM FFK.json",
164
+ "VCU0000240": "HM-Sec-SC-2.json",
165
+ "VCU0000241": "HM-CC-SCD.json",
166
+ "VCU0000242": "263 160.json",
167
+ "VCU0000243": "HM-SCI-3-FM.json",
168
+ "VCU0000245": "HM-Sec-SC.json",
169
+ "VCU0000246": "HM-Sec-MDIR-3.json",
170
+ "VCU0000247": "HM-Sec-MDIR-2.json",
171
+ "VCU0000251": "HM-Sec-MDIR.json",
172
+ "VCU0000252": "263 162.json",
173
+ "VCU0000253": "HM-Sec-MD.json",
174
+ "VCU0000254": "HM-Sec-SCo.json",
175
+ "VCU0000255": "HM-Sec-SD.json",
176
+ "VCU0000256": "HM-Sec-SD-Generic.json",
177
+ "VCU0000257": "HM-Sec-SD-2.json",
178
+ "VCU0000258": "HM-Sec-SD-2-Generic.json",
179
+ "VCU0000259": "263 167.json",
180
+ "VCU0000260": "HM-Sec-SFA-SM.json",
181
+ "VCU0000261": "HM-Sec-Sir-WM.json",
182
+ "VCU0000262": "HM-Sen-DB-PCB.json",
183
+ "VCU0000263": "HM-Sen-EP.json",
184
+ "VCU0000264": "HM-Sen-X.json",
185
+ "VCU0000265": "HM-Sen-LI-O.json",
186
+ "VCU0000266": "HM-Sen-MDIR-O-3.json",
187
+ "VCU0000267": "HM-Sen-MDIR-O-2.json",
188
+ "VCU0000271": "HM-Sen-MDIR-SM.json",
189
+ "VCU0000272": "HM-Sen-MDIR-O.json",
190
+ "VCU0000273": "HM-MD.json",
191
+ "VCU0000274": "HM-Sen-MDIR-WM55.json",
192
+ "VCU0000275": "HM-Sen-Wa-Od.json",
193
+ "VCU0000276": "ST6-SH.json",
194
+ "VCU0000277": "HM-SwI-3-FM.json",
195
+ "VCU0000278": "ZEL STG RM FSS UP3.json",
196
+ "VCU0000279": "263 144.json",
197
+ "VCU0000280": "HM-SwI-X.json",
198
+ "VCU0000285": "HM-LC-Sw1PBU-FM.json",
199
+ "VCU0000286": "263 131.json",
200
+ "VCU0000287": "HM-LC-Sw2PBU-FM.json",
201
+ "VCU0000288": "HM-LC-Sw4-Ba-PCB.json",
202
+ "VCU0000289": "HM-LC-Sw1-Pl-3.json",
203
+ "VCU0000290": "HM-LC-Sw1-SM-2.json",
204
+ "VCU0000292": "HM-LC-Sw4-SM-2.json",
205
+ "VCU0000293": "HM-LC-Sw4-PCB-2.json",
206
+ "VCU0000294": "HM-LC-Sw4-WM-2.json",
207
+ "VCU0000295": "HM-LC-Sw1-FM-2.json",
208
+ "VCU0000296": "HM-LC-Sw2-FM-2.json",
209
+ "VCU0000297": "HM-LC-Sw4-DR-2.json",
210
+ "VCU0000298": "HM-LC-Sw2-DR-2.json",
211
+ "VCU0000299": "HM-LC-Sw1-Pl-DN-R1.json",
212
+ "VCU0000300": "HM-LC-Sw1-Pl-DN-R2.json",
213
+ "VCU0000301": "HM-LC-Sw1-Pl-DN-R3.json",
214
+ "VCU0000302": "HM-LC-Sw1-Pl-DN-R4.json",
215
+ "VCU0000303": "HM-LC-Sw1-Pl-DN-R5.json",
216
+ "VCU0000304": "HM-LC-Sw1-DR.json",
217
+ "VCU0000305": "HM-LC-Sw1-Pl-CT-R1.json",
218
+ "VCU0000306": "HM-LC-Sw1-Pl-CT-R2.json",
219
+ "VCU0000307": "HM-LC-Sw1-Pl-CT-R3.json",
220
+ "VCU0000308": "HM-LC-Sw1-Pl-CT-R4.json",
221
+ "VCU0000309": "HM-LC-Sw1-Pl-CT-R5.json",
222
+ "VCU0000310": "HM-LC-Sw1-PCB.json",
223
+ "VCU0000311": "HM-MOD-Re-8.json",
224
+ "VCU0000312": "HM-LC-Sw1-Ba-PCB.json",
225
+ "VCU0000321": "HM-LC-Sw1-Pl.json",
226
+ "VCU0000322": "HM-LC-Sw1-Pl-2.json",
227
+ "VCU0000323": "HM-LC-Sw1-SM.json",
228
+ "VCU0000324": "HM-LC-Sw2-SM.json",
229
+ "VCU0000325": "HM-LC-Sw4-SM.json",
230
+ "VCU0000326": "HM-LC-Sw4-PCB.json",
231
+ "VCU0000327": "HM-LC-Sw4-WM.json",
232
+ "VCU0000328": "HM-LC-Sw1-FM.json",
233
+ "VCU0000329": "263 130.json",
234
+ "VCU0000330": "HM-LC-Sw2-FM.json",
235
+ "VCU0000331": "HM-LC-Sw1-PB-FM.json",
236
+ "VCU0000332": "HM-LC-Sw2-PB-FM.json",
237
+ "VCU0000333": "HM-LC-Sw4-DR.json",
238
+ "VCU0000334": "HM-LC-Sw2-DR.json",
239
+ "VCU0000335": "ZEL STG RM FZS.json",
240
+ "VCU0000336": "ZEL STG RM FZS-2.json",
241
+ "VCU0000337": "HM-LC-SwX.json",
242
+ "VCU0000338": "HM-LC-Sw1-Pl-OM54.json",
243
+ "VCU0000339": "HM-LC-Sw1-SM-ATmega168.json",
244
+ "VCU0000340": "HM-LC-Sw4-SM-ATmega168.json",
245
+ "VCU0000341": "HM-TC-IT-WM-W-EU.json",
246
+ "VCU0000343": "HM-Sec-TiS.json",
247
+ "VCU0000344": "HM-WDS30-OT2-SM.json",
248
+ "VCU0000345": "HM-WDS30-OT2-SM-2.json",
249
+ "VCU0000346": "HM-WDS40-TH-I-2.json",
250
+ "VCU0000348": "HM-Sec-WDS.json",
251
+ "VCU0000349": "HM-Sec-WDS-2.json",
252
+ "VCU0000350": "HM-Sec-Win.json",
253
+ "VCU0000351": "HM-Sec-Win-Generic.json",
254
+ "VCU0000352": "WS550.json",
255
+ "VCU0000353": "WS888.json",
256
+ "VCU0000354": "WS550Tech.json",
257
+ "VCU0000355": "WS550LCB.json",
258
+ "VCU0000356": "WS550LCW.json",
259
+ "VCU0000357": "HM-WDC7000.json",
260
+ "VCU1004487": "HmIPW-DRAP.json",
261
+ "VCU1111390": "HmIP-HDM2.json",
262
+ "VCU1150287": "HmIP-HAP.json",
263
+ "VCU1152627": "HmIP-RC8.json",
264
+ "VCU1223813": "HmIP-FBL.json",
265
+ "VCU1260322": "HmIP-RFUSB.json",
266
+ "VCU1289997": "HmIP-SPDR.json",
267
+ "VCU1362746": "HmIP-SWO-PR.json",
268
+ "VCU1366171": "HMIP-PS.json",
269
+ "VCU1399816": "HmIP-BDT.json",
270
+ "VCU1437294": "HmIP-SMI.json",
271
+ "VCU1494703": "HmIP-eTRV-E.json",
272
+ "VCU1533290": "HmIP-WRC6.json",
273
+ "VCU1543608": "HmIP-MP3P.json",
274
+ "VCU1673350": "HmIPW-FIO6.json",
275
+ "VCU1768323": "HmIP-eTRV-C-2.json",
276
+ "VCU1769958": "HmIP-BWTH.json",
277
+ "VCU1803301": "HmIP-USBSM.json",
278
+ "VCU1815001": "HmIP-SWD.json",
279
+ "VCU1841406": "HmIP-SWO-PL.json",
280
+ "VCU1891174": "HmIPW-DRS8.json",
281
+ "VCU1954019": "HmIP-FAL230-C10.json",
282
+ "VCU2118827": "HmIP-DLS.json",
283
+ "VCU2128127": "HmIP-BSM.json",
284
+ "VCU2333555": "HmIP-FSI16.json",
285
+ "VCU2407364": "HmIP-PCBS.json",
286
+ "VCU2428569": "HmIPW-FAL230-C6.json",
287
+ "VCU2573721": "HmIP-SMO-2.json",
288
+ "VCU2680226": "HmIP-WTH-2.json",
289
+ "VCU2721398": "HmIPW-DRI32.json",
290
+ "VCU2737768": "HMIP-SWDO.json",
291
+ "VCU2822385": "HmIP-SWSD.json",
292
+ "VCU2826390": "HmIPW-STH.json",
293
+ "VCU2913614": "HmIP-WHS2.json",
294
+ "VCU3015080": "HmIP-SCI.json",
295
+ "VCU3056370": "HmIP-SLO.json",
296
+ "VCU3188750": "HmIP-WGC.json",
297
+ "VCU3432945": "HmIP-STV.json",
298
+ "VCU3560967": "HmIP-HDM1.json",
299
+ "VCU3609622": "HmIP-eTRV-2.json",
300
+ "VCU3790312": "HmIP-SWO-B.json",
301
+ "VCU3880755": "HB-UNI-Sensor-THPD-BME280.json",
302
+ "VCU3941846": "HMIP-PSM.json",
303
+ "VCU4070501": "HmIP-FSM16.json",
304
+ "VCU4243444": "HmIP-WRCD.json",
305
+ "VCU4264293": "HmIP-RCV-50.json",
306
+ "VCU4523900": "HmIP-STHO.json",
307
+ "VCU4567298": "HmIP-DBB.json",
308
+ "VCU4613288": "HmIP-FROLL.json",
309
+ "VCU4704397": "HmIPW-WRC6.json",
310
+ "VCU4743739": "HmIPW-SPI.json",
311
+ "VCU4898089": "HmIP-KRC4.json",
312
+ "VCU4984404": "HmIPW-STHD.json",
313
+ "VCU5092447": "HmIP-SMO-A.json",
314
+ "VCU5334484": "HmIP-KRCA.json",
315
+ "VCU5424977": "HmIP-DSD-PCB.json",
316
+ "VCU5429697": "HmIP-SAM.json",
317
+ "VCU5597068": "HmIPW-SMI55.json",
318
+ "VCU5628817": "HmIP-SMO.json",
319
+ "VCU5644414": "HmIP-SWDM.json",
320
+ "VCU5778428": "HmIP-HEATING.json",
321
+ "VCU5801873": "HmIP-PMFS.json",
322
+ "VCU5864966": "HmIP-SWDO-I.json",
323
+ "VCU5980155": "HmIP-PCBS-BAT.json",
324
+ "VCU6153495": "HmIP-FCI1.json",
325
+ "VCU6306084": "HmIP-BRC2.json",
326
+ "VCU6354483": "HmIP-STHD.json",
327
+ "VCU6531931": "HmIP-RCB1.json",
328
+ "VCU6874371": "HmIP-MOD-RC8.json",
329
+ "VCU6948166": "HmIP-DRDI3.json",
330
+ "VCU6977344": "HmIP-MIO16-PCB.json",
331
+ "VCU6985973": "HmIP-BSL.json",
332
+ "VCU7171997": "HB-WDS40-THP-O.json",
333
+ "VCU7204276": "HmIP-DRSI4.json",
334
+ "VCU7447418": "HmIP-PCBS2.json",
335
+ "VCU7549831": "HmIP-STE2-PCB.json",
336
+ "VCU7631078": "HmIP-FDT.json",
337
+ "VCU7652142": "HmIP-SRD.json",
338
+ "VCU7807849": "HmIPW-DRBL4.json",
339
+ "VCU7808411": "HmIP-eTRV-B1.json",
340
+ "VCU7935803": "HMIP-WRC2.json",
341
+ "VCU7981740": "HmIP-SRH.json",
342
+ "VCU8063453": "HmIP-STH.json",
343
+ "VCU8066814": "RPI-RF-MOD.json",
344
+ "VCU8126977": "HmIP-MOD-OC8.json",
345
+ "VCU8205532": "HmIP-SCTH230.json",
346
+ "VCU8249617": "HmIP-ASIR-2.json",
347
+ "VCU8255833": "HmIP-STHO-A.json",
348
+ "VCU8333683": "HmIP-SWDM-B2.json",
349
+ "VCU8451105": "HmIPW-WTH.json",
350
+ "VCU8492627": "HB-UNI-Sensor1.json",
351
+ "VCU8537918": "HmIP-BROLL.json",
352
+ "VCU8539034": "HmIP-WRCR.json",
353
+ "VCU8585352": "HmIP-DRSI1.json",
354
+ "VCU8655720": "HmIP-CCU3.json",
355
+ "VCU8688276": "HmIP-eTRV-B.json",
356
+ "VCU9333179": "HmIP-ASIR.json",
357
+ "VCU9344471": "HmIP-SPI.json",
358
+ "VCU9628024": "HmIPW-FALMOT-C12.json",
359
+ "VCU9710932": "HmIP-SMI55.json",
360
+ "VCU9724704": "HmIP-DLD.json",
361
+ "VCU9834159": "HB-LC-Bl1PBU-FM.json",
362
+ "VCU9933791": "HmIPW-DRD3.json",
363
+ "VCU9981826": "HmIP-SFD.json"
364
+ }