@matterbridge/core 3.7.10 → 3.8.0-dev-20260524-eed6b4a

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 (52) hide show
  1. package/dist/behaviors/activatedCarbonFilterMonitoringServer.d.ts +5 -2
  2. package/dist/behaviors/bindingServer.js +0 -2
  3. package/dist/behaviors/booleanStateConfigurationServer.d.ts +6 -1
  4. package/dist/behaviors/colorControlServer.d.ts +20 -774
  5. package/dist/behaviors/deviceEnergyManagementServer.d.ts +9 -299
  6. package/dist/behaviors/doorLockServer.d.ts +29 -47
  7. package/dist/behaviors/doorLockServer.js +11 -299
  8. package/dist/behaviors/fanControlServer.d.ts +8 -1
  9. package/dist/behaviors/hepaFilterMonitoringServer.d.ts +5 -2
  10. package/dist/behaviors/smokeCoAlarmServer.d.ts +4 -77
  11. package/dist/behaviors/thermostatServer.d.ts +20 -722
  12. package/dist/behaviors/valveConfigurationAndControlServer.d.ts +4 -1
  13. package/dist/behaviors/windowCoveringServer.d.ts +28 -564
  14. package/dist/clusters/closure-control.d.ts +130 -620
  15. package/dist/clusters/closure-control.js +15 -170
  16. package/dist/clusters/closure-dimension.d.ts +148 -814
  17. package/dist/clusters/closure-dimension.js +15 -202
  18. package/dist/clusters/export.d.ts +1 -3
  19. package/dist/clusters/export.js +1 -3
  20. package/dist/clusters/soil-measurement.d.ts +31 -31
  21. package/dist/clusters/soil-measurement.js +29 -19
  22. package/dist/devices/closure.d.ts +14 -291
  23. package/dist/devices/closure.js +6 -13
  24. package/dist/devices/closurePanel.d.ts +13 -370
  25. package/dist/devices/closurePanel.js +9 -15
  26. package/dist/devices/evse.d.ts +7 -1
  27. package/dist/devices/heatPump.js +5 -5
  28. package/dist/devices/irrigationSystem.js +2 -2
  29. package/dist/devices/microwaveOven.d.ts +5 -76
  30. package/dist/devices/roboticVacuumCleaner.js +5 -5
  31. package/dist/devices/soilSensor.d.ts +0 -15
  32. package/dist/devices/soilSensor.js +4 -20
  33. package/dist/devices/temperatureControl.d.ts +10 -130
  34. package/dist/frontend.js +9 -9
  35. package/dist/helpers.js +0 -8
  36. package/dist/jestutils/jestBroadcastServerSpy.d.ts +2 -2
  37. package/dist/jestutils/jestMatterTest.js +4 -4
  38. package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +34 -37
  39. package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +4 -4
  40. package/dist/jestutils/jestMatterbridgeTest.js +1 -1
  41. package/dist/matter/export.d.ts +11 -0
  42. package/dist/matter/export.js +11 -0
  43. package/dist/matterbridge.d.ts +3 -0
  44. package/dist/matterbridge.js +10 -4
  45. package/dist/matterbridgeDeviceTypes.d.ts +15 -0
  46. package/dist/matterbridgeDeviceTypes.js +305 -162
  47. package/dist/matterbridgeEndpoint.d.ts +35 -25
  48. package/dist/matterbridgeEndpoint.js +6 -7
  49. package/dist/matterbridgeEndpointCommandHandler.d.ts +3 -59
  50. package/dist/matterbridgeEndpointHelpers.d.ts +83 -1382
  51. package/dist/matterbridgeEndpointHelpers.js +20 -5
  52. package/package.json +8 -8
