matter-python-client 1.4.1a11.dev20261007__py3-none-any.whl → 1.5.0__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.
- chip/clusters/Objects.py +2 -0
- chip/clusters/cluster_defs/AmbientContextSensing.py +20 -18
- chip/clusters/cluster_defs/Globals.py +0 -2
- chip/clusters/cluster_defs/Groupcast.py +20 -20
- chip/clusters/cluster_defs/HeimanCluster.py +40 -2
- chip/clusters/cluster_defs/IcdManagement.py +2 -2
- chip/clusters/cluster_defs/IkeaValveCalibrationCluster.py +168 -0
- chip/clusters/cluster_defs/IlluminanceMeasurement.py +4 -4
- chip/clusters/cluster_defs/Thermostat.py +43 -32
- chip/clusters/cluster_defs/UnitTestingCluster.py +245 -0
- chip/clusters/cluster_defs/WebRtcTransportDefinitions.py +2 -2
- chip/clusters/cluster_defs/WindowCovering.py +36 -0
- chip/clusters/cluster_defs/__init__.py +4 -0
- {matter_python_client-1.4.1a11.dev20261007.dist-info → matter_python_client-1.5.0.dist-info}/METADATA +63 -1
- {matter_python_client-1.4.1a11.dev20261007.dist-info → matter_python_client-1.5.0.dist-info}/RECORD +23 -21
- {matter_python_client-1.4.1a11.dev20261007.dist-info → matter_python_client-1.5.0.dist-info}/WHEEL +1 -1
- matter_server/client/client.py +607 -26
- matter_server/client/models/device_types.py +1 -0
- matter_server/client/models/node.py +265 -33
- matter_server/common/custom_clusters.py +6 -0
- matter_server/common/errors.py +178 -20
- matter_server/common/models.py +527 -2
- {matter_python_client-1.4.1a11.dev20261007.dist-info → matter_python_client-1.5.0.dist-info}/top_level.txt +0 -0
chip/clusters/Objects.py
CHANGED
|
@@ -97,6 +97,7 @@ __all__ = [
|
|
|
97
97
|
"HepaFilterMonitoring",
|
|
98
98
|
"IcdManagement",
|
|
99
99
|
"Identify",
|
|
100
|
+
"IkeaValveCalibrationCluster",
|
|
100
101
|
"IlluminanceMeasurement",
|
|
101
102
|
"InovelliCluster",
|
|
102
103
|
"JointFabricAdministrator",
|
|
@@ -166,6 +167,7 @@ __all__ = [
|
|
|
166
167
|
"TlsClientManagement",
|
|
167
168
|
"TotalVolatileOrganicCompoundsConcentrationMeasurement",
|
|
168
169
|
"UnitLocalization",
|
|
170
|
+
"UnitTestingCluster",
|
|
169
171
|
"UserLabel",
|
|
170
172
|
"ValveConfigurationAndControl",
|
|
171
173
|
"WagoCluster",
|
|
@@ -12,7 +12,7 @@ from ...tlv import float32, uint
|
|
|
12
12
|
from ..ClusterObjects import (Cluster, ClusterAttributeDescriptor, ClusterCommand, ClusterEvent, ClusterObject,
|
|
13
13
|
ClusterObjectDescriptor, ClusterObjectFieldDescriptor)
|
|
14
14
|
from ..Types import Nullable, NullValue
|
|
15
|
-
from .
|
|
15
|
+
from .Globals import Globals
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
@dataclass
|
|
@@ -27,8 +27,8 @@ class AmbientContextSensing(Cluster):
|
|
|
27
27
|
ClusterObjectFieldDescriptor(Label="objectIdentified", Tag=0x00000001, Type=typing.Optional[bool]),
|
|
28
28
|
ClusterObjectFieldDescriptor(Label="audioContextDetected", Tag=0x00000002, Type=typing.Optional[bool]),
|
|
29
29
|
ClusterObjectFieldDescriptor(Label="ambientContextType", Tag=0x00000003, Type=typing.Optional[typing.List[AmbientContextSensing.Structs.AmbientContextTypeStruct]]),
|
|
30
|
-
ClusterObjectFieldDescriptor(Label="ambientContextTypeSupported", Tag=0x00000004, Type=typing.Optional[typing.List[
|
|
31
|
-
ClusterObjectFieldDescriptor(Label="
|
|
30
|
+
ClusterObjectFieldDescriptor(Label="ambientContextTypeSupported", Tag=0x00000004, Type=typing.Optional[typing.List[Globals.Structs.semtag]]),
|
|
31
|
+
ClusterObjectFieldDescriptor(Label="objectCountThresholdReached", Tag=0x00000005, Type=typing.Optional[bool]),
|
|
32
32
|
ClusterObjectFieldDescriptor(Label="objectCountConfig", Tag=0x00000006, Type=typing.Optional[AmbientContextSensing.Structs.ObjectCountConfigStruct]),
|
|
33
33
|
ClusterObjectFieldDescriptor(Label="objectCount", Tag=0x00000007, Type=typing.Optional[uint]),
|
|
34
34
|
ClusterObjectFieldDescriptor(Label="simultaneousDetectionLimit", Tag=0x00000008, Type=typing.Optional[uint]),
|
|
@@ -46,8 +46,8 @@ class AmbientContextSensing(Cluster):
|
|
|
46
46
|
objectIdentified: typing.Optional[bool] = None
|
|
47
47
|
audioContextDetected: typing.Optional[bool] = None
|
|
48
48
|
ambientContextType: typing.Optional[typing.List[AmbientContextSensing.Structs.AmbientContextTypeStruct]] = None
|
|
49
|
-
ambientContextTypeSupported: typing.Optional[typing.List[
|
|
50
|
-
|
|
49
|
+
ambientContextTypeSupported: typing.Optional[typing.List[Globals.Structs.semtag]] = None
|
|
50
|
+
objectCountThresholdReached: typing.Optional[bool] = None
|
|
51
51
|
objectCountConfig: typing.Optional[AmbientContextSensing.Structs.ObjectCountConfigStruct] = None
|
|
52
52
|
objectCount: typing.Optional[uint] = None
|
|
53
53
|
simultaneousDetectionLimit: typing.Optional[uint] = None
|
|
@@ -90,10 +90,10 @@ class AmbientContextSensing(Cluster):
|
|
|
90
90
|
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
91
91
|
return ClusterObjectDescriptor(
|
|
92
92
|
Fields=[
|
|
93
|
-
ClusterObjectFieldDescriptor(Label="ambientContextSensed", Tag=0, Type=typing.Optional[typing.List[
|
|
93
|
+
ClusterObjectFieldDescriptor(Label="ambientContextSensed", Tag=0, Type=typing.Optional[typing.List[Globals.Structs.semtag]]),
|
|
94
94
|
])
|
|
95
95
|
|
|
96
|
-
ambientContextSensed: typing.Optional[typing.List[
|
|
96
|
+
ambientContextSensed: typing.Optional[typing.List[Globals.Structs.semtag]] = None
|
|
97
97
|
|
|
98
98
|
@dataclass
|
|
99
99
|
class ObjectCountConfigStruct(ClusterObject):
|
|
@@ -101,11 +101,11 @@ class AmbientContextSensing(Cluster):
|
|
|
101
101
|
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
102
102
|
return ClusterObjectDescriptor(
|
|
103
103
|
Fields=[
|
|
104
|
-
ClusterObjectFieldDescriptor(Label="countingObject", Tag=0, Type=typing.Optional[
|
|
104
|
+
ClusterObjectFieldDescriptor(Label="countingObject", Tag=0, Type=typing.Optional[Globals.Structs.semtag]),
|
|
105
105
|
ClusterObjectFieldDescriptor(Label="objectCountThreshold", Tag=1, Type=typing.Optional[uint]),
|
|
106
106
|
])
|
|
107
107
|
|
|
108
|
-
countingObject: typing.Optional[
|
|
108
|
+
countingObject: typing.Optional[Globals.Structs.semtag] = None
|
|
109
109
|
objectCountThreshold: typing.Optional[uint] = None
|
|
110
110
|
|
|
111
111
|
@dataclass
|
|
@@ -116,7 +116,7 @@ class AmbientContextSensing(Cluster):
|
|
|
116
116
|
Fields=[
|
|
117
117
|
ClusterObjectFieldDescriptor(Label="startTimestamp", Tag=0, Type=typing.Optional[uint]),
|
|
118
118
|
ClusterObjectFieldDescriptor(Label="endTimestamp", Tag=1, Type=typing.Optional[uint]),
|
|
119
|
-
ClusterObjectFieldDescriptor(Label="ambientContextType", Tag=2, Type=typing.Optional[typing.List[
|
|
119
|
+
ClusterObjectFieldDescriptor(Label="ambientContextType", Tag=2, Type=typing.Optional[typing.List[Globals.Structs.semtag]]),
|
|
120
120
|
ClusterObjectFieldDescriptor(Label="crowdDetected", Tag=3, Type=typing.Optional[bool]),
|
|
121
121
|
ClusterObjectFieldDescriptor(Label="crowdCount", Tag=4, Type=typing.Optional[uint]),
|
|
122
122
|
ClusterObjectFieldDescriptor(Label="confidence", Tag=5, Type=typing.Optional[uint]),
|
|
@@ -124,7 +124,7 @@ class AmbientContextSensing(Cluster):
|
|
|
124
124
|
|
|
125
125
|
startTimestamp: typing.Optional[uint] = None
|
|
126
126
|
endTimestamp: typing.Optional[uint] = None
|
|
127
|
-
ambientContextType: typing.Optional[typing.List[
|
|
127
|
+
ambientContextType: typing.Optional[typing.List[Globals.Structs.semtag]] = None
|
|
128
128
|
crowdDetected: typing.Optional[bool] = None
|
|
129
129
|
crowdCount: typing.Optional[uint] = None
|
|
130
130
|
confidence: typing.Optional[uint] = None
|
|
@@ -206,12 +206,12 @@ class AmbientContextSensing(Cluster):
|
|
|
206
206
|
|
|
207
207
|
@ChipUtility.classproperty
|
|
208
208
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
209
|
-
return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[
|
|
209
|
+
return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[Globals.Structs.semtag]])
|
|
210
210
|
|
|
211
|
-
value: typing.Optional[typing.List[
|
|
211
|
+
value: typing.Optional[typing.List[Globals.Structs.semtag]] = None
|
|
212
212
|
|
|
213
213
|
@dataclass
|
|
214
|
-
class
|
|
214
|
+
class ObjectCountThresholdReached(ClusterAttributeDescriptor):
|
|
215
215
|
@ChipUtility.classproperty
|
|
216
216
|
def cluster_id(cls) -> int:
|
|
217
217
|
return 0x00000431
|
|
@@ -418,12 +418,12 @@ class AmbientContextSensing(Cluster):
|
|
|
418
418
|
return ClusterObjectDescriptor(
|
|
419
419
|
Fields=[
|
|
420
420
|
ClusterObjectFieldDescriptor(Label="ambientContextDetected", Tag=0, Type=typing.Optional[AmbientContextSensing.Structs.AmbientContextTypeStruct]),
|
|
421
|
-
ClusterObjectFieldDescriptor(Label="
|
|
421
|
+
ClusterObjectFieldDescriptor(Label="objectCountThresholdReached", Tag=1, Type=typing.Optional[bool]),
|
|
422
422
|
ClusterObjectFieldDescriptor(Label="objectCount", Tag=2, Type=typing.Optional[uint]),
|
|
423
423
|
])
|
|
424
424
|
|
|
425
425
|
ambientContextDetected: typing.Optional[AmbientContextSensing.Structs.AmbientContextTypeStruct] = None
|
|
426
|
-
|
|
426
|
+
objectCountThresholdReached: typing.Optional[bool] = None
|
|
427
427
|
objectCount: typing.Optional[uint] = None
|
|
428
428
|
|
|
429
429
|
@dataclass
|
|
@@ -440,7 +440,9 @@ class AmbientContextSensing(Cluster):
|
|
|
440
440
|
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
441
441
|
return ClusterObjectDescriptor(
|
|
442
442
|
Fields=[
|
|
443
|
-
ClusterObjectFieldDescriptor(Label="
|
|
443
|
+
ClusterObjectFieldDescriptor(Label="eventStartTimePos", Tag=0, Type=typing.Optional[uint]),
|
|
444
|
+
ClusterObjectFieldDescriptor(Label="eventStartTimeSys", Tag=1, Type=typing.Optional[uint]),
|
|
444
445
|
])
|
|
445
446
|
|
|
446
|
-
|
|
447
|
+
eventStartTimePos: typing.Optional[uint] = None
|
|
448
|
+
eventStartTimeSys: typing.Optional[uint] = None
|
|
@@ -198,7 +198,6 @@ class Globals:
|
|
|
198
198
|
kUnsupportedWrite = 0x88
|
|
199
199
|
kResourceExhausted = 0x89
|
|
200
200
|
kNotFound = 0x8B
|
|
201
|
-
kUnreportableAttribute = 0x8C
|
|
202
201
|
kInvalidDataType = 0x8D
|
|
203
202
|
kUnsupportedRead = 0x8F
|
|
204
203
|
kDataVersionMismatch = 0x92
|
|
@@ -207,7 +206,6 @@ class Globals:
|
|
|
207
206
|
kBusy = 0x9C
|
|
208
207
|
kAccessRestricted = 0x9D
|
|
209
208
|
kUnsupportedCluster = 0xC3
|
|
210
|
-
kNoUpstreamSubscription = 0xC5
|
|
211
209
|
kNeedsTimedInteraction = 0xC6
|
|
212
210
|
kUnsupportedEvent = 0xC7
|
|
213
211
|
kPathsExhausted = 0xC8
|
|
@@ -22,11 +22,11 @@ class Groupcast(Cluster):
|
|
|
22
22
|
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
23
23
|
return ClusterObjectDescriptor(
|
|
24
24
|
Fields=[
|
|
25
|
-
ClusterObjectFieldDescriptor(Label="membership", Tag=0x00000000, Type=typing.
|
|
26
|
-
ClusterObjectFieldDescriptor(Label="maxMembershipCount", Tag=0x00000001, Type=
|
|
27
|
-
ClusterObjectFieldDescriptor(Label="maxMcastAddrCount", Tag=0x00000002, Type=
|
|
28
|
-
ClusterObjectFieldDescriptor(Label="usedMcastAddrCount", Tag=0x00000003, Type=
|
|
29
|
-
ClusterObjectFieldDescriptor(Label="fabricUnderTest", Tag=0x00000004, Type=
|
|
25
|
+
ClusterObjectFieldDescriptor(Label="membership", Tag=0x00000000, Type=typing.List[Groupcast.Structs.MembershipStruct]),
|
|
26
|
+
ClusterObjectFieldDescriptor(Label="maxMembershipCount", Tag=0x00000001, Type=uint),
|
|
27
|
+
ClusterObjectFieldDescriptor(Label="maxMcastAddrCount", Tag=0x00000002, Type=uint),
|
|
28
|
+
ClusterObjectFieldDescriptor(Label="usedMcastAddrCount", Tag=0x00000003, Type=uint),
|
|
29
|
+
ClusterObjectFieldDescriptor(Label="fabricUnderTest", Tag=0x00000004, Type=uint),
|
|
30
30
|
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
|
|
31
31
|
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
|
|
32
32
|
ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]),
|
|
@@ -34,11 +34,11 @@ class Groupcast(Cluster):
|
|
|
34
34
|
ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint),
|
|
35
35
|
])
|
|
36
36
|
|
|
37
|
-
membership: typing.
|
|
38
|
-
maxMembershipCount:
|
|
39
|
-
maxMcastAddrCount:
|
|
40
|
-
usedMcastAddrCount:
|
|
41
|
-
fabricUnderTest:
|
|
37
|
+
membership: typing.List[Groupcast.Structs.MembershipStruct] = field(default_factory=lambda: [])
|
|
38
|
+
maxMembershipCount: uint = 0
|
|
39
|
+
maxMcastAddrCount: uint = 0
|
|
40
|
+
usedMcastAddrCount: uint = 0
|
|
41
|
+
fabricUnderTest: uint = 0
|
|
42
42
|
generatedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
43
43
|
acceptedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
44
44
|
attributeList: typing.List[uint] = field(default_factory=lambda: [])
|
|
@@ -240,9 +240,9 @@ class Groupcast(Cluster):
|
|
|
240
240
|
|
|
241
241
|
@ChipUtility.classproperty
|
|
242
242
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
243
|
-
return ClusterObjectFieldDescriptor(Type=typing.
|
|
243
|
+
return ClusterObjectFieldDescriptor(Type=typing.List[Groupcast.Structs.MembershipStruct])
|
|
244
244
|
|
|
245
|
-
value: typing.
|
|
245
|
+
value: typing.List[Groupcast.Structs.MembershipStruct] = field(default_factory=lambda: [])
|
|
246
246
|
|
|
247
247
|
@dataclass
|
|
248
248
|
class MaxMembershipCount(ClusterAttributeDescriptor):
|
|
@@ -256,9 +256,9 @@ class Groupcast(Cluster):
|
|
|
256
256
|
|
|
257
257
|
@ChipUtility.classproperty
|
|
258
258
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
259
|
-
return ClusterObjectFieldDescriptor(Type=
|
|
259
|
+
return ClusterObjectFieldDescriptor(Type=uint)
|
|
260
260
|
|
|
261
|
-
value:
|
|
261
|
+
value: uint = 0
|
|
262
262
|
|
|
263
263
|
@dataclass
|
|
264
264
|
class MaxMcastAddrCount(ClusterAttributeDescriptor):
|
|
@@ -272,9 +272,9 @@ class Groupcast(Cluster):
|
|
|
272
272
|
|
|
273
273
|
@ChipUtility.classproperty
|
|
274
274
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
275
|
-
return ClusterObjectFieldDescriptor(Type=
|
|
275
|
+
return ClusterObjectFieldDescriptor(Type=uint)
|
|
276
276
|
|
|
277
|
-
value:
|
|
277
|
+
value: uint = 0
|
|
278
278
|
|
|
279
279
|
@dataclass
|
|
280
280
|
class UsedMcastAddrCount(ClusterAttributeDescriptor):
|
|
@@ -288,9 +288,9 @@ class Groupcast(Cluster):
|
|
|
288
288
|
|
|
289
289
|
@ChipUtility.classproperty
|
|
290
290
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
291
|
-
return ClusterObjectFieldDescriptor(Type=
|
|
291
|
+
return ClusterObjectFieldDescriptor(Type=uint)
|
|
292
292
|
|
|
293
|
-
value:
|
|
293
|
+
value: uint = 0
|
|
294
294
|
|
|
295
295
|
@dataclass
|
|
296
296
|
class FabricUnderTest(ClusterAttributeDescriptor):
|
|
@@ -304,9 +304,9 @@ class Groupcast(Cluster):
|
|
|
304
304
|
|
|
305
305
|
@ChipUtility.classproperty
|
|
306
306
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
307
|
-
return ClusterObjectFieldDescriptor(Type=
|
|
307
|
+
return ClusterObjectFieldDescriptor(Type=uint)
|
|
308
308
|
|
|
309
|
-
value:
|
|
309
|
+
value: uint = 0
|
|
310
310
|
|
|
311
311
|
@dataclass
|
|
312
312
|
class GeneratedCommandList(ClusterAttributeDescriptor):
|
|
@@ -29,6 +29,7 @@ class HeimanCluster(Cluster):
|
|
|
29
29
|
ClusterObjectFieldDescriptor(Label="sirenActive", Tag=0x00000014, Type=typing.Optional[uint]),
|
|
30
30
|
ClusterObjectFieldDescriptor(Label="alarmMute", Tag=0x00000015, Type=typing.Optional[uint]),
|
|
31
31
|
ClusterObjectFieldDescriptor(Label="lowPowerMode", Tag=0x00000016, Type=typing.Optional[uint]),
|
|
32
|
+
ClusterObjectFieldDescriptor(Label="indicatorEnable", Tag=0x00001004, Type=typing.Optional[uint]),
|
|
32
33
|
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
|
|
33
34
|
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
|
|
34
35
|
ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]),
|
|
@@ -43,6 +44,7 @@ class HeimanCluster(Cluster):
|
|
|
43
44
|
sirenActive: typing.Optional[uint] = None
|
|
44
45
|
alarmMute: typing.Optional[uint] = None
|
|
45
46
|
lowPowerMode: typing.Optional[uint] = None
|
|
47
|
+
indicatorEnable: typing.Optional[uint] = None
|
|
46
48
|
generatedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
47
49
|
acceptedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
48
50
|
attributeList: typing.List[uint] = field(default_factory=lambda: [])
|
|
@@ -61,10 +63,30 @@ class HeimanCluster(Cluster):
|
|
|
61
63
|
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
62
64
|
return ClusterObjectDescriptor(
|
|
63
65
|
Fields=[
|
|
64
|
-
ClusterObjectFieldDescriptor(Label="mutingTime", Tag=0, Type=
|
|
66
|
+
ClusterObjectFieldDescriptor(Label="mutingTime", Tag=0, Type=uint),
|
|
65
67
|
])
|
|
66
68
|
|
|
67
|
-
mutingTime:
|
|
69
|
+
mutingTime: uint = 0
|
|
70
|
+
|
|
71
|
+
@dataclass
|
|
72
|
+
class SirenActivate(ClusterCommand):
|
|
73
|
+
cluster_id: typing.ClassVar[int] = 0x120BFC01
|
|
74
|
+
command_id: typing.ClassVar[int] = 0x00000001
|
|
75
|
+
is_client: typing.ClassVar[bool] = True
|
|
76
|
+
response_type: typing.ClassVar[typing.Optional[str]] = None
|
|
77
|
+
|
|
78
|
+
@ChipUtility.classproperty
|
|
79
|
+
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
80
|
+
return ClusterObjectDescriptor(
|
|
81
|
+
Fields=[
|
|
82
|
+
ClusterObjectFieldDescriptor(Label="sirenType", Tag=0, Type=uint),
|
|
83
|
+
ClusterObjectFieldDescriptor(Label="volume", Tag=1, Type=uint),
|
|
84
|
+
ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint),
|
|
85
|
+
])
|
|
86
|
+
|
|
87
|
+
sirenType: uint = 0
|
|
88
|
+
volume: uint = 0
|
|
89
|
+
duration: uint = 0
|
|
68
90
|
|
|
69
91
|
class Attributes:
|
|
70
92
|
@dataclass
|
|
@@ -179,6 +201,22 @@ class HeimanCluster(Cluster):
|
|
|
179
201
|
|
|
180
202
|
value: typing.Optional[uint] = None
|
|
181
203
|
|
|
204
|
+
@dataclass
|
|
205
|
+
class IndicatorEnable(ClusterAttributeDescriptor):
|
|
206
|
+
@ChipUtility.classproperty
|
|
207
|
+
def cluster_id(cls) -> int:
|
|
208
|
+
return 0x120BFC01
|
|
209
|
+
|
|
210
|
+
@ChipUtility.classproperty
|
|
211
|
+
def attribute_id(cls) -> int:
|
|
212
|
+
return 0x00001004
|
|
213
|
+
|
|
214
|
+
@ChipUtility.classproperty
|
|
215
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
216
|
+
return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
|
|
217
|
+
|
|
218
|
+
value: typing.Optional[uint] = None
|
|
219
|
+
|
|
182
220
|
@dataclass
|
|
183
221
|
class GeneratedCommandList(ClusterAttributeDescriptor):
|
|
184
222
|
@ChipUtility.classproperty
|
|
@@ -109,14 +109,14 @@ class IcdManagement(Cluster):
|
|
|
109
109
|
Fields=[
|
|
110
110
|
ClusterObjectFieldDescriptor(Label="checkInNodeID", Tag=1, Type=uint),
|
|
111
111
|
ClusterObjectFieldDescriptor(Label="monitoredSubject", Tag=2, Type=uint),
|
|
112
|
-
ClusterObjectFieldDescriptor(Label="key", Tag=3, Type=typing.Optional[
|
|
112
|
+
ClusterObjectFieldDescriptor(Label="key", Tag=3, Type=typing.Optional[bytes]),
|
|
113
113
|
ClusterObjectFieldDescriptor(Label="clientType", Tag=4, Type=IcdManagement.Enums.ClientTypeEnum),
|
|
114
114
|
ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint),
|
|
115
115
|
])
|
|
116
116
|
|
|
117
117
|
checkInNodeID: uint = 0
|
|
118
118
|
monitoredSubject: uint = 0
|
|
119
|
-
key: typing.Optional[
|
|
119
|
+
key: typing.Optional[bytes] = None
|
|
120
120
|
clientType: IcdManagement.Enums.ClientTypeEnum = 0
|
|
121
121
|
fabricIndex: uint = 0
|
|
122
122
|
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"""IkeaValveCalibrationCluster cluster definition (auto-generated, DO NOT edit)."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
from dataclasses import dataclass, field
|
|
7
|
+
from enum import IntFlag
|
|
8
|
+
|
|
9
|
+
from ... import ChipUtility
|
|
10
|
+
from ...clusters.enum import MatterIntEnum
|
|
11
|
+
from ...tlv import float32, uint
|
|
12
|
+
from ..ClusterObjects import (Cluster, ClusterAttributeDescriptor, ClusterCommand, ClusterEvent, ClusterObject,
|
|
13
|
+
ClusterObjectDescriptor, ClusterObjectFieldDescriptor)
|
|
14
|
+
from ..Types import Nullable, NullValue
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@dataclass
|
|
18
|
+
class IkeaValveCalibrationCluster(Cluster):
|
|
19
|
+
id: typing.ClassVar[int] = 0x117CFC01
|
|
20
|
+
|
|
21
|
+
@ChipUtility.classproperty
|
|
22
|
+
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
23
|
+
return ClusterObjectDescriptor(
|
|
24
|
+
Fields=[
|
|
25
|
+
ClusterObjectFieldDescriptor(Label="calibrationStatus", Tag=0x00000000, Type=typing.Optional[uint]),
|
|
26
|
+
ClusterObjectFieldDescriptor(Label="lastCalibrationError", Tag=0x00000001, Type=typing.Optional[uint]),
|
|
27
|
+
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
|
|
28
|
+
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
|
|
29
|
+
ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]),
|
|
30
|
+
ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint),
|
|
31
|
+
ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint),
|
|
32
|
+
])
|
|
33
|
+
|
|
34
|
+
calibrationStatus: typing.Optional[uint] = None
|
|
35
|
+
lastCalibrationError: typing.Optional[uint] = None
|
|
36
|
+
generatedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
37
|
+
acceptedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
38
|
+
attributeList: typing.List[uint] = field(default_factory=lambda: [])
|
|
39
|
+
featureMap: uint = 0
|
|
40
|
+
clusterRevision: uint = 0
|
|
41
|
+
|
|
42
|
+
class Commands:
|
|
43
|
+
@dataclass
|
|
44
|
+
class TriggerCalibration(ClusterCommand):
|
|
45
|
+
cluster_id: typing.ClassVar[int] = 0x117CFC01
|
|
46
|
+
command_id: typing.ClassVar[int] = 0x00000000
|
|
47
|
+
is_client: typing.ClassVar[bool] = True
|
|
48
|
+
response_type: typing.ClassVar[typing.Optional[str]] = None
|
|
49
|
+
|
|
50
|
+
@ChipUtility.classproperty
|
|
51
|
+
def descriptor(cls) -> ClusterObjectDescriptor:
|
|
52
|
+
return ClusterObjectDescriptor(
|
|
53
|
+
Fields=[
|
|
54
|
+
])
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class Attributes:
|
|
58
|
+
@dataclass
|
|
59
|
+
class CalibrationStatus(ClusterAttributeDescriptor):
|
|
60
|
+
@ChipUtility.classproperty
|
|
61
|
+
def cluster_id(cls) -> int:
|
|
62
|
+
return 0x117CFC01
|
|
63
|
+
|
|
64
|
+
@ChipUtility.classproperty
|
|
65
|
+
def attribute_id(cls) -> int:
|
|
66
|
+
return 0x00000000
|
|
67
|
+
|
|
68
|
+
@ChipUtility.classproperty
|
|
69
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
70
|
+
return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
|
|
71
|
+
|
|
72
|
+
value: typing.Optional[uint] = None
|
|
73
|
+
|
|
74
|
+
@dataclass
|
|
75
|
+
class LastCalibrationError(ClusterAttributeDescriptor):
|
|
76
|
+
@ChipUtility.classproperty
|
|
77
|
+
def cluster_id(cls) -> int:
|
|
78
|
+
return 0x117CFC01
|
|
79
|
+
|
|
80
|
+
@ChipUtility.classproperty
|
|
81
|
+
def attribute_id(cls) -> int:
|
|
82
|
+
return 0x00000001
|
|
83
|
+
|
|
84
|
+
@ChipUtility.classproperty
|
|
85
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
86
|
+
return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
|
|
87
|
+
|
|
88
|
+
value: typing.Optional[uint] = None
|
|
89
|
+
|
|
90
|
+
@dataclass
|
|
91
|
+
class GeneratedCommandList(ClusterAttributeDescriptor):
|
|
92
|
+
@ChipUtility.classproperty
|
|
93
|
+
def cluster_id(cls) -> int:
|
|
94
|
+
return 0x117CFC01
|
|
95
|
+
|
|
96
|
+
@ChipUtility.classproperty
|
|
97
|
+
def attribute_id(cls) -> int:
|
|
98
|
+
return 0x0000FFF8
|
|
99
|
+
|
|
100
|
+
@ChipUtility.classproperty
|
|
101
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
102
|
+
return ClusterObjectFieldDescriptor(Type=typing.List[uint])
|
|
103
|
+
|
|
104
|
+
value: typing.List[uint] = field(default_factory=lambda: [])
|
|
105
|
+
|
|
106
|
+
@dataclass
|
|
107
|
+
class AcceptedCommandList(ClusterAttributeDescriptor):
|
|
108
|
+
@ChipUtility.classproperty
|
|
109
|
+
def cluster_id(cls) -> int:
|
|
110
|
+
return 0x117CFC01
|
|
111
|
+
|
|
112
|
+
@ChipUtility.classproperty
|
|
113
|
+
def attribute_id(cls) -> int:
|
|
114
|
+
return 0x0000FFF9
|
|
115
|
+
|
|
116
|
+
@ChipUtility.classproperty
|
|
117
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
118
|
+
return ClusterObjectFieldDescriptor(Type=typing.List[uint])
|
|
119
|
+
|
|
120
|
+
value: typing.List[uint] = field(default_factory=lambda: [])
|
|
121
|
+
|
|
122
|
+
@dataclass
|
|
123
|
+
class AttributeList(ClusterAttributeDescriptor):
|
|
124
|
+
@ChipUtility.classproperty
|
|
125
|
+
def cluster_id(cls) -> int:
|
|
126
|
+
return 0x117CFC01
|
|
127
|
+
|
|
128
|
+
@ChipUtility.classproperty
|
|
129
|
+
def attribute_id(cls) -> int:
|
|
130
|
+
return 0x0000FFFB
|
|
131
|
+
|
|
132
|
+
@ChipUtility.classproperty
|
|
133
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
134
|
+
return ClusterObjectFieldDescriptor(Type=typing.List[uint])
|
|
135
|
+
|
|
136
|
+
value: typing.List[uint] = field(default_factory=lambda: [])
|
|
137
|
+
|
|
138
|
+
@dataclass
|
|
139
|
+
class FeatureMap(ClusterAttributeDescriptor):
|
|
140
|
+
@ChipUtility.classproperty
|
|
141
|
+
def cluster_id(cls) -> int:
|
|
142
|
+
return 0x117CFC01
|
|
143
|
+
|
|
144
|
+
@ChipUtility.classproperty
|
|
145
|
+
def attribute_id(cls) -> int:
|
|
146
|
+
return 0x0000FFFC
|
|
147
|
+
|
|
148
|
+
@ChipUtility.classproperty
|
|
149
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
150
|
+
return ClusterObjectFieldDescriptor(Type=uint)
|
|
151
|
+
|
|
152
|
+
value: uint = 0
|
|
153
|
+
|
|
154
|
+
@dataclass
|
|
155
|
+
class ClusterRevision(ClusterAttributeDescriptor):
|
|
156
|
+
@ChipUtility.classproperty
|
|
157
|
+
def cluster_id(cls) -> int:
|
|
158
|
+
return 0x117CFC01
|
|
159
|
+
|
|
160
|
+
@ChipUtility.classproperty
|
|
161
|
+
def attribute_id(cls) -> int:
|
|
162
|
+
return 0x0000FFFD
|
|
163
|
+
|
|
164
|
+
@ChipUtility.classproperty
|
|
165
|
+
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
166
|
+
return ClusterObjectFieldDescriptor(Type=uint)
|
|
167
|
+
|
|
168
|
+
value: uint = 0
|
|
@@ -26,7 +26,7 @@ class IlluminanceMeasurement(Cluster):
|
|
|
26
26
|
ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]),
|
|
27
27
|
ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]),
|
|
28
28
|
ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]),
|
|
29
|
-
ClusterObjectFieldDescriptor(Label="lightSensorType", Tag=0x00000004, Type=typing.Union[None, Nullable,
|
|
29
|
+
ClusterObjectFieldDescriptor(Label="lightSensorType", Tag=0x00000004, Type=typing.Union[None, Nullable, IlluminanceMeasurement.Enums.LightSensorTypeEnum]),
|
|
30
30
|
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
|
|
31
31
|
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
|
|
32
32
|
ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]),
|
|
@@ -38,7 +38,7 @@ class IlluminanceMeasurement(Cluster):
|
|
|
38
38
|
minMeasuredValue: typing.Union[Nullable, uint] = NullValue
|
|
39
39
|
maxMeasuredValue: typing.Union[Nullable, uint] = NullValue
|
|
40
40
|
tolerance: typing.Optional[uint] = None
|
|
41
|
-
lightSensorType: typing.Union[None, Nullable,
|
|
41
|
+
lightSensorType: typing.Union[None, Nullable, IlluminanceMeasurement.Enums.LightSensorTypeEnum] = None
|
|
42
42
|
generatedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
43
43
|
acceptedCommandList: typing.List[uint] = field(default_factory=lambda: [])
|
|
44
44
|
attributeList: typing.List[uint] = field(default_factory=lambda: [])
|
|
@@ -132,9 +132,9 @@ class IlluminanceMeasurement(Cluster):
|
|
|
132
132
|
|
|
133
133
|
@ChipUtility.classproperty
|
|
134
134
|
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
|
|
135
|
-
return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable,
|
|
135
|
+
return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, IlluminanceMeasurement.Enums.LightSensorTypeEnum])
|
|
136
136
|
|
|
137
|
-
value: typing.Union[None, Nullable,
|
|
137
|
+
value: typing.Union[None, Nullable, IlluminanceMeasurement.Enums.LightSensorTypeEnum] = None
|
|
138
138
|
|
|
139
139
|
@dataclass
|
|
140
140
|
class GeneratedCommandList(ClusterAttributeDescriptor):
|