matterbridge 1.5.1 → 1.5.3

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 (92) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/{README-ADVANCED.md → README-DOCKER.md} +1 -82
  3. package/README-SERVICE.md +96 -0
  4. package/README.md +54 -17
  5. package/dist/cluster/AirQualityCluster.d.ts +1 -1
  6. package/dist/cluster/AirQualityCluster.d.ts.map +1 -1
  7. package/dist/cluster/CarbonDioxideConcentrationMeasurementCluster.d.ts +11 -11
  8. package/dist/cluster/CarbonDioxideConcentrationMeasurementCluster.d.ts.map +1 -1
  9. package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.d.ts +11 -11
  10. package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.d.ts.map +1 -1
  11. package/dist/cluster/ConcentrationMeasurementCluster.d.ts +10 -10
  12. package/dist/cluster/DeviceEnergyManagementCluster.d.ts +16 -16
  13. package/dist/cluster/DeviceEnergyManagementCluster.d.ts.map +1 -1
  14. package/dist/cluster/DeviceEnergyManagementModeCluster.d.ts +3 -3
  15. package/dist/cluster/DeviceEnergyManagementModeCluster.d.ts.map +1 -1
  16. package/dist/cluster/ElectricalEnergyMeasurementCluster.d.ts +8 -8
  17. package/dist/cluster/ElectricalEnergyMeasurementCluster.d.ts.map +1 -1
  18. package/dist/cluster/ElectricalPowerMeasurementCluster.d.ts +13 -13
  19. package/dist/cluster/ElectricalPowerMeasurementCluster.d.ts.map +1 -1
  20. package/dist/cluster/FormaldehydeConcentrationMeasurementCluster.d.ts +11 -11
  21. package/dist/cluster/FormaldehydeConcentrationMeasurementCluster.d.ts.map +1 -1
  22. package/dist/cluster/NitrogenDioxideConcentrationMeasurementCluster.d.ts +11 -11
  23. package/dist/cluster/NitrogenDioxideConcentrationMeasurementCluster.d.ts.map +1 -1
  24. package/dist/cluster/OzoneConcentrationMeasurementCluster.d.ts +11 -11
  25. package/dist/cluster/OzoneConcentrationMeasurementCluster.d.ts.map +1 -1
  26. package/dist/cluster/Pm10ConcentrationMeasurementCluster.d.ts +11 -11
  27. package/dist/cluster/Pm10ConcentrationMeasurementCluster.d.ts.map +1 -1
  28. package/dist/cluster/Pm1ConcentrationMeasurementCluster.d.ts +11 -11
  29. package/dist/cluster/Pm1ConcentrationMeasurementCluster.d.ts.map +1 -1
  30. package/dist/cluster/Pm25ConcentrationMeasurementCluster.d.ts +11 -11
  31. package/dist/cluster/Pm25ConcentrationMeasurementCluster.d.ts.map +1 -1
  32. package/dist/cluster/PowerTopologyCluster.d.ts +7 -7
  33. package/dist/cluster/PowerTopologyCluster.d.ts.map +1 -1
  34. package/dist/cluster/RadonConcentrationMeasurementCluster.d.ts +11 -11
  35. package/dist/cluster/RadonConcentrationMeasurementCluster.d.ts.map +1 -1
  36. package/dist/cluster/ScenesCluster.d.ts +1249 -0
  37. package/dist/cluster/ScenesCluster.d.ts.map +1 -0
  38. package/dist/cluster/ScenesCluster.js +436 -0
  39. package/dist/cluster/ScenesCluster.js.map +1 -0
  40. package/dist/cluster/SmokeCoAlarmCluster.d.ts +9 -9
  41. package/dist/cluster/SmokeCoAlarmCluster.d.ts.map +1 -1
  42. package/dist/cluster/TvocCluster.d.ts +1 -1
  43. package/dist/cluster/TvocCluster.d.ts.map +1 -1
  44. package/dist/cluster/export.d.ts +0 -1
  45. package/dist/cluster/export.d.ts.map +1 -1
  46. package/dist/cluster/export.js +0 -1
  47. package/dist/cluster/export.js.map +1 -1
  48. package/dist/index.d.ts +3 -25
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +3 -32
  51. package/dist/index.js.map +1 -1
  52. package/dist/matterbridge.d.ts +5 -3
  53. package/dist/matterbridge.d.ts.map +1 -1
  54. package/dist/matterbridge.js +152 -30
  55. package/dist/matterbridge.js.map +1 -1
  56. package/dist/matterbridgeDevice.d.ts +4684 -2288
  57. package/dist/matterbridgeDevice.d.ts.map +1 -1
  58. package/dist/matterbridgeDevice.js +146 -545
  59. package/dist/matterbridgeDevice.js.map +1 -1
  60. package/dist/matterbridgeTypes.d.ts +5 -0
  61. package/dist/matterbridgeTypes.d.ts.map +1 -1
  62. package/dist/pluginManager.d.ts.map +1 -1
  63. package/dist/pluginManager.js +16 -0
  64. package/dist/pluginManager.js.map +1 -1
  65. package/dist/utils/utils.d.ts +0 -5
  66. package/dist/utils/utils.d.ts.map +1 -1
  67. package/dist/utils/utils.js +5 -12
  68. package/dist/utils/utils.js.map +1 -1
  69. package/frontend/build/asset-manifest.json +6 -6
  70. package/frontend/build/index.html +1 -1
  71. package/frontend/build/static/css/main.1cf003ae.css +2 -0
  72. package/frontend/build/static/css/main.1cf003ae.css.map +1 -0
  73. package/frontend/build/static/js/main.6725e5ab.js +3 -0
  74. package/frontend/build/static/js/main.6725e5ab.js.map +1 -0
  75. package/package.json +19 -15
  76. package/dist/cluster/BooleanStateConfigurationCluster.d.ts +0 -2200
  77. package/dist/cluster/BooleanStateConfigurationCluster.d.ts.map +0 -1
  78. package/dist/cluster/BooleanStateConfigurationCluster.js +0 -388
  79. package/dist/cluster/BooleanStateConfigurationCluster.js.map +0 -1
  80. package/dist/cluster/BridgedDeviceBasicInformationCluster.d.ts +0 -223
  81. package/dist/cluster/BridgedDeviceBasicInformationCluster.d.ts.map +0 -1
  82. package/dist/cluster/BridgedDeviceBasicInformationCluster.js +0 -177
  83. package/dist/cluster/BridgedDeviceBasicInformationCluster.js.map +0 -1
  84. package/dist/cluster/FanControlCluster.d.ts +0 -1583
  85. package/dist/cluster/FanControlCluster.d.ts.map +0 -1
  86. package/dist/cluster/FanControlCluster.js +0 -492
  87. package/dist/cluster/FanControlCluster.js.map +0 -1
  88. package/frontend/build/static/css/main.ee3183e2.css +0 -2
  89. package/frontend/build/static/css/main.ee3183e2.css.map +0 -1
  90. package/frontend/build/static/js/main.4c5271fd.js +0 -3
  91. package/frontend/build/static/js/main.4c5271fd.js.map +0 -1
  92. /package/frontend/build/static/js/{main.4c5271fd.js.LICENSE.txt → main.6725e5ab.js.LICENSE.txt} +0 -0