@@ -1,634 +1,144 @@
1
- import { Identity } from '@matter/general';
2
- import { Attribute, Command, Event, FixedAttribute, MutableCluster } from '@matter/types/cluster';
3
- import { ThreeLevelAuto } from '@matter/types/globals';
4
- import { BitFlag } from '@matter/types/schema';
5
- import { TypeFromSchema } from '@matter/types/tlv';
1
+ import { type MaybePromise } from '@matter/general';
2
+ import { ClusterElement, ClusterModel } from '@matter/main/model';
3
+ import { ClusterType, type ClusterTyping } from '@matter/types/cluster';
4
+ import { type ClusterId } from '@matter/types/datatype';
5
+ import { type ThreeLevelAuto } from '@matter/types/globals';
6
+ export declare const ClosureControlDefinition: ClusterElement;
7
+ export declare const ClosureControlModel: ClusterModel;
6
8
  export declare namespace ClosureControl {
7
- enum Feature {
8
- Positioning = "Positioning",
9
- MotionLatching = "MotionLatching",
10
- Instantaneous = "Instantaneous",
11
- Speed = "Speed",
12
- Ventilation = "Ventilation",
13
- Pedestrian = "Pedestrian",
14
- Calibration = "Calibration",
15
- Protection = "Protection",
16
- ManuallyOperable = "ManuallyOperable"
9
+ interface FeatureEnum {
10
+ readonly Positioning: 'Positioning';
11
+ readonly MotionLatching: 'MotionLatching';
12
+ readonly Instantaneous: 'Instantaneous';
13
+ readonly Speed: 'Speed';
14
+ readonly Ventilation: 'Ventilation';
15
+ readonly Pedestrian: 'Pedestrian';
16
+ readonly Calibration: 'Calibration';
17
+ readonly Protection: 'Protection';
18
+ readonly ManuallyOperable: 'ManuallyOperable';
17
19
  }
18
- enum ClosureError {
19
- PhysicallyBlocked = 0,
20
- BlockedBySensor = 1,
21
- TemperatureLimited = 2,
22
- MaintenanceRequired = 3,
23
- InternalInterference = 4
20
+ interface ClosureErrorEnum {
21
+ readonly PhysicallyBlocked: 0;
22
+ readonly BlockedBySensor: 1;
23
+ readonly TemperatureLimited: 2;
24
+ readonly MaintenanceRequired: 3;
25
+ readonly InternalInterference: 4;
24
26
  }
25
- enum CurrentPosition {
26
- FullyClosed = 0,
27
- FullyOpened = 1,
28
- PartiallyOpened = 2,
29
- OpenedForPedestrian = 3,
30
- OpenedForVentilation = 4,
31
- OpenedAtSignature = 5
27
+ interface CurrentPositionEnum {
28
+ readonly FullyClosed: 0;
29
+ readonly FullyOpened: 1;
30
+ readonly PartiallyOpened: 2;
31
+ readonly OpenedForPedestrian: 3;
32
+ readonly OpenedForVentilation: 4;
33
+ readonly OpenedAtSignature: 5;
32
34
  }
33
- enum MainState {
34
- Stopped = 0,
35
- Moving = 1,
36
- WaitingForMotion = 2,
37
- Error = 3,
38
- Calibrating = 4,
39
- Protected = 5,
40
- Disengaged = 6,
41
- SetupRequired = 7
35
+ interface MainStateEnum {
36
+ readonly Stopped: 0;
37
+ readonly Moving: 1;
38
+ readonly WaitingForMotion: 2;
39
+ readonly Error: 3;
40
+ readonly Calibrating: 4;
41
+ readonly Protected: 5;
42
+ readonly Disengaged: 6;
43
+ readonly SetupRequired: 7;
42
44
  }
43
- enum TargetPosition {
44
- MoveToFullyClosed = 0,
45
- MoveToFullyOpen = 1,
46
- MoveToPedestrianPosition = 2,
47
- MoveToVentilationPosition = 3,
48
- MoveToSignaturePosition = 4
45
+ interface TargetPositionEnum {
46
+ readonly MoveToFullyClosed: 0;
47
+ readonly MoveToFullyOpen: 1;
48
+ readonly MoveToPedestrianPosition: 2;
49
+ readonly MoveToVentilationPosition: 3;
50
+ readonly MoveToSignaturePosition: 4;
49
51
  }
50
- const LatchControlModes: {
51
- remoteLatching: BitFlag;
52
- remoteUnlatching: BitFlag;
53
- };
54
- const TlvOverallCurrentState: import("@matter/types/tlv").ObjectSchema<{
55
- position: import("@matter/types/tlv").OptionalFieldType<CurrentPosition | null>;
56
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
57
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
58
- secureState: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
59
- }>;
60
- interface OverallCurrentState extends TypeFromSchema<typeof TlvOverallCurrentState> {
52
+ type Feature = FeatureEnum[keyof FeatureEnum];
53
+ type Features = Feature;
54
+ type ClosureError = ClosureErrorEnum[keyof ClosureErrorEnum];
55
+ type CurrentPosition = CurrentPositionEnum[keyof CurrentPositionEnum];
56
+ type MainState = MainStateEnum[keyof MainStateEnum];
57
+ type TargetPosition = TargetPositionEnum[keyof TargetPositionEnum];
58
+ interface LatchControlModesBitmap {
59
+ remoteLatching?: boolean;
60
+ remoteUnlatching?: boolean;
61
61
  }
62
- const TlvOverallTargetState: import("@matter/types/tlv").ObjectSchema<{
63
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition | null>;
64
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
65
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
66
- }>;
67
- interface OverallTargetState extends TypeFromSchema<typeof TlvOverallTargetState> {
62
+ interface OverallCurrentState {
63
+ position?: CurrentPosition | null;
64
+ latch?: boolean | null;
65
+ speed?: ThreeLevelAuto;
66
+ secureState: boolean | null;
68
67
  }
69
- const TlvMoveToRequest: import("@matter/types/tlv").ObjectSchema<{
70
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition>;
71
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
72
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
73
- }>;
74
- interface MoveToRequest extends TypeFromSchema<typeof TlvMoveToRequest> {
68
+ interface OverallTargetState {
69
+ position?: TargetPosition | null;
70
+ latch?: boolean | null;
71
+ speed?: ThreeLevelAuto;
75
72
  }
76
- const TlvOperationalErrorEvent: import("@matter/types/tlv").ObjectSchema<{
77
- errorState: import("@matter/types/tlv").FieldType<ClosureError[]>;
78
- }>;
79
- const TlvEngageStateChangedEvent: import("@matter/types/tlv").ObjectSchema<{
80
- engageValue: import("@matter/types/tlv").FieldType<boolean>;
81
- }>;
82
- const TlvSecureStateChangedEvent: import("@matter/types/tlv").ObjectSchema<{
83
- secureValue: import("@matter/types/tlv").FieldType<boolean>;
84
- }>;
85
- const CountdownTimeComponent: {
86
- readonly attributes: {
87
- readonly countdownTime: Attribute<number | null, any>;
88
- };
89
- };
90
- const MotionLatchingComponent: {
91
- readonly attributes: {
92
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
93
- remoteLatching: BitFlag;
94
- remoteUnlatching: BitFlag;
95
- }>, any>;
96
- };
97
- };
98
- const CalibrationComponent: {
99
- readonly commands: {
100
- readonly calibrate: Command<void, void, any>;
101
- };
102
- };
103
- const ManuallyOperableComponent: {
104
- readonly events: {
105
- readonly engageStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
106
- engageValue: import("@matter/types/tlv").FieldType<boolean>;
107
- }>, any>;
108
- };
109
- };
110
- const NonInstantaneousComponent: {
111
- readonly commands: {
112
- readonly stop: Command<void, void, any>;
113
- };
114
- readonly events: {
115
- readonly movementCompleted: Event<void, any>;
116
- };
117
- };
118
- const Base: {
119
- readonly id: 260;
120
- readonly name: "ClosureControl";
121
- readonly revision: 1;
122
- readonly features: {
123
- readonly positioning: BitFlag;
124
- readonly motionLatching: BitFlag;
125
- readonly instantaneous: BitFlag;
126
- readonly speed: BitFlag;
127
- readonly ventilation: BitFlag;
128
- readonly pedestrian: BitFlag;
129
- readonly calibration: BitFlag;
130
- readonly protection: BitFlag;
131
- readonly manuallyOperable: BitFlag;
132
- };
133
- readonly attributes: {
134
- readonly mainState: Attribute<MainState, any>;
135
- readonly currentErrorList: Attribute<ClosureError[], any>;
136
- readonly overallCurrentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
137
- position: import("@matter/types/tlv").OptionalFieldType<CurrentPosition | null>;
138
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
139
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
140
- secureState: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
141
- }> | null, any>;
142
- readonly overallTargetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
143
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition | null>;
144
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
145
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
146
- }> | null, any>;
147
- };
148
- readonly commands: {
149
- readonly moveTo: Command<import("@matter/types/tlv").TypeFromFields<{
150
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition>;
151
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
152
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
153
- }>, void, any>;
154
- };
155
- readonly events: {
156
- readonly operationalError: Event<import("@matter/types/tlv").TypeFromFields<{
157
- errorState: import("@matter/types/tlv").FieldType<ClosureError[]>;
158
- }>, any>;
159
- readonly secureStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
160
- secureValue: import("@matter/types/tlv").FieldType<boolean>;
161
- }>, any>;
162
- };
163
- readonly extensions: readonly [{
164
- readonly flags: {
165
- readonly instantaneous: false;
166
- };
167
- readonly component: {
168
- readonly commands: {
169
- readonly stop: Command<void, void, any>;
170
- };
171
- readonly events: {
172
- readonly movementCompleted: Event<void, any>;
173
- };
174
- };
175
- }, {
176
- readonly flags: {
177
- readonly motionLatching: true;
178
- };
179
- readonly component: {
180
- readonly attributes: {
181
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
182
- remoteLatching: BitFlag;
183
- remoteUnlatching: BitFlag;
184
- }>, any>;
185
- };
186
- };
187
- }, {
188
- readonly flags: {
189
- readonly calibration: true;
190
- };
191
- readonly component: {
192
- readonly commands: {
193
- readonly calibrate: Command<void, void, any>;
194
- };
195
- };
196
- }, {
197
- readonly flags: {
198
- readonly manuallyOperable: true;
199
- };
200
- readonly component: {
201
- readonly events: {
202
- readonly engageStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
203
- engageValue: import("@matter/types/tlv").FieldType<boolean>;
204
- }>, any>;
205
- };
206
- };
207
- }, {
208
- readonly flags: {
209
- readonly positioning: true;
210
- readonly instantaneous: false;
211
- };
212
- readonly component: {
213
- readonly attributes: {
214
- readonly countdownTime: Attribute<number | null, any>;
215
- };
216
- };
217
- }, {
218
- readonly flags: {
219
- readonly positioning: false;
220
- readonly motionLatching: false;
221
- };
222
- readonly component: false;
223
- }, {
224
- readonly flags: {
225
- readonly speed: true;
226
- readonly positioning: false;
227
- };
228
- readonly component: false;
229
- }, {
230
- readonly flags: {
231
- readonly speed: true;
232
- readonly instantaneous: true;
233
- };
234
- readonly component: false;
235
- }, {
236
- readonly flags: {
237
- readonly ventilation: true;
238
- readonly positioning: false;
239
- };
240
- readonly component: false;
241
- }, {
242
- readonly flags: {
243
- readonly pedestrian: true;
244
- readonly positioning: false;
245
- };
246
- readonly component: false;
247
- }, {
248
- readonly flags: {
249
- readonly calibration: true;
250
- readonly positioning: false;
251
- };
252
- readonly component: false;
253
- }];
254
- };
255
- const Cluster: MutableCluster.ExtensibleOnly<{
256
- readonly id: 260;
257
- readonly name: "ClosureControl";
258
- readonly revision: 1;
259
- readonly features: {
260
- readonly positioning: BitFlag;
261
- readonly motionLatching: BitFlag;
262
- readonly instantaneous: BitFlag;
263
- readonly speed: BitFlag;
264
- readonly ventilation: BitFlag;
265
- readonly pedestrian: BitFlag;
266
- readonly calibration: BitFlag;
267
- readonly protection: BitFlag;
268
- readonly manuallyOperable: BitFlag;
269
- };
270
- readonly attributes: {
271
- readonly mainState: Attribute<MainState, any>;
272
- readonly currentErrorList: Attribute<ClosureError[], any>;
273
- readonly overallCurrentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
274
- position: import("@matter/types/tlv").OptionalFieldType<CurrentPosition | null>;
275
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
276
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
277
- secureState: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
278
- }> | null, any>;
279
- readonly overallTargetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
280
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition | null>;
281
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
282
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
283
- }> | null, any>;
284
- };
285
- readonly commands: {
286
- readonly moveTo: Command<import("@matter/types/tlv").TypeFromFields<{
287
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition>;
288
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
289
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
290
- }>, void, any>;
291
- };
292
- readonly events: {
293
- readonly operationalError: Event<import("@matter/types/tlv").TypeFromFields<{
294
- errorState: import("@matter/types/tlv").FieldType<ClosureError[]>;
295
- }>, any>;
296
- readonly secureStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
297
- secureValue: import("@matter/types/tlv").FieldType<boolean>;
298
- }>, any>;
299
- };
300
- readonly extensions: readonly [{
301
- readonly flags: {
302
- readonly instantaneous: false;
303
- };
304
- readonly component: {
305
- readonly commands: {
306
- readonly stop: Command<void, void, any>;
307
- };
308
- readonly events: {
309
- readonly movementCompleted: Event<void, any>;
310
- };
311
- };
312
- }, {
313
- readonly flags: {
314
- readonly motionLatching: true;
315
- };
316
- readonly component: {
317
- readonly attributes: {
318
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
319
- remoteLatching: BitFlag;
320
- remoteUnlatching: BitFlag;
321
- }>, any>;
322
- };
323
- };
324
- }, {
325
- readonly flags: {
326
- readonly calibration: true;
327
- };
328
- readonly component: {
329
- readonly commands: {
330
- readonly calibrate: Command<void, void, any>;
331
- };
332
- };
333
- }, {
334
- readonly flags: {
335
- readonly manuallyOperable: true;
336
- };
337
- readonly component: {
338
- readonly events: {
339
- readonly engageStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
340
- engageValue: import("@matter/types/tlv").FieldType<boolean>;
341
- }>, any>;
342
- };
343
- };
344
- }, {
345
- readonly flags: {
346
- readonly positioning: true;
347
- readonly instantaneous: false;
348
- };
349
- readonly component: {
350
- readonly attributes: {
351
- readonly countdownTime: Attribute<number | null, any>;
352
- };
353
- };
354
- }, {
355
- readonly flags: {
356
- readonly positioning: false;
357
- readonly motionLatching: false;
358
- };
359
- readonly component: false;
360
- }, {
361
- readonly flags: {
362
- readonly speed: true;
363
- readonly positioning: false;
364
- };
365
- readonly component: false;
366
- }, {
367
- readonly flags: {
368
- readonly speed: true;
369
- readonly instantaneous: true;
370
- };
371
- readonly component: false;
372
- }, {
373
- readonly flags: {
374
- readonly ventilation: true;
375
- readonly positioning: false;
376
- };
377
- readonly component: false;
378
- }, {
379
- readonly flags: {
380
- readonly pedestrian: true;
381
- readonly positioning: false;
382
- };
383
- readonly component: false;
384
- }, {
385
- readonly flags: {
386
- readonly calibration: true;
387
- readonly positioning: false;
388
- };
389
- readonly component: false;
390
- }];
391
- }>;
392
- interface Cluster extends Identity<typeof Cluster> {
73
+ interface MoveToRequest {
74
+ position?: TargetPosition;
75
+ latch?: boolean;
76
+ speed?: ThreeLevelAuto;
393
77
  }
394
- const Complete: MutableCluster<{
395
- readonly id: 260;
396
- readonly name: "ClosureControl";
397
- readonly revision: 1;
398
- readonly features: {
399
- readonly positioning: BitFlag;
400
- readonly motionLatching: BitFlag;
401
- readonly instantaneous: BitFlag;
402
- readonly speed: BitFlag;
403
- readonly ventilation: BitFlag;
404
- readonly pedestrian: BitFlag;
405
- readonly calibration: BitFlag;
406
- readonly protection: BitFlag;
407
- readonly manuallyOperable: BitFlag;
408
- };
409
- readonly attributes: {
410
- readonly countdownTime: Attribute<number | null, any> & {
411
- readonly optional: true;
412
- readonly isConditional: true;
413
- readonly optionalIf: [] | [{
414
- positioning: boolean;
415
- instantaneous: boolean;
416
- }];
417
- readonly mandatoryIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
418
- };
419
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
420
- remoteLatching: BitFlag;
421
- remoteUnlatching: BitFlag;
422
- }>, any> & {
423
- readonly optional: true;
424
- readonly isConditional: true;
425
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
426
- readonly mandatoryIf: [] | [{
427
- motionLatching: boolean;
428
- }];
429
- };
430
- readonly mainState: Attribute<MainState, any>;
431
- readonly currentErrorList: Attribute<ClosureError[], any>;
432
- readonly overallCurrentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
433
- position: import("@matter/types/tlv").OptionalFieldType<CurrentPosition | null>;
434
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
435
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
436
- secureState: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
437
- }> | null, any>;
438
- readonly overallTargetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
439
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition | null>;
440
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
441
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
442
- }> | null, any>;
443
- };
444
- readonly commands: {
445
- readonly stop: Command<void, void, any> & {
446
- readonly optional: true;
447
- readonly isConditional: true;
448
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
449
- readonly mandatoryIf: [] | [{
450
- instantaneous: boolean;
451
- }];
452
- };
453
- readonly calibrate: Command<void, void, any> & {
454
- readonly optional: true;
455
- readonly isConditional: true;
456
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
457
- readonly mandatoryIf: [] | [{
458
- calibration: boolean;
459
- }];
460
- };
461
- readonly moveTo: Command<import("@matter/types/tlv").TypeFromFields<{
462
- position: import("@matter/types/tlv").OptionalFieldType<TargetPosition>;
463
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
464
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
465
- }>, void, any>;
466
- };
467
- readonly events: {
468
- readonly movementCompleted: Event<void, any> & {
469
- readonly optional: true;
470
- readonly isConditional: true;
471
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
472
- readonly mandatoryIf: [] | [{
473
- instantaneous: boolean;
474
- }];
475
- };
476
- readonly engageStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
477
- engageValue: import("@matter/types/tlv").FieldType<boolean>;
478
- }>, any> & {
479
- readonly optional: true;
480
- readonly isConditional: true;
481
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
482
- readonly mandatoryIf: [] | [{
483
- manuallyOperable: boolean;
484
- }];
485
- };
486
- readonly operationalError: Event<import("@matter/types/tlv").TypeFromFields<{
487
- errorState: import("@matter/types/tlv").FieldType<ClosureError[]>;
488
- }>, any>;
489
- readonly secureStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
490
- secureValue: import("@matter/types/tlv").FieldType<boolean>;
491
- }>, any>;
492
- };
493
- }, []>;
494
- interface Complete extends Identity<typeof Complete> {
78
+ interface OperationalErrorEvent {
79
+ errorState: ClosureError[];
80
+ }
81
+ interface EngageStateChangedEvent {
82
+ engageValue: boolean;
83
+ }
84
+ interface SecureStateChangedEvent {
85
+ secureValue: boolean;
86
+ }
87
+ interface Attributes {
88
+ countdownTime?: number | null;
89
+ mainState: MainState;
90
+ currentErrorList: ClosureError[];
91
+ overallCurrentState: OverallCurrentState | null;
92
+ overallTargetState: OverallTargetState | null;
93
+ latchControlModes?: LatchControlModesBitmap;
94
+ }
95
+ interface Commands {
96
+ moveTo(request: MoveToRequest): MaybePromise;
97
+ stop?(): MaybePromise;
98
+ calibrate?(): MaybePromise;
99
+ }
100
+ interface Events {
101
+ operationalError: OperationalErrorEvent;
102
+ movementCompleted?: Record<string, never>;
103
+ engageStateChanged?: EngageStateChangedEvent;
104
+ secureStateChanged: SecureStateChangedEvent;
105
+ }
106
+ type Components = [{
107
+ flags: {};
108
+ attributes: Attributes;
109
+ commands: Commands;
110
+ events: Events;
111
+ }];
112
+ interface Typing extends ClusterTyping {
113
+ Attributes: ClosureControl.Attributes;
114
+ Commands: ClosureControl.Commands;
115
+ Events: ClosureControl.Events;
116
+ Features: ClosureControl.Features;
117
+ Components: ClosureControl.Components;
495
118
  }
496
119
  }
