matter-python-client 0.4.1a0.dev20260220__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.
- matter_python_client-0.4.1a0.dev20260220.dist-info/METADATA +20 -0
- matter_python_client-0.4.1a0.dev20260220.dist-info/RECORD +22 -0
- matter_python_client-0.4.1a0.dev20260220.dist-info/WHEEL +5 -0
- matter_python_client-0.4.1a0.dev20260220.dist-info/top_level.txt +1 -0
- matter_server/__init__.py +1 -0
- matter_server/client/__init__.py +5 -0
- matter_server/client/client.py +806 -0
- matter_server/client/connection.py +177 -0
- matter_server/client/exceptions.py +63 -0
- matter_server/client/models/__init__.py +1 -0
- matter_server/client/models/device_types.py +952 -0
- matter_server/client/models/node.py +414 -0
- matter_server/common/__init__.py +1 -0
- matter_server/common/const.py +8 -0
- matter_server/common/custom_clusters.py +1371 -0
- matter_server/common/errors.py +94 -0
- matter_server/common/helpers/__init__.py +0 -0
- matter_server/common/helpers/api.py +70 -0
- matter_server/common/helpers/json.py +48 -0
- matter_server/common/helpers/util.py +359 -0
- matter_server/common/models.py +273 -0
- matter_server/py.typed +0 -0
|
@@ -0,0 +1,952 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Definitions for all known Device types.
|
|
3
|
+
|
|
4
|
+
This file is auto generated from `zcl/data-model/chip/matter-devices.xml`
|
|
5
|
+
Do not override!
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import typing
|
|
11
|
+
|
|
12
|
+
from chip.clusters import Objects as all_clusters
|
|
13
|
+
|
|
14
|
+
ALL_TYPES: dict[int, type["DeviceType"]] = {}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class DeviceType:
|
|
18
|
+
"""Base class for Matter device types."""
|
|
19
|
+
|
|
20
|
+
device_type: int
|
|
21
|
+
clusters: set[type[all_clusters.Cluster]]
|
|
22
|
+
|
|
23
|
+
def __init_subclass__(cls, *, device_type: int, **kwargs: typing.Any) -> None:
|
|
24
|
+
"""Register a subclass."""
|
|
25
|
+
super().__init_subclass__(**kwargs)
|
|
26
|
+
cls.device_type = device_type
|
|
27
|
+
ALL_TYPES[device_type] = cls
|
|
28
|
+
|
|
29
|
+
def __hash__(self) -> int:
|
|
30
|
+
"""Return unique hash for this object."""
|
|
31
|
+
return self.device_type
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class OrphanClusters(DeviceType, device_type=0xFFF10001):
|
|
35
|
+
"""Orphan Clusters."""
|
|
36
|
+
|
|
37
|
+
clusters = {
|
|
38
|
+
all_clusters.ProxyConfiguration,
|
|
39
|
+
all_clusters.ProxyDiscovery,
|
|
40
|
+
all_clusters.ProxyValid,
|
|
41
|
+
all_clusters.PulseWidthModulation,
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class RootNode(DeviceType, device_type=0x0016):
|
|
46
|
+
"""Root Node."""
|
|
47
|
+
|
|
48
|
+
clusters = {
|
|
49
|
+
all_clusters.AccessControl,
|
|
50
|
+
all_clusters.BasicInformation,
|
|
51
|
+
all_clusters.Descriptor,
|
|
52
|
+
all_clusters.GeneralCommissioning,
|
|
53
|
+
all_clusters.PowerSourceConfiguration,
|
|
54
|
+
all_clusters.TimeSynchronization,
|
|
55
|
+
all_clusters.GroupKeyManagement,
|
|
56
|
+
all_clusters.NetworkCommissioning,
|
|
57
|
+
all_clusters.AdministratorCommissioning,
|
|
58
|
+
all_clusters.OperationalCredentials,
|
|
59
|
+
all_clusters.LocalizationConfiguration,
|
|
60
|
+
all_clusters.TimeFormatLocalization,
|
|
61
|
+
all_clusters.UnitLocalization,
|
|
62
|
+
all_clusters.GeneralDiagnostics,
|
|
63
|
+
all_clusters.DiagnosticLogs,
|
|
64
|
+
all_clusters.SoftwareDiagnostics,
|
|
65
|
+
all_clusters.EthernetNetworkDiagnostics,
|
|
66
|
+
all_clusters.WiFiNetworkDiagnostics,
|
|
67
|
+
all_clusters.ThreadNetworkDiagnostics,
|
|
68
|
+
all_clusters.IcdManagement,
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class PowerSource(DeviceType, device_type=0x0011):
|
|
73
|
+
"""Power Source."""
|
|
74
|
+
|
|
75
|
+
clusters = {
|
|
76
|
+
all_clusters.Descriptor,
|
|
77
|
+
all_clusters.PowerSource,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class ElectricalSensor(DeviceType, device_type=0x0510):
|
|
82
|
+
"""Electrical Sensor."""
|
|
83
|
+
|
|
84
|
+
clusters = {
|
|
85
|
+
all_clusters.Descriptor,
|
|
86
|
+
all_clusters.PowerTopology,
|
|
87
|
+
all_clusters.ElectricalEnergyMeasurement,
|
|
88
|
+
all_clusters.ElectricalPowerMeasurement,
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class OtaRequestor(DeviceType, device_type=0x0012):
|
|
93
|
+
"""OTA Requestor."""
|
|
94
|
+
|
|
95
|
+
clusters = {
|
|
96
|
+
all_clusters.Descriptor,
|
|
97
|
+
all_clusters.OtaSoftwareUpdateRequestor,
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class OtaProvider(DeviceType, device_type=0x0014):
|
|
102
|
+
"""OTA Provider."""
|
|
103
|
+
|
|
104
|
+
clusters = {
|
|
105
|
+
all_clusters.Descriptor,
|
|
106
|
+
all_clusters.OtaSoftwareUpdateProvider,
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class Aggregator(DeviceType, device_type=0x000E):
|
|
111
|
+
"""Aggregator."""
|
|
112
|
+
|
|
113
|
+
clusters = {
|
|
114
|
+
all_clusters.Descriptor,
|
|
115
|
+
all_clusters.Actions,
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class BridgedNode(DeviceType, device_type=0x0013):
|
|
120
|
+
"""Bridged Node."""
|
|
121
|
+
|
|
122
|
+
clusters = {
|
|
123
|
+
all_clusters.Descriptor,
|
|
124
|
+
all_clusters.BridgedDeviceBasicInformation,
|
|
125
|
+
all_clusters.PowerSourceConfiguration,
|
|
126
|
+
all_clusters.PowerSource,
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class OnOffLight(DeviceType, device_type=0x0100):
|
|
131
|
+
"""On/Off Light."""
|
|
132
|
+
|
|
133
|
+
clusters = {
|
|
134
|
+
all_clusters.Identify,
|
|
135
|
+
all_clusters.Descriptor,
|
|
136
|
+
all_clusters.Groups,
|
|
137
|
+
all_clusters.ScenesManagement,
|
|
138
|
+
all_clusters.OnOff,
|
|
139
|
+
all_clusters.LevelControl,
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class DimmableLight(DeviceType, device_type=0x0101):
|
|
144
|
+
"""Dimmable Light."""
|
|
145
|
+
|
|
146
|
+
clusters = {
|
|
147
|
+
all_clusters.Identify,
|
|
148
|
+
all_clusters.Descriptor,
|
|
149
|
+
all_clusters.Binding,
|
|
150
|
+
all_clusters.Groups,
|
|
151
|
+
all_clusters.ScenesManagement,
|
|
152
|
+
all_clusters.OnOff,
|
|
153
|
+
all_clusters.LevelControl,
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class MountedOnOffControl(DeviceType, device_type=0x010F):
|
|
158
|
+
"""Mounted On/Off Control."""
|
|
159
|
+
|
|
160
|
+
clusters = {
|
|
161
|
+
all_clusters.Groups,
|
|
162
|
+
all_clusters.Identify,
|
|
163
|
+
all_clusters.LevelControl,
|
|
164
|
+
all_clusters.OnOff,
|
|
165
|
+
all_clusters.ScenesManagement,
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class MountedDimmableLoadControl(DeviceType, device_type=0x0110):
|
|
170
|
+
"""Mounted Dimmable Load Control."""
|
|
171
|
+
|
|
172
|
+
clusters = {
|
|
173
|
+
all_clusters.Groups,
|
|
174
|
+
all_clusters.Identify,
|
|
175
|
+
all_clusters.LevelControl,
|
|
176
|
+
all_clusters.OnOff,
|
|
177
|
+
all_clusters.ScenesManagement,
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class ColorTemperatureLight(DeviceType, device_type=0x010C):
|
|
182
|
+
"""Color Temperature Light."""
|
|
183
|
+
|
|
184
|
+
clusters = {
|
|
185
|
+
all_clusters.Identify,
|
|
186
|
+
all_clusters.Descriptor,
|
|
187
|
+
all_clusters.Groups,
|
|
188
|
+
all_clusters.ScenesManagement,
|
|
189
|
+
all_clusters.OnOff,
|
|
190
|
+
all_clusters.LevelControl,
|
|
191
|
+
all_clusters.ColorControl,
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
class ExtendedColorLight(DeviceType, device_type=0x010D):
|
|
196
|
+
"""Extended Color Light."""
|
|
197
|
+
|
|
198
|
+
clusters = {
|
|
199
|
+
all_clusters.Identify,
|
|
200
|
+
all_clusters.Descriptor,
|
|
201
|
+
all_clusters.Groups,
|
|
202
|
+
all_clusters.ScenesManagement,
|
|
203
|
+
all_clusters.OnOff,
|
|
204
|
+
all_clusters.LevelControl,
|
|
205
|
+
all_clusters.ColorControl,
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
class OnOffPlugInUnit(DeviceType, device_type=0x010A):
|
|
210
|
+
"""On/Off Plug-in Unit."""
|
|
211
|
+
|
|
212
|
+
clusters = {
|
|
213
|
+
all_clusters.Identify,
|
|
214
|
+
all_clusters.Descriptor,
|
|
215
|
+
all_clusters.Groups,
|
|
216
|
+
all_clusters.ScenesManagement,
|
|
217
|
+
all_clusters.OnOff,
|
|
218
|
+
all_clusters.LevelControl,
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
class DimmablePlugInUnit(DeviceType, device_type=0x010B):
|
|
223
|
+
"""Dimmable Plug-in Unit."""
|
|
224
|
+
|
|
225
|
+
clusters = {
|
|
226
|
+
all_clusters.Identify,
|
|
227
|
+
all_clusters.Descriptor,
|
|
228
|
+
all_clusters.Groups,
|
|
229
|
+
all_clusters.ScenesManagement,
|
|
230
|
+
all_clusters.OnOff,
|
|
231
|
+
all_clusters.LevelControl,
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
class Pump(DeviceType, device_type=0x0303):
|
|
236
|
+
"""Pump."""
|
|
237
|
+
|
|
238
|
+
clusters = {
|
|
239
|
+
all_clusters.Identify,
|
|
240
|
+
all_clusters.Descriptor,
|
|
241
|
+
all_clusters.Binding,
|
|
242
|
+
all_clusters.Groups,
|
|
243
|
+
all_clusters.ScenesManagement,
|
|
244
|
+
all_clusters.OnOff,
|
|
245
|
+
all_clusters.PumpConfigurationAndControl,
|
|
246
|
+
all_clusters.LevelControl,
|
|
247
|
+
all_clusters.TemperatureMeasurement,
|
|
248
|
+
all_clusters.PressureMeasurement,
|
|
249
|
+
all_clusters.FlowMeasurement,
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
class OnOffLightSwitch(DeviceType, device_type=0x0103):
|
|
254
|
+
"""On/Off Light Switch."""
|
|
255
|
+
|
|
256
|
+
clusters = {
|
|
257
|
+
all_clusters.Identify,
|
|
258
|
+
all_clusters.Descriptor,
|
|
259
|
+
all_clusters.Binding,
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class DimmerSwitch(DeviceType, device_type=0x0104):
|
|
264
|
+
"""Dimmer Switch."""
|
|
265
|
+
|
|
266
|
+
clusters = {
|
|
267
|
+
all_clusters.Identify,
|
|
268
|
+
all_clusters.Descriptor,
|
|
269
|
+
all_clusters.Binding,
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
class ColorDimmerSwitch(DeviceType, device_type=0x0105):
|
|
274
|
+
"""Color Dimmer Switch."""
|
|
275
|
+
|
|
276
|
+
clusters = {
|
|
277
|
+
all_clusters.Identify,
|
|
278
|
+
all_clusters.Descriptor,
|
|
279
|
+
all_clusters.Binding,
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
class ControlBridge(DeviceType, device_type=0x0840):
|
|
284
|
+
"""Control Bridge."""
|
|
285
|
+
|
|
286
|
+
clusters = {
|
|
287
|
+
all_clusters.Identify,
|
|
288
|
+
all_clusters.Descriptor,
|
|
289
|
+
all_clusters.Binding,
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
class PumpController(DeviceType, device_type=0x0304):
|
|
294
|
+
"""Pump Controller."""
|
|
295
|
+
|
|
296
|
+
clusters = {
|
|
297
|
+
all_clusters.Identify,
|
|
298
|
+
all_clusters.Descriptor,
|
|
299
|
+
all_clusters.Binding,
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
class GenericSwitch(DeviceType, device_type=0x000F):
|
|
304
|
+
"""Generic Switch."""
|
|
305
|
+
|
|
306
|
+
clusters = {
|
|
307
|
+
all_clusters.Identify,
|
|
308
|
+
all_clusters.Descriptor,
|
|
309
|
+
all_clusters.Switch,
|
|
310
|
+
all_clusters.FixedLabel,
|
|
311
|
+
all_clusters.UserLabel,
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
class ContactSensor(DeviceType, device_type=0x0015):
|
|
316
|
+
"""Contact Sensor."""
|
|
317
|
+
|
|
318
|
+
clusters = {
|
|
319
|
+
all_clusters.Identify,
|
|
320
|
+
all_clusters.Descriptor,
|
|
321
|
+
all_clusters.BooleanState,
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
class LightSensor(DeviceType, device_type=0x0106):
|
|
326
|
+
"""Light Sensor."""
|
|
327
|
+
|
|
328
|
+
clusters = {
|
|
329
|
+
all_clusters.Identify,
|
|
330
|
+
all_clusters.Descriptor,
|
|
331
|
+
all_clusters.Binding,
|
|
332
|
+
all_clusters.IlluminanceMeasurement,
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
class OccupancySensor(DeviceType, device_type=0x0107):
|
|
337
|
+
"""Occupancy Sensor."""
|
|
338
|
+
|
|
339
|
+
clusters = {
|
|
340
|
+
all_clusters.Identify,
|
|
341
|
+
all_clusters.Descriptor,
|
|
342
|
+
all_clusters.Binding,
|
|
343
|
+
all_clusters.OccupancySensing,
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
class TemperatureSensor(DeviceType, device_type=0x0302):
|
|
348
|
+
"""Temperature Sensor."""
|
|
349
|
+
|
|
350
|
+
clusters = {
|
|
351
|
+
all_clusters.Identify,
|
|
352
|
+
all_clusters.Descriptor,
|
|
353
|
+
all_clusters.TemperatureMeasurement,
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
class PressureSensor(DeviceType, device_type=0x0305):
|
|
358
|
+
"""Pressure Sensor."""
|
|
359
|
+
|
|
360
|
+
clusters = {
|
|
361
|
+
all_clusters.Identify,
|
|
362
|
+
all_clusters.Descriptor,
|
|
363
|
+
all_clusters.PressureMeasurement,
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
class FlowSensor(DeviceType, device_type=0x0306):
|
|
368
|
+
"""Flow Sensor."""
|
|
369
|
+
|
|
370
|
+
clusters = {
|
|
371
|
+
all_clusters.Identify,
|
|
372
|
+
all_clusters.Descriptor,
|
|
373
|
+
all_clusters.FlowMeasurement,
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
class HumiditySensor(DeviceType, device_type=0x0307):
|
|
378
|
+
"""Humidity Sensor."""
|
|
379
|
+
|
|
380
|
+
clusters = {
|
|
381
|
+
all_clusters.Identify,
|
|
382
|
+
all_clusters.Descriptor,
|
|
383
|
+
all_clusters.RelativeHumidityMeasurement,
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
class OnOffSensor(DeviceType, device_type=0x0850):
|
|
388
|
+
"""On/Off Sensor."""
|
|
389
|
+
|
|
390
|
+
clusters = {
|
|
391
|
+
all_clusters.Identify,
|
|
392
|
+
all_clusters.Descriptor,
|
|
393
|
+
all_clusters.Binding,
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
class DoorLock(DeviceType, device_type=0x000A):
|
|
398
|
+
"""Door Lock."""
|
|
399
|
+
|
|
400
|
+
clusters = {
|
|
401
|
+
all_clusters.Identify,
|
|
402
|
+
all_clusters.Descriptor,
|
|
403
|
+
all_clusters.DoorLock,
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
class DoorLockController(DeviceType, device_type=0x000B):
|
|
408
|
+
"""Door Lock Controller."""
|
|
409
|
+
|
|
410
|
+
clusters = {
|
|
411
|
+
all_clusters.Descriptor,
|
|
412
|
+
all_clusters.Binding,
|
|
413
|
+
all_clusters.TimeSynchronization,
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
class WindowCovering(DeviceType, device_type=0x0202):
|
|
418
|
+
"""Window Covering."""
|
|
419
|
+
|
|
420
|
+
clusters = {
|
|
421
|
+
all_clusters.Identify,
|
|
422
|
+
all_clusters.Descriptor,
|
|
423
|
+
all_clusters.ScenesManagement,
|
|
424
|
+
all_clusters.Groups,
|
|
425
|
+
all_clusters.WindowCovering,
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
class WindowCoveringController(DeviceType, device_type=0x0203):
|
|
430
|
+
"""Window Covering Controller."""
|
|
431
|
+
|
|
432
|
+
clusters = {
|
|
433
|
+
all_clusters.Identify,
|
|
434
|
+
all_clusters.Descriptor,
|
|
435
|
+
all_clusters.Binding,
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
class HeatingCoolingUnit(DeviceType, device_type=0x0300):
|
|
440
|
+
"""Heating/Cooling Unit."""
|
|
441
|
+
|
|
442
|
+
clusters = {
|
|
443
|
+
all_clusters.Identify,
|
|
444
|
+
all_clusters.Descriptor,
|
|
445
|
+
all_clusters.Binding,
|
|
446
|
+
all_clusters.Groups,
|
|
447
|
+
all_clusters.ScenesManagement,
|
|
448
|
+
all_clusters.FanControl,
|
|
449
|
+
all_clusters.LevelControl,
|
|
450
|
+
all_clusters.OnOff,
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
class Thermostat(DeviceType, device_type=0x0301):
|
|
455
|
+
"""Thermostat."""
|
|
456
|
+
|
|
457
|
+
clusters = {
|
|
458
|
+
all_clusters.Identify,
|
|
459
|
+
all_clusters.Descriptor,
|
|
460
|
+
all_clusters.Binding,
|
|
461
|
+
all_clusters.ScenesManagement,
|
|
462
|
+
all_clusters.Groups,
|
|
463
|
+
all_clusters.Thermostat,
|
|
464
|
+
all_clusters.TimeSynchronization,
|
|
465
|
+
all_clusters.ThermostatUserInterfaceConfiguration,
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
class Fan(DeviceType, device_type=0x002B):
|
|
470
|
+
"""Fan."""
|
|
471
|
+
|
|
472
|
+
clusters = {
|
|
473
|
+
all_clusters.Identify,
|
|
474
|
+
all_clusters.Descriptor,
|
|
475
|
+
all_clusters.Groups,
|
|
476
|
+
all_clusters.FanControl,
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
class CastingVideoPlayer(DeviceType, device_type=0x0023):
|
|
481
|
+
"""Casting Video Player."""
|
|
482
|
+
|
|
483
|
+
clusters = {
|
|
484
|
+
all_clusters.Descriptor,
|
|
485
|
+
all_clusters.MediaPlayback,
|
|
486
|
+
all_clusters.KeypadInput,
|
|
487
|
+
all_clusters.ApplicationLauncher,
|
|
488
|
+
all_clusters.MediaInput,
|
|
489
|
+
all_clusters.OnOff,
|
|
490
|
+
all_clusters.Channel,
|
|
491
|
+
all_clusters.AudioOutput,
|
|
492
|
+
all_clusters.LowPower,
|
|
493
|
+
all_clusters.WakeOnLan,
|
|
494
|
+
all_clusters.TargetNavigator,
|
|
495
|
+
all_clusters.AccountLogin,
|
|
496
|
+
all_clusters.ContentLauncher,
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
class BasicVideoPlayer(DeviceType, device_type=0x0028):
|
|
501
|
+
"""Basic Video Player."""
|
|
502
|
+
|
|
503
|
+
clusters = {
|
|
504
|
+
all_clusters.Descriptor,
|
|
505
|
+
all_clusters.MediaPlayback,
|
|
506
|
+
all_clusters.KeypadInput,
|
|
507
|
+
all_clusters.MediaInput,
|
|
508
|
+
all_clusters.OnOff,
|
|
509
|
+
all_clusters.Channel,
|
|
510
|
+
all_clusters.AudioOutput,
|
|
511
|
+
all_clusters.LowPower,
|
|
512
|
+
all_clusters.WakeOnLan,
|
|
513
|
+
all_clusters.TargetNavigator,
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
class CastingVideoClient(DeviceType, device_type=0x0029):
|
|
518
|
+
"""Casting Video Client."""
|
|
519
|
+
|
|
520
|
+
clusters = {
|
|
521
|
+
all_clusters.Descriptor,
|
|
522
|
+
all_clusters.Binding,
|
|
523
|
+
all_clusters.MediaPlayback,
|
|
524
|
+
all_clusters.ContentLauncher,
|
|
525
|
+
all_clusters.KeypadInput,
|
|
526
|
+
all_clusters.AccountLogin,
|
|
527
|
+
all_clusters.OnOff,
|
|
528
|
+
all_clusters.LevelControl,
|
|
529
|
+
all_clusters.WakeOnLan,
|
|
530
|
+
all_clusters.Channel,
|
|
531
|
+
all_clusters.TargetNavigator,
|
|
532
|
+
all_clusters.MediaInput,
|
|
533
|
+
all_clusters.LowPower,
|
|
534
|
+
all_clusters.AudioOutput,
|
|
535
|
+
all_clusters.ApplicationLauncher,
|
|
536
|
+
all_clusters.ApplicationBasic,
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
class VideoRemoteControl(DeviceType, device_type=0x002A):
|
|
541
|
+
"""Video Remote Control."""
|
|
542
|
+
|
|
543
|
+
clusters = {
|
|
544
|
+
all_clusters.Descriptor,
|
|
545
|
+
all_clusters.Binding,
|
|
546
|
+
all_clusters.MediaPlayback,
|
|
547
|
+
all_clusters.ContentLauncher,
|
|
548
|
+
all_clusters.KeypadInput,
|
|
549
|
+
all_clusters.AccountLogin,
|
|
550
|
+
all_clusters.OnOff,
|
|
551
|
+
all_clusters.LevelControl,
|
|
552
|
+
all_clusters.WakeOnLan,
|
|
553
|
+
all_clusters.Channel,
|
|
554
|
+
all_clusters.TargetNavigator,
|
|
555
|
+
all_clusters.MediaInput,
|
|
556
|
+
all_clusters.LowPower,
|
|
557
|
+
all_clusters.AudioOutput,
|
|
558
|
+
all_clusters.ApplicationLauncher,
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
class Speaker(DeviceType, device_type=0x0022):
|
|
563
|
+
"""Speaker."""
|
|
564
|
+
|
|
565
|
+
clusters = {
|
|
566
|
+
all_clusters.Identify,
|
|
567
|
+
all_clusters.Descriptor,
|
|
568
|
+
all_clusters.OnOff,
|
|
569
|
+
all_clusters.LevelControl,
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
class ContentApp(DeviceType, device_type=0x0024):
|
|
574
|
+
"""Content App."""
|
|
575
|
+
|
|
576
|
+
clusters = {
|
|
577
|
+
all_clusters.Identify,
|
|
578
|
+
all_clusters.Descriptor,
|
|
579
|
+
all_clusters.ApplicationBasic,
|
|
580
|
+
all_clusters.KeypadInput,
|
|
581
|
+
all_clusters.ApplicationLauncher,
|
|
582
|
+
all_clusters.AccountLogin,
|
|
583
|
+
all_clusters.ContentLauncher,
|
|
584
|
+
all_clusters.MediaPlayback,
|
|
585
|
+
all_clusters.TargetNavigator,
|
|
586
|
+
all_clusters.Channel,
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
class ModeSelect(DeviceType, device_type=0x0027):
|
|
591
|
+
"""Mode Select."""
|
|
592
|
+
|
|
593
|
+
clusters = {
|
|
594
|
+
all_clusters.Identify,
|
|
595
|
+
all_clusters.Descriptor,
|
|
596
|
+
all_clusters.ModeSelect,
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
class RoomAirConditioner(DeviceType, device_type=0x0072):
|
|
601
|
+
"""Room Air Conditioner."""
|
|
602
|
+
|
|
603
|
+
clusters = {
|
|
604
|
+
all_clusters.Identify,
|
|
605
|
+
all_clusters.OnOff,
|
|
606
|
+
all_clusters.Descriptor,
|
|
607
|
+
all_clusters.Groups,
|
|
608
|
+
all_clusters.ScenesManagement,
|
|
609
|
+
all_clusters.Thermostat,
|
|
610
|
+
all_clusters.ThermostatUserInterfaceConfiguration,
|
|
611
|
+
all_clusters.FanControl,
|
|
612
|
+
all_clusters.TemperatureMeasurement,
|
|
613
|
+
all_clusters.RelativeHumidityMeasurement,
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
class SmokeCoAlarm(DeviceType, device_type=0x0076):
|
|
618
|
+
"""Smoke CO Alarm."""
|
|
619
|
+
|
|
620
|
+
clusters = {
|
|
621
|
+
all_clusters.Identify,
|
|
622
|
+
all_clusters.Groups,
|
|
623
|
+
all_clusters.SmokeCoAlarm,
|
|
624
|
+
all_clusters.RelativeHumidityMeasurement,
|
|
625
|
+
all_clusters.TemperatureMeasurement,
|
|
626
|
+
all_clusters.CarbonMonoxideConcentrationMeasurement,
|
|
627
|
+
all_clusters.PowerSource,
|
|
628
|
+
all_clusters.Descriptor,
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
class AirPurifier(DeviceType, device_type=0x002D):
|
|
633
|
+
"""Air Purifier."""
|
|
634
|
+
|
|
635
|
+
clusters = {
|
|
636
|
+
all_clusters.Descriptor,
|
|
637
|
+
all_clusters.Identify,
|
|
638
|
+
all_clusters.Groups,
|
|
639
|
+
all_clusters.FanControl,
|
|
640
|
+
all_clusters.HepaFilterMonitoring,
|
|
641
|
+
all_clusters.ActivatedCarbonFilterMonitoring,
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
class AirQualitySensor(DeviceType, device_type=0x002C):
|
|
646
|
+
"""Air Quality Sensor."""
|
|
647
|
+
|
|
648
|
+
clusters = {
|
|
649
|
+
all_clusters.Descriptor,
|
|
650
|
+
all_clusters.Identify,
|
|
651
|
+
all_clusters.AirQuality,
|
|
652
|
+
all_clusters.TemperatureMeasurement,
|
|
653
|
+
all_clusters.RelativeHumidityMeasurement,
|
|
654
|
+
all_clusters.CarbonMonoxideConcentrationMeasurement,
|
|
655
|
+
all_clusters.CarbonDioxideConcentrationMeasurement,
|
|
656
|
+
all_clusters.NitrogenDioxideConcentrationMeasurement,
|
|
657
|
+
all_clusters.OzoneConcentrationMeasurement,
|
|
658
|
+
all_clusters.FormaldehydeConcentrationMeasurement,
|
|
659
|
+
all_clusters.Pm1ConcentrationMeasurement,
|
|
660
|
+
all_clusters.Pm25ConcentrationMeasurement,
|
|
661
|
+
all_clusters.Pm10ConcentrationMeasurement,
|
|
662
|
+
all_clusters.RadonConcentrationMeasurement,
|
|
663
|
+
all_clusters.TotalVolatileOrganicCompoundsConcentrationMeasurement,
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
class Dishwasher(DeviceType, device_type=0x0075):
|
|
668
|
+
"""Dishwasher."""
|
|
669
|
+
|
|
670
|
+
clusters = {
|
|
671
|
+
all_clusters.Identify,
|
|
672
|
+
all_clusters.OnOff,
|
|
673
|
+
all_clusters.Descriptor,
|
|
674
|
+
all_clusters.TemperatureControl,
|
|
675
|
+
all_clusters.DishwasherMode,
|
|
676
|
+
all_clusters.DishwasherAlarm,
|
|
677
|
+
all_clusters.OperationalState,
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
class Oven(DeviceType, device_type=0x007B):
|
|
682
|
+
"""Oven."""
|
|
683
|
+
|
|
684
|
+
clusters = {
|
|
685
|
+
all_clusters.Identify,
|
|
686
|
+
all_clusters.Descriptor,
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
class MicrowaveOven(DeviceType, device_type=0x0079):
|
|
691
|
+
"""Microwave Oven."""
|
|
692
|
+
|
|
693
|
+
clusters = {
|
|
694
|
+
all_clusters.Identify,
|
|
695
|
+
all_clusters.Descriptor,
|
|
696
|
+
all_clusters.FanControl,
|
|
697
|
+
all_clusters.MicrowaveOvenMode,
|
|
698
|
+
all_clusters.MicrowaveOvenControl,
|
|
699
|
+
all_clusters.OperationalState,
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
class Refrigerator(DeviceType, device_type=0x0070):
|
|
704
|
+
"""Refrigerator."""
|
|
705
|
+
|
|
706
|
+
clusters = {
|
|
707
|
+
all_clusters.Identify,
|
|
708
|
+
all_clusters.Descriptor,
|
|
709
|
+
all_clusters.RefrigeratorAndTemperatureControlledCabinetMode,
|
|
710
|
+
all_clusters.RefrigeratorAlarm,
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
class LaundryWasher(DeviceType, device_type=0x0073):
|
|
715
|
+
"""Laundry Washer."""
|
|
716
|
+
|
|
717
|
+
clusters = {
|
|
718
|
+
all_clusters.Identify,
|
|
719
|
+
all_clusters.Descriptor,
|
|
720
|
+
all_clusters.OnOff,
|
|
721
|
+
all_clusters.LaundryWasherMode,
|
|
722
|
+
all_clusters.LaundryWasherControls,
|
|
723
|
+
all_clusters.TemperatureControl,
|
|
724
|
+
all_clusters.OperationalState,
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
class LaundryDryer(DeviceType, device_type=0x007C):
|
|
729
|
+
"""Laundry Dryer."""
|
|
730
|
+
|
|
731
|
+
clusters = {
|
|
732
|
+
all_clusters.Identify,
|
|
733
|
+
all_clusters.Descriptor,
|
|
734
|
+
all_clusters.OnOff,
|
|
735
|
+
all_clusters.LaundryWasherMode,
|
|
736
|
+
all_clusters.LaundryDryerControls,
|
|
737
|
+
all_clusters.TemperatureControl,
|
|
738
|
+
all_clusters.OperationalState,
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
class ExtractorHood(DeviceType, device_type=0x007A):
|
|
743
|
+
"""Extractor Hood."""
|
|
744
|
+
|
|
745
|
+
clusters = {
|
|
746
|
+
all_clusters.Identify,
|
|
747
|
+
all_clusters.Descriptor,
|
|
748
|
+
all_clusters.HepaFilterMonitoring,
|
|
749
|
+
all_clusters.ActivatedCarbonFilterMonitoring,
|
|
750
|
+
all_clusters.FanControl,
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
class RoboticVacuumCleaner(DeviceType, device_type=0x0074):
|
|
755
|
+
"""Robotic Vacuum Cleaner."""
|
|
756
|
+
|
|
757
|
+
clusters = {
|
|
758
|
+
all_clusters.Identify,
|
|
759
|
+
all_clusters.Descriptor,
|
|
760
|
+
all_clusters.RvcRunMode,
|
|
761
|
+
all_clusters.RvcCleanMode,
|
|
762
|
+
all_clusters.RvcOperationalState,
|
|
763
|
+
all_clusters.ServiceArea,
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
class TemperatureControlledCabinet(DeviceType, device_type=0x0071):
|
|
768
|
+
"""Temperature Controlled Cabinet."""
|
|
769
|
+
|
|
770
|
+
clusters = {
|
|
771
|
+
all_clusters.Descriptor,
|
|
772
|
+
all_clusters.TemperatureControl,
|
|
773
|
+
all_clusters.TemperatureMeasurement,
|
|
774
|
+
all_clusters.RefrigeratorAndTemperatureControlledCabinetMode,
|
|
775
|
+
all_clusters.OvenMode,
|
|
776
|
+
all_clusters.OvenCavityOperationalState,
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
class WaterFreezeDetector(DeviceType, device_type=0x0041):
|
|
781
|
+
"""Water Freeze Detector."""
|
|
782
|
+
|
|
783
|
+
clusters = {
|
|
784
|
+
all_clusters.Identify,
|
|
785
|
+
all_clusters.BooleanState,
|
|
786
|
+
all_clusters.BooleanStateConfiguration,
|
|
787
|
+
all_clusters.Descriptor,
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
class WaterValve(DeviceType, device_type=0x0042):
|
|
792
|
+
"""Water Valve."""
|
|
793
|
+
|
|
794
|
+
clusters = {
|
|
795
|
+
all_clusters.Identify,
|
|
796
|
+
all_clusters.ValveConfigurationAndControl,
|
|
797
|
+
all_clusters.Descriptor,
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
class WaterLeakDetector(DeviceType, device_type=0x0043):
|
|
802
|
+
"""Water Leak Detector."""
|
|
803
|
+
|
|
804
|
+
clusters = {
|
|
805
|
+
all_clusters.Identify,
|
|
806
|
+
all_clusters.BooleanState,
|
|
807
|
+
all_clusters.BooleanStateConfiguration,
|
|
808
|
+
all_clusters.Descriptor,
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
class RainSensor(DeviceType, device_type=0x0044):
|
|
813
|
+
"""Rain Sensor."""
|
|
814
|
+
|
|
815
|
+
clusters = {
|
|
816
|
+
all_clusters.Identify,
|
|
817
|
+
all_clusters.BooleanState,
|
|
818
|
+
all_clusters.BooleanStateConfiguration,
|
|
819
|
+
all_clusters.Descriptor,
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
class NetworkInfrastructureManager(DeviceType, device_type=0x0090):
|
|
824
|
+
"""Network Infrastructure Manager."""
|
|
825
|
+
|
|
826
|
+
clusters = {
|
|
827
|
+
all_clusters.Descriptor,
|
|
828
|
+
all_clusters.ThreadNetworkDirectory,
|
|
829
|
+
all_clusters.WiFiNetworkManagement,
|
|
830
|
+
all_clusters.ThreadBorderRouterManagement,
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
class ThreadBorderRouter(DeviceType, device_type=0x0091):
|
|
835
|
+
"""Thread Border Router."""
|
|
836
|
+
|
|
837
|
+
clusters = {
|
|
838
|
+
all_clusters.Descriptor,
|
|
839
|
+
all_clusters.ThreadNetworkDiagnostics,
|
|
840
|
+
all_clusters.ThreadBorderRouterManagement,
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
class AllClustersAppServerExample(DeviceType, device_type=0xFFF10003):
|
|
845
|
+
"""All-clusters-app Server Example."""
|
|
846
|
+
|
|
847
|
+
clusters = {
|
|
848
|
+
all_clusters.Identify,
|
|
849
|
+
all_clusters.Descriptor,
|
|
850
|
+
all_clusters.Binding,
|
|
851
|
+
all_clusters.ColorControl,
|
|
852
|
+
all_clusters.DoorLock,
|
|
853
|
+
all_clusters.Groups,
|
|
854
|
+
all_clusters.LevelControl,
|
|
855
|
+
all_clusters.OnOff,
|
|
856
|
+
all_clusters.ScenesManagement,
|
|
857
|
+
all_clusters.TemperatureMeasurement,
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
class SecondaryNetworkInterface(DeviceType, device_type=0x0019):
|
|
862
|
+
"""Secondary Network Interface."""
|
|
863
|
+
|
|
864
|
+
clusters = {
|
|
865
|
+
all_clusters.NetworkCommissioning,
|
|
866
|
+
all_clusters.Descriptor,
|
|
867
|
+
all_clusters.EthernetNetworkDiagnostics,
|
|
868
|
+
all_clusters.WiFiNetworkDiagnostics,
|
|
869
|
+
all_clusters.ThreadNetworkDiagnostics,
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
class Cooktop(DeviceType, device_type=0x0078):
|
|
874
|
+
"""Cooktop."""
|
|
875
|
+
|
|
876
|
+
clusters = {
|
|
877
|
+
all_clusters.Descriptor,
|
|
878
|
+
all_clusters.Identify,
|
|
879
|
+
all_clusters.OnOff,
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
class CookSurface(DeviceType, device_type=0x0077):
|
|
884
|
+
"""Cook Surface."""
|
|
885
|
+
|
|
886
|
+
clusters = {
|
|
887
|
+
all_clusters.OnOff,
|
|
888
|
+
all_clusters.Descriptor,
|
|
889
|
+
all_clusters.TemperatureControl,
|
|
890
|
+
all_clusters.TemperatureMeasurement,
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
class Evse(DeviceType, device_type=0x050C):
|
|
895
|
+
"""EVSE."""
|
|
896
|
+
|
|
897
|
+
clusters = {
|
|
898
|
+
all_clusters.Descriptor,
|
|
899
|
+
all_clusters.Identify,
|
|
900
|
+
all_clusters.EnergyEvse,
|
|
901
|
+
all_clusters.EnergyEvseMode,
|
|
902
|
+
all_clusters.TemperatureMeasurement,
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
|
|
906
|
+
class DeviceEnergyManagement(DeviceType, device_type=0x050D):
|
|
907
|
+
"""Device Energy Management."""
|
|
908
|
+
|
|
909
|
+
clusters = {
|
|
910
|
+
all_clusters.Descriptor,
|
|
911
|
+
all_clusters.DeviceEnergyManagement,
|
|
912
|
+
all_clusters.DeviceEnergyManagementMode,
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
class WaterHeater(DeviceType, device_type=0x050F):
|
|
917
|
+
"""Water Heater."""
|
|
918
|
+
|
|
919
|
+
clusters = {
|
|
920
|
+
all_clusters.Descriptor,
|
|
921
|
+
all_clusters.Identify,
|
|
922
|
+
all_clusters.Thermostat,
|
|
923
|
+
all_clusters.WaterHeaterManagement,
|
|
924
|
+
all_clusters.WaterHeaterMode,
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
class HeatPump(DeviceType, device_type=0x0309):
|
|
929
|
+
"""Heat Pump."""
|
|
930
|
+
|
|
931
|
+
clusters = {
|
|
932
|
+
all_clusters.Descriptor,
|
|
933
|
+
all_clusters.Identify,
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
class SolarPower(DeviceType, device_type=0x0017):
|
|
938
|
+
"""Solar Power."""
|
|
939
|
+
|
|
940
|
+
clusters = {
|
|
941
|
+
all_clusters.Descriptor,
|
|
942
|
+
all_clusters.Identify,
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
class BatteryStorage(DeviceType, device_type=0x0018):
|
|
947
|
+
"""Battery Storage."""
|
|
948
|
+
|
|
949
|
+
clusters = {
|
|
950
|
+
all_clusters.Descriptor,
|
|
951
|
+
all_clusters.Identify,
|
|
952
|
+
}
|