@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,830 +1,164 @@
1
- import { Identity } from '@matter/general';
2
- import { Attribute, Command, 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 ClosureDimensionDefinition: ClusterElement;
7
+ export declare const ClosureDimensionModel: ClusterModel;
6
8
  export declare namespace ClosureDimension {
7
- enum Feature {
8
- Positioning = "Positioning",
9
- MotionLatching = "MotionLatching",
10
- Unit = "Unit",
11
- Limitation = "Limitation",
12
- Speed = "Speed",
13
- Translation = "Translation",
14
- Rotation = "Rotation",
15
- Modulation = "Modulation"
9
+ interface FeatureEnum {
10
+ readonly Positioning: 'Positioning';
11
+ readonly MotionLatching: 'MotionLatching';
12
+ readonly Unit: 'Unit';
13
+ readonly Limitation: 'Limitation';
14
+ readonly Speed: 'Speed';
15
+ readonly Translation: 'Translation';
16
+ readonly Rotation: 'Rotation';
17
+ readonly Modulation: 'Modulation';
16
18
  }
17
- enum ClosureUnit {
18
- Millimeter = 0,
19
- Degree = 1
19
+ interface ClosureUnitEnum {
20
+ readonly Millimeter: 0;
21
+ readonly Degree: 1;
20
22
  }
21
- enum ModulationType {
22
- SlatsOrientation = 0,
23
- SlatsOpenwork = 1,
24
- StripesAlignment = 2,
25
- Opacity = 3,
26
- Ventilation = 4
23
+ interface ModulationTypeEnum {
24
+ readonly SlatsOrientation: 0;
25
+ readonly SlatsOpenwork: 1;
26
+ readonly StripesAlignment: 2;
27
+ readonly Opacity: 3;
28
+ readonly Ventilation: 4;
27
29
  }
28
- enum Overflow {
29
- NoOverflow = 0,
30
- Inside = 1,
31
- Outside = 2,
32
- TopInside = 3,
33
- TopOutside = 4,
34
- BottomInside = 5,
35
- BottomOutside = 6,
36
- LeftInside = 7,
37
- LeftOutside = 8,
38
- RightInside = 9,
39
- RightOutside = 10
30
+ interface OverflowEnum {
31
+ readonly NoOverflow: 0;
32
+ readonly Inside: 1;
33
+ readonly Outside: 2;
34
+ readonly TopInside: 3;
35
+ readonly TopOutside: 4;
36
+ readonly BottomInside: 5;
37
+ readonly BottomOutside: 6;
38
+ readonly LeftInside: 7;
39
+ readonly LeftOutside: 8;
40
+ readonly RightInside: 9;
41
+ readonly RightOutside: 10;
40
42
  }
41
- enum RotationAxis {
42
- Left = 0,
43
- CenteredVertical = 1,
44
- LeftAndRight = 2,
45
- Right = 3,
46
- Top = 4,
47
- CenteredHorizontal = 5,
48
- TopAndBottom = 6,
49
- Bottom = 7,
50
- LeftBarrier = 8,
51
- LeftAndRightBarriers = 9,
52
- RightBarrier = 10
43
+ interface RotationAxisEnum {
44
+ readonly Left: 0;
45
+ readonly CenteredVertical: 1;
46
+ readonly LeftAndRight: 2;
47
+ readonly Right: 3;
48
+ readonly Top: 4;
49
+ readonly CenteredHorizontal: 5;
50
+ readonly TopAndBottom: 6;
51
+ readonly Bottom: 7;
52
+ readonly LeftBarrier: 8;
53
+ readonly LeftAndRightBarriers: 9;
54
+ readonly RightBarrier: 10;
53
55
  }
54
- enum StepDirection {
55
- Decrease = 0,
56
- Increase = 1
56
+ interface StepDirectionEnum {
57
+ readonly Decrease: 0;
58
+ readonly Increase: 1;
57
59
  }
58
- enum TranslationDirection {
59
- Downward = 0,
60
- Upward = 1,
61
- VerticalMask = 2,
62
- VerticalSymmetry = 3,
63
- Leftward = 4,
64
- Rightward = 5,
65
- HorizontalMask = 6,
66
- HorizontalSymmetry = 7,
67
- Forward = 8,
68
- Backward = 9,
69
- DepthMask = 10,
70
- DepthSymmetry = 11
60
+ interface TranslationDirectionEnum {
61
+ readonly Downward: 0;
62
+ readonly Upward: 1;
63
+ readonly VerticalMask: 2;
64
+ readonly VerticalSymmetry: 3;
65
+ readonly Leftward: 4;
66
+ readonly Rightward: 5;
67
+ readonly HorizontalMask: 6;
68
+ readonly HorizontalSymmetry: 7;
69
+ readonly Forward: 8;
70
+ readonly Backward: 9;
71
+ readonly DepthMask: 10;
72
+ readonly DepthSymmetry: 11;
71
73
  }
72
- const LatchControlModes: {
73
- remoteLatching: BitFlag;
74
- remoteUnlatching: BitFlag;
75
- };
76
- const TlvDimensionState: import("@matter/types/tlv").ObjectSchema<{
77
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
78
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
79
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
80
- }>;
81
- interface DimensionState extends TypeFromSchema<typeof TlvDimensionState> {
74
+ type Feature = FeatureEnum[keyof FeatureEnum];
75
+ type Features = Feature;
76
+ type ClosureUnit = ClosureUnitEnum[keyof ClosureUnitEnum];
77
+ type ModulationType = ModulationTypeEnum[keyof ModulationTypeEnum];
78
+ type Overflow = OverflowEnum[keyof OverflowEnum];
79
+ type RotationAxis = RotationAxisEnum[keyof RotationAxisEnum];
80
+ type StepDirection = StepDirectionEnum[keyof StepDirectionEnum];
81
+ type TranslationDirection = TranslationDirectionEnum[keyof TranslationDirectionEnum];
82
+ interface LatchControlModesBitmap {
83
+ remoteLatching?: boolean;
84
+ remoteUnlatching?: boolean;
82
85
  }
83
- const TlvRangePercent100ths: import("@matter/types/tlv").ObjectSchema<{
84
- min: import("@matter/types/tlv").FieldType<number>;
85
- max: import("@matter/types/tlv").FieldType<number>;
86
- }>;
87
- const TlvUnitRange: import("@matter/types/tlv").ObjectSchema<{
88
- min: import("@matter/types/tlv").FieldType<number>;
89
- max: import("@matter/types/tlv").FieldType<number>;
90
- }>;
91
- const TlvSetTargetRequest: import("@matter/types/tlv").ObjectSchema<{
92
- position: import("@matter/types/tlv").OptionalFieldType<number>;
93
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
94
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
95
- }>;
96
- interface SetTargetRequest extends TypeFromSchema<typeof TlvSetTargetRequest> {
86
+ interface DimensionState {
87
+ position?: number | null;
88
+ latch?: boolean | null;
89
+ speed?: ThreeLevelAuto;
97
90
  }
98
- const TlvStepRequest: import("@matter/types/tlv").ObjectSchema<{
99
- direction: import("@matter/types/tlv").FieldType<StepDirection>;
100
- numberOfSteps: import("@matter/types/tlv").FieldType<number>;
101
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
102
- }>;
103
- interface StepRequest extends TypeFromSchema<typeof TlvStepRequest> {
91
+ interface RangePercent100ths {
92
+ min: number;
93
+ max: number;
104
94
  }
105
- const PositioningComponent: {
106
- readonly attributes: {
107
- readonly resolution: FixedAttribute<number, any>;
108
- readonly stepValue: FixedAttribute<number, any>;
109
- };
110
- readonly commands: {
111
- readonly step: Command<import("@matter/types/tlv").TypeFromFields<{
112
- direction: import("@matter/types/tlv").FieldType<StepDirection>;
113
- numberOfSteps: import("@matter/types/tlv").FieldType<number>;
114
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
115
- }>, void, any>;
116
- };
117
- };
118
- const MotionLatchingComponent: {
119
- readonly attributes: {
120
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
121
- remoteLatching: BitFlag;
122
- remoteUnlatching: BitFlag;
123
- }>, any>;
124
- };
125
- };
126
- const UnitComponent: {
127
- readonly attributes: {
128
- readonly unit: FixedAttribute<ClosureUnit, any>;
129
- readonly unitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
130
- min: import("@matter/types/tlv").FieldType<number>;
131
- max: import("@matter/types/tlv").FieldType<number>;
132
- }> | null, any>;
133
- };
134
- };
135
- const LimitationComponent: {
136
- readonly attributes: {
137
- readonly limitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
138
- min: import("@matter/types/tlv").FieldType<number>;
139
- max: import("@matter/types/tlv").FieldType<number>;
140
- }>, any>;
141
- };
142
- };
143
- const TranslationComponent: {
144
- readonly attributes: {
145
- readonly translationDirection: FixedAttribute<TranslationDirection, any>;
146
- };
147
- };
148
- const RotationComponent: {
149
- readonly attributes: {
150
- readonly rotationAxis: FixedAttribute<RotationAxis, any>;
151
- readonly overflow: FixedAttribute<Overflow, any>;
152
- };
153
- };
154
- const ModulationComponent: {
155
- readonly attributes: {
156
- readonly modulationType: FixedAttribute<ModulationType, any>;
157
- };
158
- };
159
- const Base: {
160
- readonly id: 261;
161
- readonly name: "ClosureDimension";
162
- readonly revision: 1;
163
- readonly features: {
164
- readonly positioning: BitFlag;
165
- readonly motionLatching: BitFlag;
166
- readonly unit: BitFlag;
167
- readonly limitation: BitFlag;
168
- readonly speed: BitFlag;
169
- readonly translation: BitFlag;
170
- readonly rotation: BitFlag;
171
- readonly modulation: BitFlag;
172
- };
173
- readonly attributes: {
174
- readonly currentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
175
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
176
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
177
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
178
- }> | null, any>;
179
- readonly targetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
180
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
181
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
182
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
183
- }> | null, any>;
184
- };
185
- readonly commands: {
186
- readonly setTarget: Command<import("@matter/types/tlv").TypeFromFields<{
187
- position: import("@matter/types/tlv").OptionalFieldType<number>;
188
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
189
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
190
- }>, void, any>;
191
- };
192
- readonly extensions: readonly [{
193
- readonly flags: {
194
- readonly positioning: true;
195
- };
196
- readonly component: {
197
- readonly attributes: {
198
- readonly resolution: FixedAttribute<number, any>;
199
- readonly stepValue: FixedAttribute<number, any>;
200
- };
201
- readonly commands: {
202
- readonly step: Command<import("@matter/types/tlv").TypeFromFields<{
203
- direction: import("@matter/types/tlv").FieldType<StepDirection>;
204
- numberOfSteps: import("@matter/types/tlv").FieldType<number>;
205
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
206
- }>, void, any>;
207
- };
208
- };
209
- }, {
210
- readonly flags: {
211
- readonly motionLatching: true;
212
- };
213
- readonly component: {
214
- readonly attributes: {
215
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
216
- remoteLatching: BitFlag;
217
- remoteUnlatching: BitFlag;
218
- }>, any>;
219
- };
220
- };
221
- }, {
222
- readonly flags: {
223
- readonly unit: true;
224
- };
225
- readonly component: {
226
- readonly attributes: {
227
- readonly unit: FixedAttribute<ClosureUnit, any>;
228
- readonly unitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
229
- min: import("@matter/types/tlv").FieldType<number>;
230
- max: import("@matter/types/tlv").FieldType<number>;
231
- }> | null, any>;
232
- };
233
- };
234
- }, {
235
- readonly flags: {
236
- readonly limitation: true;
237
- };
238
- readonly component: {
239
- readonly attributes: {
240
- readonly limitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
241
- min: import("@matter/types/tlv").FieldType<number>;
242
- max: import("@matter/types/tlv").FieldType<number>;
243
- }>, any>;
244
- };
245
- };
246
- }, {
247
- readonly flags: {
248
- readonly translation: true;
249
- };
250
- readonly component: {
251
- readonly attributes: {
252
- readonly translationDirection: FixedAttribute<TranslationDirection, any>;
253
- };
254
- };
255
- }, {
256
- readonly flags: {
257
- readonly rotation: true;
258
- };
259
- readonly component: {
260
- readonly attributes: {
261
- readonly rotationAxis: FixedAttribute<RotationAxis, any>;
262
- readonly overflow: FixedAttribute<Overflow, any>;
263
- };
264
- };
265
- }, {
266
- readonly flags: {
267
- readonly modulation: true;
268
- };
269
- readonly component: {
270
- readonly attributes: {
271
- readonly modulationType: FixedAttribute<ModulationType, any>;
272
- };
273
- };
274
- }, {
275
- readonly flags: {
276
- readonly positioning: false;
277
- readonly motionLatching: false;
278
- };
279
- readonly component: false;
280
- }, {
281
- readonly flags: {
282
- readonly unit: true;
283
- readonly positioning: false;
284
- };
285
- readonly component: false;
286
- }, {
287
- readonly flags: {
288
- readonly limitation: true;
289
- readonly positioning: false;
290
- };
291
- readonly component: false;
292
- }, {
293
- readonly flags: {
294
- readonly speed: true;
295
- readonly positioning: false;
296
- };
297
- readonly component: false;
298
- }, {
299
- readonly flags: {
300
- readonly translation: true;
301
- readonly positioning: false;
302
- };
303
- readonly component: false;
304
- }, {
305
- readonly flags: {
306
- readonly rotation: true;
307
- readonly positioning: false;
308
- };
309
- readonly component: false;
310
- }, {
311
- readonly flags: {
312
- readonly modulation: true;
313
- readonly positioning: false;
314
- };
315
- readonly component: false;
316
- }, {
317
- readonly flags: {
318
- readonly translation: true;
319
- readonly rotation: true;
320
- };
321
- readonly component: false;
322
- }, {
323
- readonly flags: {
324
- readonly translation: true;
325
- readonly modulation: true;
326
- };
327
- readonly component: false;
328
- }, {
329
- readonly flags: {
330
- readonly rotation: true;
331
- readonly modulation: true;
332
- };
333
- readonly component: false;
334
- }];
335
- };
336
- const Cluster: MutableCluster.ExtensibleOnly<{
337
- readonly id: 261;
338
- readonly name: "ClosureDimension";
339
- readonly revision: 1;
340
- readonly features: {
341
- readonly positioning: BitFlag;
342
- readonly motionLatching: BitFlag;
343
- readonly unit: BitFlag;
344
- readonly limitation: BitFlag;
345
- readonly speed: BitFlag;
346
- readonly translation: BitFlag;
347
- readonly rotation: BitFlag;
348
- readonly modulation: BitFlag;
349
- };
350
- readonly attributes: {
351
- readonly currentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
352
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
353
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
354
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
355
- }> | null, any>;
356
- readonly targetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
357
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
358
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
359
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
360
- }> | null, any>;
361
- };
362
- readonly commands: {
363
- readonly setTarget: Command<import("@matter/types/tlv").TypeFromFields<{
364
- position: import("@matter/types/tlv").OptionalFieldType<number>;
365
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
366
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
367
- }>, void, any>;
368
- };
369
- readonly extensions: readonly [{
370
- readonly flags: {
371
- readonly positioning: true;
372
- };
373
- readonly component: {
374
- readonly attributes: {
375
- readonly resolution: FixedAttribute<number, any>;
376
- readonly stepValue: FixedAttribute<number, any>;
377
- };
378
- readonly commands: {
379
- readonly step: Command<import("@matter/types/tlv").TypeFromFields<{
380
- direction: import("@matter/types/tlv").FieldType<StepDirection>;
381
- numberOfSteps: import("@matter/types/tlv").FieldType<number>;
382
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
383
- }>, void, any>;
384
- };
385
- };
386
- }, {
387
- readonly flags: {
388
- readonly motionLatching: true;
389
- };
390
- readonly component: {
391
- readonly attributes: {
392
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
393
- remoteLatching: BitFlag;
394
- remoteUnlatching: BitFlag;
395
- }>, any>;
396
- };
397
- };
398
- }, {
399
- readonly flags: {
400
- readonly unit: true;
401
- };
402
- readonly component: {
403
- readonly attributes: {
404
- readonly unit: FixedAttribute<ClosureUnit, any>;
405
- readonly unitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
406
- min: import("@matter/types/tlv").FieldType<number>;
407
- max: import("@matter/types/tlv").FieldType<number>;
408
- }> | null, any>;
409
- };
410
- };
411
- }, {
412
- readonly flags: {
413
- readonly limitation: true;
414
- };
415
- readonly component: {
416
- readonly attributes: {
417
- readonly limitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
418
- min: import("@matter/types/tlv").FieldType<number>;
419
- max: import("@matter/types/tlv").FieldType<number>;
420
- }>, any>;
421
- };
422
- };
423
- }, {
424
- readonly flags: {
425
- readonly translation: true;
426
- };
427
- readonly component: {
428
- readonly attributes: {
429
- readonly translationDirection: FixedAttribute<TranslationDirection, any>;
430
- };
431
- };
432
- }, {
433
- readonly flags: {
434
- readonly rotation: true;
435
- };
436
- readonly component: {
437
- readonly attributes: {
438
- readonly rotationAxis: FixedAttribute<RotationAxis, any>;
439
- readonly overflow: FixedAttribute<Overflow, any>;
440
- };
441
- };
442
- }, {
443
- readonly flags: {
444
- readonly modulation: true;
445
- };
446
- readonly component: {
447
- readonly attributes: {
448
- readonly modulationType: FixedAttribute<ModulationType, any>;
449
- };
450
- };
451
- }, {
452
- readonly flags: {
453
- readonly positioning: false;
454
- readonly motionLatching: false;
455
- };
456
- readonly component: false;
457
- }, {
458
- readonly flags: {
459
- readonly unit: true;
460
- readonly positioning: false;
461
- };
462
- readonly component: false;
463
- }, {
464
- readonly flags: {
465
- readonly limitation: true;
466
- readonly positioning: false;
467
- };
468
- readonly component: false;
469
- }, {
470
- readonly flags: {
471
- readonly speed: true;
472
- readonly positioning: false;
473
- };
474
- readonly component: false;
475
- }, {
476
- readonly flags: {
477
- readonly translation: true;
478
- readonly positioning: false;
479
- };
480
- readonly component: false;
481
- }, {
482
- readonly flags: {
483
- readonly rotation: true;
484
- readonly positioning: false;
485
- };
486
- readonly component: false;
487
- }, {
488
- readonly flags: {
489
- readonly modulation: true;
490
- readonly positioning: false;
491
- };
492
- readonly component: false;
493
- }, {
494
- readonly flags: {
495
- readonly translation: true;
496
- readonly rotation: true;
497
- };
498
- readonly component: false;
499
- }, {
500
- readonly flags: {
501
- readonly translation: true;
502
- readonly modulation: true;
503
- };
504
- readonly component: false;
505
- }, {
506
- readonly flags: {
507
- readonly rotation: true;
508
- readonly modulation: true;
509
- };
510
- readonly component: false;
511
- }];
512
- }>;
513
- interface Cluster extends Identity<typeof Cluster> {
95
+ interface UnitRange {
96
+ min: number;
97
+ max: number;
514
98
  }
515
- const Complete: MutableCluster<{
516
- readonly id: 261;
517
- readonly name: "ClosureDimension";
518
- readonly revision: 1;
519
- readonly features: {
520
- readonly positioning: BitFlag;
521
- readonly motionLatching: BitFlag;
522
- readonly unit: BitFlag;
523
- readonly limitation: BitFlag;
524
- readonly speed: BitFlag;
525
- readonly translation: BitFlag;
526
- readonly rotation: BitFlag;
527
- readonly modulation: BitFlag;
528
- };
529
- readonly attributes: {
530
- readonly resolution: FixedAttribute<number, any> & {
531
- readonly optional: true;
532
- readonly isConditional: true;
533
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
534
- readonly mandatoryIf: [] | [{
535
- positioning: boolean;
536
- }];
537
- };
538
- readonly stepValue: FixedAttribute<number, any> & {
539
- readonly optional: true;
540
- readonly isConditional: true;
541
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
542
- readonly mandatoryIf: [] | [{
543
- positioning: boolean;
544
- }];
545
- };
546
- readonly unit: FixedAttribute<ClosureUnit, any> & {
547
- readonly optional: true;
548
- readonly isConditional: true;
549
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
550
- readonly mandatoryIf: [] | [{
551
- unit: boolean;
552
- }];
553
- };
554
- readonly unitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
555
- min: import("@matter/types/tlv").FieldType<number>;
556
- max: import("@matter/types/tlv").FieldType<number>;
557
- }> | null, any> & {
558
- readonly optional: true;
559
- readonly isConditional: true;
560
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
561
- readonly mandatoryIf: [] | [{
562
- unit: boolean;
563
- }];
564
- };
565
- readonly limitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
566
- min: import("@matter/types/tlv").FieldType<number>;
567
- max: import("@matter/types/tlv").FieldType<number>;
568
- }>, any> & {
569
- readonly optional: true;
570
- readonly isConditional: true;
571
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
572
- readonly mandatoryIf: [] | [{
573
- limitation: boolean;
574
- }];
575
- };
576
- readonly translationDirection: FixedAttribute<TranslationDirection, any> & {
577
- readonly optional: true;
578
- readonly isConditional: true;
579
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
580
- readonly mandatoryIf: [] | [{
581
- translation: boolean;
582
- }];
583
- };
584
- readonly rotationAxis: FixedAttribute<RotationAxis, any> & {
585
- readonly optional: true;
586
- readonly isConditional: true;
587
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
588
- readonly mandatoryIf: [] | [{
589
- rotation: boolean;
590
- }];
591
- };
592
- readonly overflow: FixedAttribute<Overflow, any> & {
593
- readonly optional: true;
594
- readonly isConditional: true;
595
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
596
- readonly mandatoryIf: [] | [{
597
- rotation: boolean;
598
- }];
599
- };
600
- readonly modulationType: FixedAttribute<ModulationType, any> & {
601
- readonly optional: true;
602
- readonly isConditional: true;
603
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
604
- readonly mandatoryIf: [] | [{
605
- modulation: boolean;
606
- }];
607
- };
608
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
609
- remoteLatching: BitFlag;
610
- remoteUnlatching: BitFlag;
611
- }>, any> & {
612
- readonly optional: true;
613
- readonly isConditional: true;
614
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
615
- readonly mandatoryIf: [] | [{
616
- motionLatching: boolean;
617
- }];
618
- };
619
- readonly currentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
620
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
621
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
622
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
623
- }> | null, any>;
624
- readonly targetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
625
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
626
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
627
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
628
- }> | null, any>;
629
- };
630
- readonly commands: {
631
- readonly step: Command<import("@matter/types/tlv").TypeFromFields<{
632
- direction: import("@matter/types/tlv").FieldType<StepDirection>;
633
- numberOfSteps: import("@matter/types/tlv").FieldType<number>;
634
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
635
- }>, void, any> & {
636
- readonly optional: true;
637
- readonly isConditional: true;
638
- readonly optionalIf: [] | import("@matter/types/cluster").ConditionalFeatureList<import("@matter/types/schema").BitSchema>;
639
- readonly mandatoryIf: [] | [{
640
- positioning: boolean;
641
- }];
642
- };
643
- readonly setTarget: Command<import("@matter/types/tlv").TypeFromFields<{
644
- position: import("@matter/types/tlv").OptionalFieldType<number>;
645
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
646
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
647
- }>, void, any>;
648
- };
649
- }, []>;
650
- interface Complete extends Identity<typeof Complete> {
99
+ interface SetTargetRequest {
100
+ position?: number;
101
+ latch?: boolean;
102
+ speed?: ThreeLevelAuto;
103
+ }
104
+ interface StepRequest {
105
+ direction: StepDirection;
106
+ numberOfSteps: number;
107
+ speed?: ThreeLevelAuto;
108
+ }
109
+ interface Attributes {
110
+ currentState: DimensionState | null;
111
+ targetState: DimensionState | null;
112
+ resolution?: number;
113
+ stepValue?: number;
114
+ unit?: ClosureUnit;
115
+ unitRange?: UnitRange | null;
116
+ limitRange?: RangePercent100ths;
117
+ translationDirection?: TranslationDirection;
118
+ rotationAxis?: RotationAxis;
119
+ overflow?: Overflow;
120
+ modulationType?: ModulationType;
121
+ latchControlModes?: LatchControlModesBitmap;
122
+ }
123
+ interface Commands {
124
+ setTarget(request: SetTargetRequest): MaybePromise;
125
+ step?(request: StepRequest): MaybePromise;
126
+ }
127
+ type Components = [{
128
+ flags: {};
129
+ attributes: Attributes;
130
+ commands: Commands;
131
+ }];
132
+ interface Typing extends ClusterTyping {
133
+ Attributes: ClosureDimension.Attributes;
134
+ Commands: ClosureDimension.Commands;
135
+ Features: ClosureDimension.Features;
136
+ Components: ClosureDimension.Components;
651
137
  }
652
138
  }