497
- export type ClosureControlCluster = ClosureControl.Cluster;
498
- export declare const ClosureControlCluster: MutableCluster.ExtensibleOnly<{
499
- readonly id: 260;
120
+ export declare const ClosureControl: ClusterType.Concrete & {
121
+ readonly id: ClusterId & 260;
500
122
  readonly name: "ClosureControl";
501
123
  readonly revision: 1;
502
- readonly features: {
503
- readonly positioning: BitFlag;
504
- readonly motionLatching: BitFlag;
505
- readonly instantaneous: BitFlag;
506
- readonly speed: BitFlag;
507
- readonly ventilation: BitFlag;
508
- readonly pedestrian: BitFlag;
509
- readonly calibration: BitFlag;
510
- readonly protection: BitFlag;
511
- readonly manuallyOperable: BitFlag;
512
- };
513
- readonly attributes: {
514
- readonly mainState: Attribute<ClosureControl.MainState, any>;
515
- readonly currentErrorList: Attribute<ClosureControl.ClosureError[], any>;
516
- readonly overallCurrentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
517
- position: import("@matter/types/tlv").OptionalFieldType<ClosureControl.CurrentPosition | null>;
518
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
519
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
520
- secureState: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
521
- }> | null, any>;
522
- readonly overallTargetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
523
- position: import("@matter/types/tlv").OptionalFieldType<ClosureControl.TargetPosition | null>;
524
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
525
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
526
- }> | null, any>;
527
- };
528
- readonly commands: {
529
- readonly moveTo: Command<import("@matter/types/tlv").TypeFromFields<{
530
- position: import("@matter/types/tlv").OptionalFieldType<ClosureControl.TargetPosition>;
531
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
532
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
533
- }>, void, any>;
534
- };
535
- readonly events: {
536
- readonly operationalError: Event<import("@matter/types/tlv").TypeFromFields<{
537
- errorState: import("@matter/types/tlv").FieldType<ClosureControl.ClosureError[]>;
538
- }>, any>;
539
- readonly secureStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
540
- secureValue: import("@matter/types/tlv").FieldType<boolean>;
541
- }>, any>;
542
- };
543
- readonly extensions: readonly [{
544
- readonly flags: {
545
- readonly instantaneous: false;
546
- };
547
- readonly component: {
548
- readonly commands: {
549
- readonly stop: Command<void, void, any>;
550
- };
551
- readonly events: {
552
- readonly movementCompleted: Event<void, any>;
553
- };
554
- };
555
- }, {
556
- readonly flags: {
557
- readonly motionLatching: true;
558
- };
559
- readonly component: {
560
- readonly attributes: {
561
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
562
- remoteLatching: BitFlag;
563
- remoteUnlatching: BitFlag;
564
- }>, any>;
565
- };
566
- };
567
- }, {
568
- readonly flags: {
569
- readonly calibration: true;
570
- };
571
- readonly component: {
572
- readonly commands: {
573
- readonly calibrate: Command<void, void, any>;
574
- };
575
- };
576
- }, {
577
- readonly flags: {
578
- readonly manuallyOperable: true;
579
- };
580
- readonly component: {
581
- readonly events: {
582
- readonly engageStateChanged: Event<import("@matter/types/tlv").TypeFromFields<{
583
- engageValue: import("@matter/types/tlv").FieldType<boolean>;
584
- }>, any>;
585
- };
586
- };
587
- }, {
588
- readonly flags: {
589
- readonly positioning: true;
590
- readonly instantaneous: false;
591
- };
592
- readonly component: {
593
- readonly attributes: {
594
- readonly countdownTime: Attribute<number | null, any>;
595
- };
596
- };
597
- }, {
598
- readonly flags: {
599
- readonly positioning: false;
600
- readonly motionLatching: false;
601
- };
602
- readonly component: false;
603
- }, {
604
- readonly flags: {
605
- readonly speed: true;
606
- readonly positioning: false;
607
- };
608
- readonly component: false;
609
- }, {
610
- readonly flags: {
611
- readonly speed: true;
612
- readonly instantaneous: true;
613
- };
614
- readonly component: false;
615
- }, {
616
- readonly flags: {
617
- readonly ventilation: true;
618
- readonly positioning: false;
619
- };
620
- readonly component: false;
621
- }, {
622
- readonly flags: {
623
- readonly pedestrian: true;
624
- readonly positioning: false;
625
- };
626
- readonly component: false;
627
- }, {
628
- readonly flags: {
629
- readonly calibration: true;
630
- readonly positioning: false;
631
- };
632
- readonly component: false;
633
- }];
634
- }>;
124
+ readonly schema: ClusterModel;
125
+ readonly attributes: ClusterType.AttributeObjects<ClosureControl.Attributes>;
126
+ readonly commands: ClusterType.CommandObjects<ClosureControl.Commands>;
127
+ readonly events: ClusterType.EventObjects<ClosureControl.Events>;
128
+ readonly Feature: ClosureControl.FeatureEnum;
129
+ readonly ClosureError: ClosureControl.ClosureErrorEnum;
130
+ readonly CurrentPosition: ClosureControl.CurrentPositionEnum;
131
+ readonly MainState: ClosureControl.MainStateEnum;
132
+ readonly TargetPosition: ClosureControl.TargetPositionEnum;
133
+ readonly LatchControlModes: new (value?: Partial<ClosureControl.LatchControlModesBitmap>) => ClosureControl.LatchControlModesBitmap;
134
+ readonly OverallCurrentState: new (value?: Partial<ClosureControl.OverallCurrentState>) => ClosureControl.OverallCurrentState;
135
+ readonly OverallTargetState: new (value?: Partial<ClosureControl.OverallTargetState>) => ClosureControl.OverallTargetState;
136
+ readonly MoveToRequest: new (value?: Partial<ClosureControl.MoveToRequest>) => ClosureControl.MoveToRequest;
137
+ readonly OperationalErrorEvent: new (value?: Partial<ClosureControl.OperationalErrorEvent>) => ClosureControl.OperationalErrorEvent;
138
+ readonly EngageStateChangedEvent: new (value?: Partial<ClosureControl.EngageStateChangedEvent>) => ClosureControl.EngageStateChangedEvent;
139
+ readonly SecureStateChangedEvent: new (value?: Partial<ClosureControl.SecureStateChangedEvent>) => ClosureControl.SecureStateChangedEvent;
140
+ readonly Typing: ClosureControl.Typing;
141
+ readonly Cluster: typeof ClosureControl;
142
+ readonly Complete: typeof ClosureControl;
143
+ with(...features: ClosureControl.Feature[]): typeof ClosureControl;
144
+ };