@@ -1,1583 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2024 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- /** * THIS FILE IS GENERATED, DO NOT EDIT ***/
7
- import { Command, FixedAttribute, MutableCluster, WritableAttribute } from '@project-chip/matter-node.js/cluster';
8
- import { Attribute } from '@project-chip/matter-node.js/cluster';
9
- import { BitFlag } from '@project-chip/matter-node.js/schema';
10
- import { TypeFromSchema } from '@project-chip/matter-node.js/tlv';
11
- import { Identity } from '@project-chip/matter-node.js/util';
12
- export declare namespace FanControl {
13
- /**
14
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.1
15
- */
16
- const Rock: {
17
- /**
18
- * Indicate rock left to right
19
- */
20
- rockLeftRight: BitFlag;
21
- /**
22
- * Indicate rock up and down
23
- */
24
- rockUpDown: BitFlag;
25
- /**
26
- * Indicate rock around
27
- */
28
- rockRound: BitFlag;
29
- };
30
- /**
31
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.2
32
- */
33
- const Wind: {
34
- /**
35
- * Indicate sleep wind
36
- */
37
- sleepWind: BitFlag;
38
- /**
39
- * Indicate natural wind
40
- */
41
- naturalWind: BitFlag;
42
- };
43
- /**
44
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.4
45
- */
46
- enum AirflowDirection {
47
- /**
48
- * Airflow is in the forward direction
49
- */
50
- Forward = 0,
51
- /**
52
- * Airflow is in the reverse direction
53
- */
54
- Reverse = 1
55
- }
56
- /**
57
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.3
58
- */
59
- enum StepDirection {
60
- /**
61
- * Step moves in increasing direction
62
- */
63
- Increase = 0,
64
- /**
65
- * Step moves in decreasing direction
66
- */
67
- Decrease = 1
68
- }
69
- /**
70
- * Input to the FanControl step command
71
- *
72
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1
73
- */
74
- const TlvStepRequest: import("@project-chip/matter-node.js/tlv").ObjectSchema<{
75
- /**
76
- * This field shall indicate whether the fan speed increases or decreases to the next step value.
77
- *
78
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.1
79
- */
80
- direction: import("@project-chip/matter-node.js/tlv").FieldType<StepDirection>;
81
- /**
82
- * This field shall indicate if the fan speed wraps between highest and lowest step value.
83
- *
84
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.2
85
- */
86
- wrap: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
87
- /**
88
- * This field shall indicate that the fan being off (speed value 0) is included as a step value.
89
- *
90
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.3
91
- */
92
- lowestOff: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
93
- }>;
94
- /**
95
- * Input to the FanControl step command
96
- *
97
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1
98
- */
99
- type StepRequest = TypeFromSchema<typeof TlvStepRequest>;
100
- /**
101
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.5
102
- */
103
- enum FanMode {
104
- /**
105
- * Fan is off
106
- */
107
- Off = 0,
108
- /**
109
- * Fan using low speed
110
- *
111
- * If the fan supports 2 or more speeds, the Low value shall be supported.
112
- *
113
- * The Low value shall be supported if and only if the FanModeSequence attribute value is less than 4.
114
- *
115
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.5.1
116
- */
117
- Low = 1,
118
- /**
119
- * Fan using medium speed
120
- *
121
- * If the fan supports 3 or more speeds, the Medium value shall be supported.
122
- *
123
- * The Medium value shall be supported if and only if the FanModeSequence attribute value is 0 or 2.
124
- *
125
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.5.2
126
- */
127
- Medium = 2,
128
- /**
129
- * Fan using high speed
130
- */
131
- High = 3,
132
- On = 4,
133
- /**
134
- * Fan is using auto mode
135
- */
136
- Auto = 5,
137
- /**
138
- * Fan is using smart mode
139
- */
140
- Smart = 6
141
- }
142
- /**
143
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.5.6
144
- */
145
- enum FanModeSequence {
146
- /**
147
- * Fan is capable of off, low, medium and high modes
148
- */
149
- OffLowMedHigh = 0,
150
- /**
151
- * Fan is capable of off, low and high modes
152
- */
153
- OffLowHigh = 1,
154
- /**
155
- * Fan is capable of off, low, medium, high and auto modes
156
- */
157
- OffLowMedHighAuto = 2,
158
- /**
159
- * Fan is capable of off, low, high and auto modes
160
- */
161
- OffLowHighAuto = 3,
162
- /**
163
- * Fan is capable of off, high and auto modes
164
- */
165
- OffHighAuto = 4,
166
- /**
167
- * Fan is capable of off and high modes
168
- */
169
- OffHigh = 5
170
- }
171
- /**
172
- * A FanControlCluster supports these elements if it supports feature MultiSpeed.
173
- */
174
- const MultiSpeedComponent: {
175
- readonly attributes: {
176
- /**
177
- * Indicates that the fan has one speed (value of 1) or the maximum speed, if the fan is capable of
178
- * multiple speeds.
179
- *
180
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.5
181
- */
182
- readonly speedMax: FixedAttribute<number, any>;
183
- /**
184
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
185
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
186
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the SpeedSetting can be
187
- * changed to the requested value.
188
- *
189
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off. Please
190
- * see the Speed Rules for details on other values.
191
- *
192
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.6
193
- */
194
- readonly speedSetting: WritableAttribute<number | null, any>;
195
- /**
196
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
197
- * be a temporary mismatch between the value of this attribute and the value of the SpeedSetting attribute
198
- * due to other system requirements that would not allow the fan to operate at the requested setting.
199
- *
200
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.7
201
- */
202
- readonly speedCurrent: Attribute<number, any>;
203
- };
204
- };
205
- /**
206
- * A FanControlCluster supports these elements if it supports feature Rocking.
207
- */
208
- const RockingComponent: {
209
- readonly attributes: {
210
- /**
211
- * This attribute is a bitmap that indicates what rocking motions the server supports.
212
- *
213
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.8
214
- */
215
- readonly rockSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
216
- /**
217
- * Indicate rock left to right
218
- */
219
- rockLeftRight: BitFlag;
220
- /**
221
- * Indicate rock up and down
222
- */
223
- rockUpDown: BitFlag;
224
- /**
225
- * Indicate rock around
226
- */
227
- rockRound: BitFlag;
228
- }>, any>;
229
- /**
230
- * This attribute is a bitmap that indicates the current active fan rocking motion settings. Each bit shall
231
- * only be set to 1, if the corresponding bit in the RockSupport attribute is set to 1, otherwise a status
232
- * code of CONSTRAINT_ERROR shall be returned.
233
- *
234
- * If a combination of supported bits is set by the client, and the server does not support the
235
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
236
- * bits shall indicate zero.
237
- *
238
- * For example: If RockUpDown and RockRound are both set, but this combination is not possible, then only
239
- * RockUpDown becomes active.
240
- *
241
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.9
242
- */
243
- readonly rockSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
244
- /**
245
- * Indicate rock left to right
246
- */
247
- rockLeftRight: BitFlag;
248
- /**
249
- * Indicate rock up and down
250
- */
251
- rockUpDown: BitFlag;
252
- /**
253
- * Indicate rock around
254
- */
255
- rockRound: BitFlag;
256
- }>, any>;
257
- };
258
- };
259
- /**
260
- * A FanControlCluster supports these elements if it supports feature Wind.
261
- */
262
- const WindComponent: {
263
- readonly attributes: {
264
- /**
265
- * This attribute is a bitmap that indicates what wind modes the server supports. At least one wind mode
266
- * bit shall be set.
267
- *
268
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.10
269
- */
270
- readonly windSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
271
- /**
272
- * Indicate sleep wind
273
- */
274
- sleepWind: BitFlag;
275
- /**
276
- * Indicate natural wind
277
- */
278
- naturalWind: BitFlag;
279
- }>, any>;
280
- /**
281
- * This attribute is a bitmap that indicates the current active fan wind feature settings. Each bit shall
282
- * only be set to 1, if the corresponding bit in the WindSupport attribute is set to 1, otherwise a status
283
- * code of CONSTRAINT_ERROR shall be returned.
284
- *
285
- * If a combination of supported bits is set by the client, and the server does not support the
286
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
287
- * bits shall indicate zero.
288
- *
289
- * For example: If Sleep Wind and Natural Wind are set, but this combination is not possible, then only
290
- * Sleep Wind becomes active.
291
- *
292
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.11
293
- */
294
- readonly windSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
295
- /**
296
- * Indicate sleep wind
297
- */
298
- sleepWind: BitFlag;
299
- /**
300
- * Indicate natural wind
301
- */
302
- naturalWind: BitFlag;
303
- }>, any>;
304
- };
305
- };
306
- /**
307
- * A FanControlCluster supports these elements if it supports feature AirflowDirection.
308
- */
309
- const AirflowDirectionComponent: {
310
- readonly attributes: {
311
- /**
312
- * Indicates the current airflow direction of the fan. This attribute may be written by the client to
313
- * indicate a new airflow direction for the fan. This attribute shall be set to one of the values in the
314
- * AirflowDirectionEnum table.
315
- *
316
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.12
317
- */
318
- readonly airflowDirection: WritableAttribute<AirflowDirection, any>;
319
- };
320
- };
321
- /**
322
- * A FanControlCluster supports these elements if it supports feature Step.
323
- */
324
- const StepComponent: {
325
- readonly commands: {
326
- /**
327
- * This command speeds up or slows down the fan, in steps, without the client having to know the fan speed.
328
- * This command supports, for example, a user operated wall switch, where the user provides the feedback or
329
- * control to stop sending this command when the proper speed is reached. The step speed values are
330
- * implementation specific. How many step speeds are implemented is implementation specific.
331
- *
332
- * This command supports these fields:
333
- *
334
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1
335
- */
336
- readonly step: Command<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
337
- /**
338
- * This field shall indicate whether the fan speed increases or decreases to the next step value.
339
- *
340
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.1
341
- */
342
- direction: import("@project-chip/matter-node.js/tlv").FieldType<StepDirection>;
343
- /**
344
- * This field shall indicate if the fan speed wraps between highest and lowest step value.
345
- *
346
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.2
347
- */
348
- wrap: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
349
- /**
350
- * This field shall indicate that the fan being off (speed value 0) is included as a step value.
351
- *
352
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.3
353
- */
354
- lowestOff: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
355
- }>, void, any>;
356
- };
357
- };
358
- /**
359
- * These are optional features supported by FanControlCluster.
360
- *
361
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4
362
- */
363
- enum Feature {
364
- /**
365
- * MultiSpeed (SPD)
366
- *
367
- * Legacy Fan Control cluster revision 0-1 defined 3 speeds (low, medium and high) plus automatic speed control
368
- * but left it up to the implementer to decide what was supported. Therefore, it is assumed that legacy client
369
- * implementations are capable of determining, from the server, the number of speeds supported between 1, 2, or
370
- * 3, and whether automatic speed control is supported.
371
- *
372
- * The MultiSpeed feature includes new attributes that support a running fan speed value from 0 to SpeedMax,
373
- * which has a maximum of 100.
374
- *
375
- * See Speed Rules for more details.
376
- *
377
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4.1
378
- */
379
- MultiSpeed = "MultiSpeed",
380
- /**
381
- * Auto (AUT)
382
- *
383
- * Automatic mode supported for fan speed
384
- */
385
- Auto = "Auto",
386
- /**
387
- * Rocking (RCK)
388
- *
389
- * Rocking movement supported
390
- */
391
- Rocking = "Rocking",
392
- /**
393
- * Wind (WND)
394
- *
395
- * Wind emulation supported
396
- */
397
- Wind = "Wind",
398
- /**
399
- * Step (STEP)
400
- *
401
- * Step command supported
402
- */
403
- Step = "Step",
404
- /**
405
- * AirflowDirection (DIR)
406
- *
407
- * Airflow Direction attribute is supported
408
- */
409
- AirflowDirection = "AirflowDirection"
410
- }
411
- /**
412
- * These elements and properties are present in all FanControl clusters.
413
- */
414
- const Base: {
415
- readonly id: 514;
416
- readonly name: "FanControl";
417
- readonly revision: 4;
418
- readonly features: {
419
- /**
420
- * MultiSpeed
421
- *
422
- * Legacy Fan Control cluster revision 0-1 defined 3 speeds (low, medium and high) plus automatic speed
423
- * control but left it up to the implementer to decide what was supported. Therefore, it is assumed that
424
- * legacy client implementations are capable of determining, from the server, the number of speeds
425
- * supported between 1, 2, or 3, and whether automatic speed control is supported.
426
- *
427
- * The MultiSpeed feature includes new attributes that support a running fan speed value from 0 to
428
- * SpeedMax, which has a maximum of 100.
429
- *
430
- * See Speed Rules for more details.
431
- *
432
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4.1
433
- */
434
- readonly multiSpeed: BitFlag;
435
- /**
436
- * Auto
437
- *
438
- * Automatic mode supported for fan speed
439
- */
440
- readonly auto: BitFlag;
441
- /**
442
- * Rocking
443
- *
444
- * Rocking movement supported
445
- */
446
- readonly rocking: BitFlag;
447
- /**
448
- * Wind
449
- *
450
- * Wind emulation supported
451
- */
452
- readonly wind: BitFlag;
453
- /**
454
- * Step
455
- *
456
- * Step command supported
457
- */
458
- readonly step: BitFlag;
459
- /**
460
- * AirflowDirection
461
- *
462
- * Airflow Direction attribute is supported
463
- */
464
- readonly airflowDirection: BitFlag;
465
- };
466
- readonly attributes: {
467
- /**
468
- * Indicates the current speed mode of the fan. This attribute may be written by the client to request a
469
- * different fan mode. A server shall return INVALID_IN_STATE to indicate that the fan is not in a state
470
- * where the FanMode can be changed to the requested value. A server may have FanMode values that it can
471
- * never be set to. For example, where this cluster appears on the same or another endpoint as other
472
- * clusters with a system dependency, for example the Thermostat cluster, attempting to set the FanMode
473
- * attribute of this cluster to Off may not be allowed by the system.
474
- *
475
- * This attribute shall be set to one of the values in FanModeEnum.
476
- *
477
- * When the FanMode attribute is successfully written to, the PercentSetting and SpeedSetting (if present)
478
- * attributes shall be set to appropriate values, as defined by the Percent Rules and Speed Rules
479
- * respectively, unless otherwise specified below.
480
- *
481
- * When the FanMode attribute is set to any given mode, the PercentCurrent and SpeedCurrent (if present)
482
- * shall indicate the actual currently operating fan speed, unless otherwise specified below.
483
- *
484
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.1
485
- */
486
- readonly fanMode: WritableAttribute<FanMode, any>;
487
- /**
488
- * This attribute indicates the fan speed ranges that shall be supported.
489
- *
490
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.2
491
- */
492
- readonly fanModeSequence: FixedAttribute<FanModeSequence, any>;
493
- /**
494
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
495
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
496
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the PercentSetting can be
497
- * changed to the requested value.
498
- *
499
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off.
500
- *
501
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.3
502
- */
503
- readonly percentSetting: WritableAttribute<number | null, any>;
504
- /**
505
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
506
- * be a temporary mismatch between the value of this attribute and the value of the PercentSetting
507
- * attribute due to other system requirements that would not allow the fan to operate at the requested
508
- * setting. See Percent Rules for more details.
509
- *
510
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.4
511
- */
512
- readonly percentCurrent: Attribute<number, any>;
513
- };
514
- /**
515
- * This metadata controls which FanControlCluster elements matter.js activates for specific feature
516
- * combinations.
517
- */
518
- readonly extensions: readonly [{
519
- readonly flags: {
520
- readonly multiSpeed: true;
521
- };
522
- readonly component: {
523
- readonly attributes: {
524
- /**
525
- * Indicates that the fan has one speed (value of 1) or the maximum speed, if the fan is capable of
526
- * multiple speeds.
527
- *
528
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.5
529
- */
530
- readonly speedMax: FixedAttribute<number, any>;
531
- /**
532
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
533
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
534
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the SpeedSetting can be
535
- * changed to the requested value.
536
- *
537
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off. Please
538
- * see the Speed Rules for details on other values.
539
- *
540
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.6
541
- */
542
- readonly speedSetting: WritableAttribute<number | null, any>;
543
- /**
544
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
545
- * be a temporary mismatch between the value of this attribute and the value of the SpeedSetting attribute
546
- * due to other system requirements that would not allow the fan to operate at the requested setting.
547
- *
548
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.7
549
- */
550
- readonly speedCurrent: Attribute<number, any>;
551
- };
552
- };
553
- }, {
554
- readonly flags: {
555
- readonly rocking: true;
556
- };
557
- readonly component: {
558
- readonly attributes: {
559
- /**
560
- * This attribute is a bitmap that indicates what rocking motions the server supports.
561
- *
562
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.8
563
- */
564
- readonly rockSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
565
- /**
566
- * Indicate rock left to right
567
- */
568
- rockLeftRight: BitFlag;
569
- /**
570
- * Indicate rock up and down
571
- */
572
- rockUpDown: BitFlag;
573
- /**
574
- * Indicate rock around
575
- */
576
- rockRound: BitFlag;
577
- }>, any>;
578
- /**
579
- * This attribute is a bitmap that indicates the current active fan rocking motion settings. Each bit shall
580
- * only be set to 1, if the corresponding bit in the RockSupport attribute is set to 1, otherwise a status
581
- * code of CONSTRAINT_ERROR shall be returned.
582
- *
583
- * If a combination of supported bits is set by the client, and the server does not support the
584
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
585
- * bits shall indicate zero.
586
- *
587
- * For example: If RockUpDown and RockRound are both set, but this combination is not possible, then only
588
- * RockUpDown becomes active.
589
- *
590
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.9
591
- */
592
- readonly rockSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
593
- /**
594
- * Indicate rock left to right
595
- */
596
- rockLeftRight: BitFlag;
597
- /**
598
- * Indicate rock up and down
599
- */
600
- rockUpDown: BitFlag;
601
- /**
602
- * Indicate rock around
603
- */
604
- rockRound: BitFlag;
605
- }>, any>;
606
- };
607
- };
608
- }, {
609
- readonly flags: {
610
- readonly wind: true;
611
- };
612
- readonly component: {
613
- readonly attributes: {
614
- /**
615
- * This attribute is a bitmap that indicates what wind modes the server supports. At least one wind mode
616
- * bit shall be set.
617
- *
618
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.10
619
- */
620
- readonly windSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
621
- /**
622
- * Indicate sleep wind
623
- */
624
- sleepWind: BitFlag;
625
- /**
626
- * Indicate natural wind
627
- */
628
- naturalWind: BitFlag;
629
- }>, any>;
630
- /**
631
- * This attribute is a bitmap that indicates the current active fan wind feature settings. Each bit shall
632
- * only be set to 1, if the corresponding bit in the WindSupport attribute is set to 1, otherwise a status
633
- * code of CONSTRAINT_ERROR shall be returned.
634
- *
635
- * If a combination of supported bits is set by the client, and the server does not support the
636
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
637
- * bits shall indicate zero.
638
- *
639
- * For example: If Sleep Wind and Natural Wind are set, but this combination is not possible, then only
640
- * Sleep Wind becomes active.
641
- *
642
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.11
643
- */
644
- readonly windSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
645
- /**
646
- * Indicate sleep wind
647
- */
648
- sleepWind: BitFlag;
649
- /**
650
- * Indicate natural wind
651
- */
652
- naturalWind: BitFlag;
653
- }>, any>;
654
- };
655
- };
656
- }, {
657
- readonly flags: {
658
- readonly airflowDirection: true;
659
- };
660
- readonly component: {
661
- readonly attributes: {
662
- /**
663
- * Indicates the current airflow direction of the fan. This attribute may be written by the client to
664
- * indicate a new airflow direction for the fan. This attribute shall be set to one of the values in the
665
- * AirflowDirectionEnum table.
666
- *
667
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.12
668
- */
669
- readonly airflowDirection: WritableAttribute<AirflowDirection, any>;
670
- };
671
- };
672
- }, {
673
- readonly flags: {
674
- readonly step: true;
675
- };
676
- readonly component: {
677
- readonly commands: {
678
- /**
679
- * This command speeds up or slows down the fan, in steps, without the client having to know the fan speed.
680
- * This command supports, for example, a user operated wall switch, where the user provides the feedback or
681
- * control to stop sending this command when the proper speed is reached. The step speed values are
682
- * implementation specific. How many step speeds are implemented is implementation specific.
683
- *
684
- * This command supports these fields:
685
- *
686
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1
687
- */
688
- readonly step: Command<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
689
- /**
690
- * This field shall indicate whether the fan speed increases or decreases to the next step value.
691
- *
692
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.1
693
- */
694
- direction: import("@project-chip/matter-node.js/tlv").FieldType<StepDirection>;
695
- /**
696
- * This field shall indicate if the fan speed wraps between highest and lowest step value.
697
- *
698
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.2
699
- */
700
- wrap: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
701
- /**
702
- * This field shall indicate that the fan being off (speed value 0) is included as a step value.
703
- *
704
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.3
705
- */
706
- lowestOff: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
707
- }>, void, any>;
708
- };
709
- };
710
- }];
711
- };
712
- /**
713
- * @see {@link Cluster}
714
- */
715
- const ClusterInstance: MutableCluster<{
716
- readonly id: 514;
717
- readonly name: "FanControl";
718
- readonly revision: 4;
719
- readonly features: {
720
- /**
721
- * MultiSpeed
722
- *
723
- * Legacy Fan Control cluster revision 0-1 defined 3 speeds (low, medium and high) plus automatic speed
724
- * control but left it up to the implementer to decide what was supported. Therefore, it is assumed that
725
- * legacy client implementations are capable of determining, from the server, the number of speeds
726
- * supported between 1, 2, or 3, and whether automatic speed control is supported.
727
- *
728
- * The MultiSpeed feature includes new attributes that support a running fan speed value from 0 to
729
- * SpeedMax, which has a maximum of 100.
730
- *
731
- * See Speed Rules for more details.
732
- *
733
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4.1
734
- */
735
- readonly multiSpeed: BitFlag;
736
- /**
737
- * Auto
738
- *
739
- * Automatic mode supported for fan speed
740
- */
741
- readonly auto: BitFlag;
742
- /**
743
- * Rocking
744
- *
745
- * Rocking movement supported
746
- */
747
- readonly rocking: BitFlag;
748
- /**
749
- * Wind
750
- *
751
- * Wind emulation supported
752
- */
753
- readonly wind: BitFlag;
754
- /**
755
- * Step
756
- *
757
- * Step command supported
758
- */
759
- readonly step: BitFlag;
760
- /**
761
- * AirflowDirection
762
- *
763
- * Airflow Direction attribute is supported
764
- */
765
- readonly airflowDirection: BitFlag;
766
- };
767
- readonly attributes: {
768
- /**
769
- * Indicates the current speed mode of the fan. This attribute may be written by the client to request a
770
- * different fan mode. A server shall return INVALID_IN_STATE to indicate that the fan is not in a state
771
- * where the FanMode can be changed to the requested value. A server may have FanMode values that it can
772
- * never be set to. For example, where this cluster appears on the same or another endpoint as other
773
- * clusters with a system dependency, for example the Thermostat cluster, attempting to set the FanMode
774
- * attribute of this cluster to Off may not be allowed by the system.
775
- *
776
- * This attribute shall be set to one of the values in FanModeEnum.
777
- *
778
- * When the FanMode attribute is successfully written to, the PercentSetting and SpeedSetting (if present)
779
- * attributes shall be set to appropriate values, as defined by the Percent Rules and Speed Rules
780
- * respectively, unless otherwise specified below.
781
- *
782
- * When the FanMode attribute is set to any given mode, the PercentCurrent and SpeedCurrent (if present)
783
- * shall indicate the actual currently operating fan speed, unless otherwise specified below.
784
- *
785
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.1
786
- */
787
- readonly fanMode: WritableAttribute<FanMode, any>;
788
- /**
789
- * This attribute indicates the fan speed ranges that shall be supported.
790
- *
791
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.2
792
- */
793
- readonly fanModeSequence: FixedAttribute<FanModeSequence, any>;
794
- /**
795
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
796
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
797
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the PercentSetting can be
798
- * changed to the requested value.
799
- *
800
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off.
801
- *
802
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.3
803
- */
804
- readonly percentSetting: WritableAttribute<number | null, any>;
805
- /**
806
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
807
- * be a temporary mismatch between the value of this attribute and the value of the PercentSetting
808
- * attribute due to other system requirements that would not allow the fan to operate at the requested
809
- * setting. See Percent Rules for more details.
810
- *
811
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.4
812
- */
813
- readonly percentCurrent: Attribute<number, any>;
814
- };
815
- /**
816
- * This metadata controls which FanControlCluster elements matter.js activates for specific feature
817
- * combinations.
818
- */
819
- readonly extensions: readonly [{
820
- readonly flags: {
821
- readonly multiSpeed: true;
822
- };
823
- readonly component: {
824
- readonly attributes: {
825
- /**
826
- * Indicates that the fan has one speed (value of 1) or the maximum speed, if the fan is capable of
827
- * multiple speeds.
828
- *
829
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.5
830
- */
831
- readonly speedMax: FixedAttribute<number, any>;
832
- /**
833
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
834
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
835
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the SpeedSetting can be
836
- * changed to the requested value.
837
- *
838
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off. Please
839
- * see the Speed Rules for details on other values.
840
- *
841
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.6
842
- */
843
- readonly speedSetting: WritableAttribute<number | null, any>;
844
- /**
845
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
846
- * be a temporary mismatch between the value of this attribute and the value of the SpeedSetting attribute
847
- * due to other system requirements that would not allow the fan to operate at the requested setting.
848
- *
849
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.7
850
- */
851
- readonly speedCurrent: Attribute<number, any>;
852
- };
853
- };
854
- }, {
855
- readonly flags: {
856
- readonly rocking: true;
857
- };
858
- readonly component: {
859
- readonly attributes: {
860
- /**
861
- * This attribute is a bitmap that indicates what rocking motions the server supports.
862
- *
863
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.8
864
- */
865
- readonly rockSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
866
- /**
867
- * Indicate rock left to right
868
- */
869
- rockLeftRight: BitFlag;
870
- /**
871
- * Indicate rock up and down
872
- */
873
- rockUpDown: BitFlag;
874
- /**
875
- * Indicate rock around
876
- */
877
- rockRound: BitFlag;
878
- }>, any>;
879
- /**
880
- * This attribute is a bitmap that indicates the current active fan rocking motion settings. Each bit shall
881
- * only be set to 1, if the corresponding bit in the RockSupport attribute is set to 1, otherwise a status
882
- * code of CONSTRAINT_ERROR shall be returned.
883
- *
884
- * If a combination of supported bits is set by the client, and the server does not support the
885
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
886
- * bits shall indicate zero.
887
- *
888
- * For example: If RockUpDown and RockRound are both set, but this combination is not possible, then only
889
- * RockUpDown becomes active.
890
- *
891
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.9
892
- */
893
- readonly rockSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
894
- /**
895
- * Indicate rock left to right
896
- */
897
- rockLeftRight: BitFlag;
898
- /**
899
- * Indicate rock up and down
900
- */
901
- rockUpDown: BitFlag;
902
- /**
903
- * Indicate rock around
904
- */
905
- rockRound: BitFlag;
906
- }>, any>;
907
- };
908
- };
909
- }, {
910
- readonly flags: {
911
- readonly wind: true;
912
- };
913
- readonly component: {
914
- readonly attributes: {
915
- /**
916
- * This attribute is a bitmap that indicates what wind modes the server supports. At least one wind mode
917
- * bit shall be set.
918
- *
919
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.10
920
- */
921
- readonly windSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
922
- /**
923
- * Indicate sleep wind
924
- */
925
- sleepWind: BitFlag;
926
- /**
927
- * Indicate natural wind
928
- */
929
- naturalWind: BitFlag;
930
- }>, any>;
931
- /**
932
- * This attribute is a bitmap that indicates the current active fan wind feature settings. Each bit shall
933
- * only be set to 1, if the corresponding bit in the WindSupport attribute is set to 1, otherwise a status
934
- * code of CONSTRAINT_ERROR shall be returned.
935
- *
936
- * If a combination of supported bits is set by the client, and the server does not support the
937
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
938
- * bits shall indicate zero.
939
- *
940
- * For example: If Sleep Wind and Natural Wind are set, but this combination is not possible, then only
941
- * Sleep Wind becomes active.
942
- *
943
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.11
944
- */
945
- readonly windSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
946
- /**
947
- * Indicate sleep wind
948
- */
949
- sleepWind: BitFlag;
950
- /**
951
- * Indicate natural wind
952
- */
953
- naturalWind: BitFlag;
954
- }>, any>;
955
- };
956
- };
957
- }, {
958
- readonly flags: {
959
- readonly airflowDirection: true;
960
- };
961
- readonly component: {
962
- readonly attributes: {
963
- /**
964
- * Indicates the current airflow direction of the fan. This attribute may be written by the client to
965
- * indicate a new airflow direction for the fan. This attribute shall be set to one of the values in the
966
- * AirflowDirectionEnum table.
967
- *
968
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.12
969
- */
970
- readonly airflowDirection: WritableAttribute<AirflowDirection, any>;
971
- };
972
- };
973
- }, {
974
- readonly flags: {
975
- readonly step: true;
976
- };
977
- readonly component: {
978
- readonly commands: {
979
- /**
980
- * This command speeds up or slows down the fan, in steps, without the client having to know the fan speed.
981
- * This command supports, for example, a user operated wall switch, where the user provides the feedback or
982
- * control to stop sending this command when the proper speed is reached. The step speed values are
983
- * implementation specific. How many step speeds are implemented is implementation specific.
984
- *
985
- * This command supports these fields:
986
- *
987
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1
988
- */
989
- readonly step: Command<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
990
- /**
991
- * This field shall indicate whether the fan speed increases or decreases to the next step value.
992
- *
993
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.1
994
- */
995
- direction: import("@project-chip/matter-node.js/tlv").FieldType<StepDirection>;
996
- /**
997
- * This field shall indicate if the fan speed wraps between highest and lowest step value.
998
- *
999
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.2
1000
- */
1001
- wrap: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
1002
- /**
1003
- * This field shall indicate that the fan being off (speed value 0) is included as a step value.
1004
- *
1005
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.3
1006
- */
1007
- lowestOff: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
1008
- }>, void, any>;
1009
- };
1010
- };
1011
- }];
1012
- }>;
1013
- /**
1014
- * This cluster specifies an interface to control the speed of a fan.
1015
- *
1016
- * FanControlCluster supports optional features that you can enable with the FanControlCluster.with() factory
1017
- * method.
1018
- *
1019
- * @see {@link MatterSpecification.v13.Cluster} § 4.4
1020
- */
1021
- type Cluster = Identity<typeof ClusterInstance>;
1022
- const Cluster: Cluster;
1023
- /**
1024
- * @see {@link Complete}
1025
- */
1026
- const CompleteInstance: MutableCluster<{
1027
- readonly id: import("@project-chip/matter-node.js/util").Branded<514, "ClusterId">;
1028
- readonly name: "FanControl";
1029
- readonly revision: 4;
1030
- readonly features: {
1031
- /**
1032
- * MultiSpeed
1033
- *
1034
- * Legacy Fan Control cluster revision 0-1 defined 3 speeds (low, medium and high) plus automatic speed
1035
- * control but left it up to the implementer to decide what was supported. Therefore, it is assumed that
1036
- * legacy client implementations are capable of determining, from the server, the number of speeds
1037
- * supported between 1, 2, or 3, and whether automatic speed control is supported.
1038
- *
1039
- * The MultiSpeed feature includes new attributes that support a running fan speed value from 0 to
1040
- * SpeedMax, which has a maximum of 100.
1041
- *
1042
- * See Speed Rules for more details.
1043
- *
1044
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4.1
1045
- */
1046
- readonly multiSpeed: BitFlag;
1047
- /**
1048
- * Auto
1049
- *
1050
- * Automatic mode supported for fan speed
1051
- */
1052
- readonly auto: BitFlag;
1053
- /**
1054
- * Rocking
1055
- *
1056
- * Rocking movement supported
1057
- */
1058
- readonly rocking: BitFlag;
1059
- /**
1060
- * Wind
1061
- *
1062
- * Wind emulation supported
1063
- */
1064
- readonly wind: BitFlag;
1065
- /**
1066
- * Step
1067
- *
1068
- * Step command supported
1069
- */
1070
- readonly step: BitFlag;
1071
- /**
1072
- * AirflowDirection
1073
- *
1074
- * Airflow Direction attribute is supported
1075
- */
1076
- readonly airflowDirection: BitFlag;
1077
- };
1078
- readonly attributes: {
1079
- readonly speedMax: FixedAttribute<number, any> & {
1080
- readonly optional: true;
1081
- readonly isConditional: true;
1082
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1083
- readonly mandatoryIf: [] | [{
1084
- multiSpeed: boolean;
1085
- }];
1086
- };
1087
- readonly speedSetting: WritableAttribute<number | null, any> & {
1088
- readonly optional: true;
1089
- readonly isConditional: true;
1090
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1091
- readonly mandatoryIf: [] | [{
1092
- multiSpeed: boolean;
1093
- }];
1094
- };
1095
- readonly speedCurrent: Attribute<number, any> & {
1096
- readonly optional: true;
1097
- readonly isConditional: true;
1098
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1099
- readonly mandatoryIf: [] | [{
1100
- multiSpeed: boolean;
1101
- }];
1102
- };
1103
- readonly rockSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1104
- /**
1105
- * Indicate rock left to right
1106
- */
1107
- rockLeftRight: BitFlag;
1108
- /**
1109
- * Indicate rock up and down
1110
- */
1111
- rockUpDown: BitFlag;
1112
- /**
1113
- * Indicate rock around
1114
- */
1115
- rockRound: BitFlag;
1116
- }>, any> & {
1117
- readonly optional: true;
1118
- readonly isConditional: true;
1119
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1120
- readonly mandatoryIf: [] | [{
1121
- rocking: boolean;
1122
- }];
1123
- };
1124
- readonly rockSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1125
- /**
1126
- * Indicate rock left to right
1127
- */
1128
- rockLeftRight: BitFlag;
1129
- /**
1130
- * Indicate rock up and down
1131
- */
1132
- rockUpDown: BitFlag;
1133
- /**
1134
- * Indicate rock around
1135
- */
1136
- rockRound: BitFlag;
1137
- }>, any> & {
1138
- readonly optional: true;
1139
- readonly isConditional: true;
1140
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1141
- readonly mandatoryIf: [] | [{
1142
- rocking: boolean;
1143
- }];
1144
- };
1145
- readonly windSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1146
- /**
1147
- * Indicate sleep wind
1148
- */
1149
- sleepWind: BitFlag;
1150
- /**
1151
- * Indicate natural wind
1152
- */
1153
- naturalWind: BitFlag;
1154
- }>, any> & {
1155
- readonly optional: true;
1156
- readonly isConditional: true;
1157
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1158
- readonly mandatoryIf: [] | [{
1159
- wind: boolean;
1160
- }];
1161
- };
1162
- readonly windSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1163
- /**
1164
- * Indicate sleep wind
1165
- */
1166
- sleepWind: BitFlag;
1167
- /**
1168
- * Indicate natural wind
1169
- */
1170
- naturalWind: BitFlag;
1171
- }>, any> & {
1172
- readonly optional: true;
1173
- readonly isConditional: true;
1174
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1175
- readonly mandatoryIf: [] | [{
1176
- wind: boolean;
1177
- }];
1178
- };
1179
- readonly airflowDirection: WritableAttribute<AirflowDirection, any> & {
1180
- readonly optional: true;
1181
- readonly isConditional: true;
1182
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1183
- readonly mandatoryIf: [] | [{
1184
- airflowDirection: boolean;
1185
- }];
1186
- };
1187
- readonly fanMode: WritableAttribute<FanMode, any>;
1188
- readonly fanModeSequence: FixedAttribute<FanModeSequence, any>;
1189
- readonly percentSetting: WritableAttribute<number | null, any>;
1190
- readonly percentCurrent: Attribute<number, any>;
1191
- readonly clusterRevision: Attribute<number, never>;
1192
- readonly featureMap: Attribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1193
- /**
1194
- * MultiSpeed
1195
- *
1196
- * Legacy Fan Control cluster revision 0-1 defined 3 speeds (low, medium and high) plus automatic speed
1197
- * control but left it up to the implementer to decide what was supported. Therefore, it is assumed that
1198
- * legacy client implementations are capable of determining, from the server, the number of speeds
1199
- * supported between 1, 2, or 3, and whether automatic speed control is supported.
1200
- *
1201
- * The MultiSpeed feature includes new attributes that support a running fan speed value from 0 to
1202
- * SpeedMax, which has a maximum of 100.
1203
- *
1204
- * See Speed Rules for more details.
1205
- *
1206
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4.1
1207
- */
1208
- readonly multiSpeed: BitFlag;
1209
- /**
1210
- * Auto
1211
- *
1212
- * Automatic mode supported for fan speed
1213
- */
1214
- readonly auto: BitFlag;
1215
- /**
1216
- * Rocking
1217
- *
1218
- * Rocking movement supported
1219
- */
1220
- readonly rocking: BitFlag;
1221
- /**
1222
- * Wind
1223
- *
1224
- * Wind emulation supported
1225
- */
1226
- readonly wind: BitFlag;
1227
- /**
1228
- * Step
1229
- *
1230
- * Step command supported
1231
- */
1232
- readonly step: BitFlag;
1233
- /**
1234
- * AirflowDirection
1235
- *
1236
- * Airflow Direction attribute is supported
1237
- */
1238
- readonly airflowDirection: BitFlag;
1239
- }>, never>;
1240
- readonly attributeList: Attribute<import("@project-chip/matter.js/datatype").AttributeId[], never>;
1241
- readonly eventList: Attribute<import("@project-chip/matter.js/datatype").EventId[], never>;
1242
- readonly acceptedCommandList: Attribute<import("@project-chip/matter.js/datatype").CommandId[], never>;
1243
- readonly generatedCommandList: Attribute<import("@project-chip/matter.js/datatype").CommandId[], never>;
1244
- };
1245
- readonly commands: {
1246
- readonly step: Command<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
1247
- /**
1248
- * This field shall indicate whether the fan speed increases or decreases to the next step value.
1249
- *
1250
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.1
1251
- */
1252
- direction: import("@project-chip/matter-node.js/tlv").FieldType<StepDirection>;
1253
- /**
1254
- * This field shall indicate if the fan speed wraps between highest and lowest step value.
1255
- *
1256
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.2
1257
- */
1258
- wrap: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
1259
- /**
1260
- * This field shall indicate that the fan being off (speed value 0) is included as a step value.
1261
- *
1262
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.3
1263
- */
1264
- lowestOff: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
1265
- }>, void, any> & {
1266
- readonly optional: true;
1267
- readonly isConditional: true;
1268
- readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter-node.js/schema").BitSchema> | [];
1269
- readonly mandatoryIf: [] | [{
1270
- step: boolean;
1271
- }];
1272
- };
1273
- };
1274
- }>;
1275
- /**
1276
- * This cluster supports all FanControl features. It may support illegal feature combinations.
1277
- *
1278
- * If you use this cluster you must manually specify which features are active and ensure the set of active
1279
- * features is legal per the Matter specification.
1280
- */
1281
- type Complete = Identity<typeof CompleteInstance>;
1282
- const Complete: Complete;
1283
- }
1284
- export type FanControlCluster = FanControl.Cluster;
1285
- export declare const FanControlCluster: MutableCluster<{
1286
- readonly id: 514;
1287
- readonly name: "FanControl";
1288
- readonly revision: 4;
1289
- readonly features: {
1290
- /**
1291
- * MultiSpeed
1292
- *
1293
- * Legacy Fan Control cluster revision 0-1 defined 3 speeds (low, medium and high) plus automatic speed
1294
- * control but left it up to the implementer to decide what was supported. Therefore, it is assumed that
1295
- * legacy client implementations are capable of determining, from the server, the number of speeds
1296
- * supported between 1, 2, or 3, and whether automatic speed control is supported.
1297
- *
1298
- * The MultiSpeed feature includes new attributes that support a running fan speed value from 0 to
1299
- * SpeedMax, which has a maximum of 100.
1300
- *
1301
- * See Speed Rules for more details.
1302
- *
1303
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.4.1
1304
- */
1305
- readonly multiSpeed: BitFlag;
1306
- /**
1307
- * Auto
1308
- *
1309
- * Automatic mode supported for fan speed
1310
- */
1311
- readonly auto: BitFlag;
1312
- /**
1313
- * Rocking
1314
- *
1315
- * Rocking movement supported
1316
- */
1317
- readonly rocking: BitFlag;
1318
- /**
1319
- * Wind
1320
- *
1321
- * Wind emulation supported
1322
- */
1323
- readonly wind: BitFlag;
1324
- /**
1325
- * Step
1326
- *
1327
- * Step command supported
1328
- */
1329
- readonly step: BitFlag;
1330
- /**
1331
- * AirflowDirection
1332
- *
1333
- * Airflow Direction attribute is supported
1334
- */
1335
- readonly airflowDirection: BitFlag;
1336
- };
1337
- readonly attributes: {
1338
- /**
1339
- * Indicates the current speed mode of the fan. This attribute may be written by the client to request a
1340
- * different fan mode. A server shall return INVALID_IN_STATE to indicate that the fan is not in a state
1341
- * where the FanMode can be changed to the requested value. A server may have FanMode values that it can
1342
- * never be set to. For example, where this cluster appears on the same or another endpoint as other
1343
- * clusters with a system dependency, for example the Thermostat cluster, attempting to set the FanMode
1344
- * attribute of this cluster to Off may not be allowed by the system.
1345
- *
1346
- * This attribute shall be set to one of the values in FanModeEnum.
1347
- *
1348
- * When the FanMode attribute is successfully written to, the PercentSetting and SpeedSetting (if present)
1349
- * attributes shall be set to appropriate values, as defined by the Percent Rules and Speed Rules
1350
- * respectively, unless otherwise specified below.
1351
- *
1352
- * When the FanMode attribute is set to any given mode, the PercentCurrent and SpeedCurrent (if present)
1353
- * shall indicate the actual currently operating fan speed, unless otherwise specified below.
1354
- *
1355
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.1
1356
- */
1357
- readonly fanMode: WritableAttribute<FanControl.FanMode, any>;
1358
- /**
1359
- * This attribute indicates the fan speed ranges that shall be supported.
1360
- *
1361
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.2
1362
- */
1363
- readonly fanModeSequence: FixedAttribute<FanControl.FanModeSequence, any>;
1364
- /**
1365
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
1366
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
1367
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the PercentSetting can be
1368
- * changed to the requested value.
1369
- *
1370
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off.
1371
- *
1372
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.3
1373
- */
1374
- readonly percentSetting: WritableAttribute<number | null, any>;
1375
- /**
1376
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
1377
- * be a temporary mismatch between the value of this attribute and the value of the PercentSetting
1378
- * attribute due to other system requirements that would not allow the fan to operate at the requested
1379
- * setting. See Percent Rules for more details.
1380
- *
1381
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.4
1382
- */
1383
- readonly percentCurrent: Attribute<number, any>;
1384
- };
1385
- /**
1386
- * This metadata controls which FanControlCluster elements matter.js activates for specific feature
1387
- * combinations.
1388
- */
1389
- readonly extensions: readonly [{
1390
- readonly flags: {
1391
- readonly multiSpeed: true;
1392
- };
1393
- readonly component: {
1394
- readonly attributes: {
1395
- /**
1396
- * Indicates that the fan has one speed (value of 1) or the maximum speed, if the fan is capable of
1397
- * multiple speeds.
1398
- *
1399
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.5
1400
- */
1401
- readonly speedMax: FixedAttribute<number, any>;
1402
- /**
1403
- * Indicates the speed setting for the fan. This attribute may be written by the client to indicate a new
1404
- * fan speed. If the client writes null to this attribute, the attribute value shall NOT change. A server
1405
- * shall return INVALID_IN_STATE to indicate that the fan is not in a state where the SpeedSetting can be
1406
- * changed to the requested value.
1407
- *
1408
- * If this is successfully written to 0, the server shall set the FanMode attribute value to Off. Please
1409
- * see the Speed Rules for details on other values.
1410
- *
1411
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.6
1412
- */
1413
- readonly speedSetting: WritableAttribute<number | null, any>;
1414
- /**
1415
- * Indicates the actual currently operating fan speed, or zero to indicate that the fan is off. There may
1416
- * be a temporary mismatch between the value of this attribute and the value of the SpeedSetting attribute
1417
- * due to other system requirements that would not allow the fan to operate at the requested setting.
1418
- *
1419
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.7
1420
- */
1421
- readonly speedCurrent: Attribute<number, any>;
1422
- };
1423
- };
1424
- }, {
1425
- readonly flags: {
1426
- readonly rocking: true;
1427
- };
1428
- readonly component: {
1429
- readonly attributes: {
1430
- /**
1431
- * This attribute is a bitmap that indicates what rocking motions the server supports.
1432
- *
1433
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.8
1434
- */
1435
- readonly rockSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1436
- /**
1437
- * Indicate rock left to right
1438
- */
1439
- rockLeftRight: BitFlag;
1440
- /**
1441
- * Indicate rock up and down
1442
- */
1443
- rockUpDown: BitFlag;
1444
- /**
1445
- * Indicate rock around
1446
- */
1447
- rockRound: BitFlag;
1448
- }>, any>;
1449
- /**
1450
- * This attribute is a bitmap that indicates the current active fan rocking motion settings. Each bit shall
1451
- * only be set to 1, if the corresponding bit in the RockSupport attribute is set to 1, otherwise a status
1452
- * code of CONSTRAINT_ERROR shall be returned.
1453
- *
1454
- * If a combination of supported bits is set by the client, and the server does not support the
1455
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
1456
- * bits shall indicate zero.
1457
- *
1458
- * For example: If RockUpDown and RockRound are both set, but this combination is not possible, then only
1459
- * RockUpDown becomes active.
1460
- *
1461
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.9
1462
- */
1463
- readonly rockSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1464
- /**
1465
- * Indicate rock left to right
1466
- */
1467
- rockLeftRight: BitFlag;
1468
- /**
1469
- * Indicate rock up and down
1470
- */
1471
- rockUpDown: BitFlag;
1472
- /**
1473
- * Indicate rock around
1474
- */
1475
- rockRound: BitFlag;
1476
- }>, any>;
1477
- };
1478
- };
1479
- }, {
1480
- readonly flags: {
1481
- readonly wind: true;
1482
- };
1483
- readonly component: {
1484
- readonly attributes: {
1485
- /**
1486
- * This attribute is a bitmap that indicates what wind modes the server supports. At least one wind mode
1487
- * bit shall be set.
1488
- *
1489
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.10
1490
- */
1491
- readonly windSupport: FixedAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1492
- /**
1493
- * Indicate sleep wind
1494
- */
1495
- sleepWind: BitFlag;
1496
- /**
1497
- * Indicate natural wind
1498
- */
1499
- naturalWind: BitFlag;
1500
- }>, any>;
1501
- /**
1502
- * This attribute is a bitmap that indicates the current active fan wind feature settings. Each bit shall
1503
- * only be set to 1, if the corresponding bit in the WindSupport attribute is set to 1, otherwise a status
1504
- * code of CONSTRAINT_ERROR shall be returned.
1505
- *
1506
- * If a combination of supported bits is set by the client, and the server does not support the
1507
- * combination, the lowest supported single bit in the combination shall be set and active, and all other
1508
- * bits shall indicate zero.
1509
- *
1510
- * For example: If Sleep Wind and Natural Wind are set, but this combination is not possible, then only
1511
- * Sleep Wind becomes active.
1512
- *
1513
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.11
1514
- */
1515
- readonly windSetting: WritableAttribute<import("@project-chip/matter-node.js/schema").TypeFromPartialBitSchema<{
1516
- /**
1517
- * Indicate sleep wind
1518
- */
1519
- sleepWind: BitFlag;
1520
- /**
1521
- * Indicate natural wind
1522
- */
1523
- naturalWind: BitFlag;
1524
- }>, any>;
1525
- };
1526
- };
1527
- }, {
1528
- readonly flags: {
1529
- readonly airflowDirection: true;
1530
- };
1531
- readonly component: {
1532
- readonly attributes: {
1533
- /**
1534
- * Indicates the current airflow direction of the fan. This attribute may be written by the client to
1535
- * indicate a new airflow direction for the fan. This attribute shall be set to one of the values in the
1536
- * AirflowDirectionEnum table.
1537
- *
1538
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.6.12
1539
- */
1540
- readonly airflowDirection: WritableAttribute<FanControl.AirflowDirection, any>;
1541
- };
1542
- };
1543
- }, {
1544
- readonly flags: {
1545
- readonly step: true;
1546
- };
1547
- readonly component: {
1548
- readonly commands: {
1549
- /**
1550
- * This command speeds up or slows down the fan, in steps, without the client having to know the fan speed.
1551
- * This command supports, for example, a user operated wall switch, where the user provides the feedback or
1552
- * control to stop sending this command when the proper speed is reached. The step speed values are
1553
- * implementation specific. How many step speeds are implemented is implementation specific.
1554
- *
1555
- * This command supports these fields:
1556
- *
1557
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1
1558
- */
1559
- readonly step: Command<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
1560
- /**
1561
- * This field shall indicate whether the fan speed increases or decreases to the next step value.
1562
- *
1563
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.1
1564
- */
1565
- direction: import("@project-chip/matter-node.js/tlv").FieldType<FanControl.StepDirection>;
1566
- /**
1567
- * This field shall indicate if the fan speed wraps between highest and lowest step value.
1568
- *
1569
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.2
1570
- */
1571
- wrap: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
1572
- /**
1573
- * This field shall indicate that the fan being off (speed value 0) is included as a step value.
1574
- *
1575
- * @see {@link MatterSpecification.v13.Cluster} § 4.4.7.1.3
1576
- */
1577
- lowestOff: import("@project-chip/matter-node.js/tlv").OptionalFieldType<boolean>;
1578
- }>, void, any>;
1579
- };
1580
- };
1581
- }];
1582
- }>;
1583
- //# sourceMappingURL=FanControlCluster.d.ts.map