653
- export type ClosureDimensionCluster = ClosureDimension.Cluster;
654
- export declare const ClosureDimensionCluster: MutableCluster.ExtensibleOnly<{
655
- readonly id: 261;
139
+ export declare const ClosureDimension: ClusterType.Concrete & {
140
+ readonly id: ClusterId & 261;
656
141
  readonly name: "ClosureDimension";
657
142
  readonly revision: 1;
658
- readonly features: {
659
- readonly positioning: BitFlag;
660
- readonly motionLatching: BitFlag;
661
- readonly unit: BitFlag;
662
- readonly limitation: BitFlag;
663
- readonly speed: BitFlag;
664
- readonly translation: BitFlag;
665
- readonly rotation: BitFlag;
666
- readonly modulation: BitFlag;
667
- };
668
- readonly attributes: {
669
- readonly currentState: Attribute<import("@matter/types/tlv").TypeFromFields<{
670
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
671
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
672
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
673
- }> | null, any>;
674
- readonly targetState: Attribute<import("@matter/types/tlv").TypeFromFields<{
675
- position: import("@matter/types/tlv").OptionalFieldType<number | null>;
676
- latch: import("@matter/types/tlv").OptionalFieldType<boolean | null>;
677
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
678
- }> | null, any>;
679
- };
680
- readonly commands: {
681
- readonly setTarget: Command<import("@matter/types/tlv").TypeFromFields<{
682
- position: import("@matter/types/tlv").OptionalFieldType<number>;
683
- latch: import("@matter/types/tlv").OptionalFieldType<boolean>;
684
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
685
- }>, void, any>;
686
- };
687
- readonly extensions: readonly [{
688
- readonly flags: {
689
- readonly positioning: true;
690
- };
691
- readonly component: {
692
- readonly attributes: {
693
- readonly resolution: FixedAttribute<number, any>;
694
- readonly stepValue: FixedAttribute<number, any>;
695
- };
696
- readonly commands: {
697
- readonly step: Command<import("@matter/types/tlv").TypeFromFields<{
698
- direction: import("@matter/types/tlv").FieldType<ClosureDimension.StepDirection>;
699
- numberOfSteps: import("@matter/types/tlv").FieldType<number>;
700
- speed: import("@matter/types/tlv").OptionalFieldType<ThreeLevelAuto>;
701
- }>, void, any>;
702
- };
703
- };
704
- }, {
705
- readonly flags: {
706
- readonly motionLatching: true;
707
- };
708
- readonly component: {
709
- readonly attributes: {
710
- readonly latchControlModes: FixedAttribute<import("@matter/types/schema").TypeFromPartialBitSchema<{
711
- remoteLatching: BitFlag;
712
- remoteUnlatching: BitFlag;
713
- }>, any>;
714
- };
715
- };
716
- }, {
717
- readonly flags: {
718
- readonly unit: true;
719
- };
720
- readonly component: {
721
- readonly attributes: {
722
- readonly unit: FixedAttribute<ClosureDimension.ClosureUnit, any>;
723
- readonly unitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
724
- min: import("@matter/types/tlv").FieldType<number>;
725
- max: import("@matter/types/tlv").FieldType<number>;
726
- }> | null, any>;
727
- };
728
- };
729
- }, {
730
- readonly flags: {
731
- readonly limitation: true;
732
- };
733
- readonly component: {
734
- readonly attributes: {
735
- readonly limitRange: Attribute<import("@matter/types/tlv").TypeFromFields<{
736
- min: import("@matter/types/tlv").FieldType<number>;
737
- max: import("@matter/types/tlv").FieldType<number>;
738
- }>, any>;
739
- };
740
- };
741
- }, {
742
- readonly flags: {
743
- readonly translation: true;
744
- };
745
- readonly component: {
746
- readonly attributes: {
747
- readonly translationDirection: FixedAttribute<ClosureDimension.TranslationDirection, any>;
748
- };
749
- };
750
- }, {
751
- readonly flags: {
752
- readonly rotation: true;
753
- };
754
- readonly component: {
755
- readonly attributes: {
756
- readonly rotationAxis: FixedAttribute<ClosureDimension.RotationAxis, any>;
757
- readonly overflow: FixedAttribute<ClosureDimension.Overflow, any>;
758
- };
759
- };
760
- }, {
761
- readonly flags: {
762
- readonly modulation: true;
763
- };
764
- readonly component: {
765
- readonly attributes: {
766
- readonly modulationType: FixedAttribute<ClosureDimension.ModulationType, any>;
767
- };
768
- };
769
- }, {
770
- readonly flags: {
771
- readonly positioning: false;
772
- readonly motionLatching: false;
773
- };
774
- readonly component: false;
775
- }, {
776
- readonly flags: {
777
- readonly unit: true;
778
- readonly positioning: false;
779
- };
780
- readonly component: false;
781
- }, {
782
- readonly flags: {
783
- readonly limitation: true;
784
- readonly positioning: false;
785
- };
786
- readonly component: false;
787
- }, {
788
- readonly flags: {
789
- readonly speed: true;
790
- readonly positioning: false;
791
- };
792
- readonly component: false;
793
- }, {
794
- readonly flags: {
795
- readonly translation: true;
796
- readonly positioning: false;
797
- };
798
- readonly component: false;
799
- }, {
800
- readonly flags: {
801
- readonly rotation: true;
802
- readonly positioning: false;
803
- };
804
- readonly component: false;
805
- }, {
806
- readonly flags: {
807
- readonly modulation: true;
808
- readonly positioning: false;
809
- };
810
- readonly component: false;
811
- }, {
812
- readonly flags: {
813
- readonly translation: true;
814
- readonly rotation: true;
815
- };
816
- readonly component: false;
817
- }, {
818
- readonly flags: {
819
- readonly translation: true;
820
- readonly modulation: true;
821
- };
822
- readonly component: false;
823
- }, {
824
- readonly flags: {
825
- readonly rotation: true;
826
- readonly modulation: true;
827
- };
828
- readonly component: false;
829
- }];
830
- }>;
143
+ readonly schema: ClusterModel;
144
+ readonly attributes: ClusterType.AttributeObjects<ClosureDimension.Attributes>;
145
+ readonly commands: ClusterType.CommandObjects<ClosureDimension.Commands>;
146
+ readonly events: ClusterType.EventObjects<Record<string, never>>;
147
+ readonly Feature: ClosureDimension.FeatureEnum;
148
+ readonly ClosureUnit: ClosureDimension.ClosureUnitEnum;
149
+ readonly ModulationType: ClosureDimension.ModulationTypeEnum;
150
+ readonly Overflow: ClosureDimension.OverflowEnum;
151
+ readonly RotationAxis: ClosureDimension.RotationAxisEnum;
152
+ readonly StepDirection: ClosureDimension.StepDirectionEnum;
153
+ readonly TranslationDirection: ClosureDimension.TranslationDirectionEnum;
154
+ readonly LatchControlModes: new (value?: Partial<ClosureDimension.LatchControlModesBitmap> | number) => ClosureDimension.LatchControlModesBitmap;
155
+ readonly DimensionState: new (value?: Partial<ClosureDimension.DimensionState>) => ClosureDimension.DimensionState;
156
+ readonly RangePercent100ths: new (value?: Partial<ClosureDimension.RangePercent100ths>) => ClosureDimension.RangePercent100ths;
157
+ readonly UnitRange: new (value?: Partial<ClosureDimension.UnitRange>) => ClosureDimension.UnitRange;
158
+ readonly SetTargetRequest: new (value?: Partial<ClosureDimension.SetTargetRequest>) => ClosureDimension.SetTargetRequest;
159
+ readonly StepRequest: new (value?: Partial<ClosureDimension.StepRequest>) => ClosureDimension.StepRequest;
160
+ readonly Typing: ClosureDimension.Typing;
161
+ readonly Cluster: typeof ClosureDimension;
162
+ readonly Complete: typeof ClosureDimension;
163
+ with(...features: ClosureDimension.Feature[]): typeof ClosureDimension;
164
+ };