matterbridge 1.3.1 → 1.3.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 (68) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/CODEOWNERS +1 -0
  3. package/README.md +27 -11
  4. package/dist/cluster/CarbonDioxideConcentrationMeasurementCluster.d.ts +396 -0
  5. package/dist/cluster/CarbonDioxideConcentrationMeasurementCluster.d.ts.map +1 -0
  6. package/dist/cluster/CarbonDioxideConcentrationMeasurementCluster.js +30 -0
  7. package/dist/cluster/CarbonDioxideConcentrationMeasurementCluster.js.map +1 -0
  8. package/dist/cluster/FormaldehydeConcentrationMeasurementCluster.d.ts +396 -0
  9. package/dist/cluster/FormaldehydeConcentrationMeasurementCluster.d.ts.map +1 -0
  10. package/dist/cluster/FormaldehydeConcentrationMeasurementCluster.js +30 -0
  11. package/dist/cluster/FormaldehydeConcentrationMeasurementCluster.js.map +1 -0
  12. package/dist/cluster/NitrogenDioxideConcentrationMeasurementCluster.d.ts +396 -0
  13. package/dist/cluster/NitrogenDioxideConcentrationMeasurementCluster.d.ts.map +1 -0
  14. package/dist/cluster/NitrogenDioxideConcentrationMeasurementCluster.js +34 -0
  15. package/dist/cluster/NitrogenDioxideConcentrationMeasurementCluster.js.map +1 -0
  16. package/dist/cluster/OzoneConcentrationMeasurementCluster.d.ts +395 -0
  17. package/dist/cluster/OzoneConcentrationMeasurementCluster.d.ts.map +1 -0
  18. package/dist/cluster/OzoneConcentrationMeasurementCluster.js +29 -0
  19. package/dist/cluster/OzoneConcentrationMeasurementCluster.js.map +1 -0
  20. package/dist/cluster/Pm10ConcentrationMeasurementCluster.d.ts +395 -0
  21. package/dist/cluster/Pm10ConcentrationMeasurementCluster.d.ts.map +1 -0
  22. package/dist/cluster/Pm10ConcentrationMeasurementCluster.js +29 -0
  23. package/dist/cluster/Pm10ConcentrationMeasurementCluster.js.map +1 -0
  24. package/dist/cluster/Pm1ConcentrationMeasurementCluster.d.ts +395 -0
  25. package/dist/cluster/Pm1ConcentrationMeasurementCluster.d.ts.map +1 -0
  26. package/dist/cluster/Pm1ConcentrationMeasurementCluster.js +29 -0
  27. package/dist/cluster/Pm1ConcentrationMeasurementCluster.js.map +1 -0
  28. package/dist/cluster/Pm25ConcentrationMeasurementCluster.d.ts +395 -0
  29. package/dist/cluster/Pm25ConcentrationMeasurementCluster.d.ts.map +1 -0
  30. package/dist/cluster/Pm25ConcentrationMeasurementCluster.js +29 -0
  31. package/dist/cluster/Pm25ConcentrationMeasurementCluster.js.map +1 -0
  32. package/dist/cluster/PowerTopologyCluster.d.ts +0 -10
  33. package/dist/cluster/PowerTopologyCluster.d.ts.map +1 -1
  34. package/dist/cluster/RadonConcentrationMeasurementCluster.d.ts +395 -0
  35. package/dist/cluster/RadonConcentrationMeasurementCluster.d.ts.map +1 -0
  36. package/dist/cluster/RadonConcentrationMeasurementCluster.js +29 -0
  37. package/dist/cluster/RadonConcentrationMeasurementCluster.js.map +1 -0
  38. package/dist/cluster/SmokeCoAlarmCluster.d.ts +0 -24
  39. package/dist/cluster/SmokeCoAlarmCluster.d.ts.map +1 -1
  40. package/dist/defaultConfigSchema.d.ts +4 -7
  41. package/dist/defaultConfigSchema.d.ts.map +1 -1
  42. package/dist/defaultConfigSchema.js +13 -254
  43. package/dist/defaultConfigSchema.js.map +1 -1
  44. package/dist/index.d.ts +19 -3
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +21 -4
  47. package/dist/index.js.map +1 -1
  48. package/dist/matterbridge.d.ts +3 -24
  49. package/dist/matterbridge.d.ts.map +1 -1
  50. package/dist/matterbridge.js +76 -98
  51. package/dist/matterbridge.js.map +1 -1
  52. package/dist/matterbridgeAccessoryPlatform.d.ts +2 -2
  53. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
  54. package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
  55. package/dist/matterbridgeDevice.d.ts +449 -18
  56. package/dist/matterbridgeDevice.d.ts.map +1 -1
  57. package/dist/matterbridgeDevice.js +269 -8
  58. package/dist/matterbridgeDevice.js.map +1 -1
  59. package/dist/matterbridgeDynamicPlatform.d.ts +2 -2
  60. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
  61. package/dist/matterbridgeDynamicPlatform.js.map +1 -1
  62. package/dist/matterbridgePlatform.d.ts +11 -7
  63. package/dist/matterbridgePlatform.d.ts.map +1 -1
  64. package/dist/matterbridgePlatform.js.map +1 -1
  65. package/dist/matterbridgeV8.d.ts +0 -1
  66. package/dist/matterbridgeV8.d.ts.map +1 -1
  67. package/migrationV8.txt +61 -0
  68. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -2,6 +2,55 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.3.3] - 2024-06-22
6
+
7
+ ### Changed
8
+ - [matterbridge]: Updated dependencies
9
+ - [matterbridge]: When a plugin is in an error state, the bridge does not start to avoid causing the controllers to delete the registered devices and lose the configuration (e.g. room and automations).
10
+
11
+ <a href="https://www.buymeacoffee.com/luligugithub">
12
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
13
+ </a>
14
+
15
+ ## [1.3.2] - 2024-06-22
16
+
17
+ New plugin
18
+
19
+ [shelly](https://github.com/Luligu/matterbridge-shelly)
20
+
21
+ Matterbridge shelly allows you to expose Shelly Gen 1, Gen 2, and Gen 3 devices to Matter.
22
+
23
+ Features:
24
+
25
+ - Shellies are automatically discovered using mDNS.
26
+ - Discovered shellies are stored in local storage for quick loading on startup.
27
+ - In this first release, the components exposed are lights (with brightness), switches, rollers and power meters (with EveHistory electrical measurements).
28
+ - Shellies are controlled locally, eliminating the need for cloud or MQTT (which can be disabled).
29
+ - Shelly Gen 1 devices are controlled using the CoIoT protocol (see the note below).
30
+ - Shelly Gen 2 and Gen 3 devices are controlled using WebSocket.
31
+ - The Matter device takes the name configured in the Shelly device's web page.
32
+ - A 10-minute timer checks if the device has reported in that time.
33
+
34
+ ### Added
35
+ - [matterbridgeDevice]: Added all clusters for airQualitySensor:
36
+ CarbonMonoxideConcentrationMeasurement,
37
+ CarbonDioxideConcentrationMeasurement,
38
+ NitrogenDioxideConcentrationMeasurement,
39
+ OzoneConcentrationMeasurement,
40
+ FormaldehydeConcentrationMeasurement,
41
+ Pm1ConcentrationMeasurement,
42
+ Pm25ConcentrationMeasurement,
43
+ Pm10ConcentrationMeasurement,
44
+ RadonConcentrationMeasurement,
45
+
46
+ ### Changed
47
+ - [matterbridge]: Updated dependencies
48
+ - [matter.js]: Updated matter.js to 0.9.2
49
+
50
+ <a href="https://www.buymeacoffee.com/luligugithub">
51
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
52
+ </a>
53
+
5
54
  ## [1.3.1] - 2024-06-20
6
55
 
7
56
  ### Changed
package/CODEOWNERS ADDED
@@ -0,0 +1 @@
1
+ @Luligu
package/README.md CHANGED
@@ -113,6 +113,33 @@ Config editor:
113
113
 
114
114
  ## Plugins
115
115
 
116
+ ### Production-level plugins
117
+
118
+ [zigbee2mqtt](https://github.com/Luligu/matterbridge-zigbee2mqtt)
119
+
120
+ Matterbridge zigbee2mqtt is a matterbridge production-level plugin that expose all zigbee2mqtt devices and groups to Matter.
121
+
122
+ No hub or dedicated hardware needed.
123
+
124
+ [somy-tahoma](https://github.com/Luligu/matterbridge-somfy-tahoma)
125
+
126
+ Matterbridge Somfy Tahoma is a matterbridge production-level plugin that expose all Somfy Tahoma devices to Matter.
127
+
128
+ [shelly](https://github.com/Luligu/matterbridge-shelly)
129
+
130
+ Matterbridge shelly allows you to expose Shelly Gen 1, Gen 2, and Gen 3 devices to Matter.
131
+
132
+ Features:
133
+
134
+ - Shellies are automatically discovered using mDNS.
135
+ - Discovered shellies are stored in local storage for quick loading on startup.
136
+ - In this first release, the components exposed are lights (with brightness), switches, rollers and meters.
137
+ - Shellies are controlled locally, eliminating the need for cloud or MQTT (which can be disabled).
138
+ - Shelly Gen 1 devices are controlled using the CoIoT protocol (see the note below).
139
+ - Shelly Gen 2 and Gen 3 devices are controlled using WebSocket.
140
+ - The Matter device takes the name configured in the Shelly device's web page.
141
+ - A 10-minute timer checks if the device has reported in that time.
142
+
116
143
  ### Accessory platform example
117
144
 
118
145
  This an example of an accessory platform plugin.
@@ -153,17 +180,6 @@ The history works in both bridge and childbridge mode.
153
180
 
154
181
  The Eve app only shows the history when the plugins run like an AccessoryPlatform in childbridge mode (this means the plugin is paired directly).
155
182
 
156
- ### Production-level plugins
157
-
158
- [zigbee2mqtt](https://github.com/Luligu/matterbridge-zigbee2mqtt)
159
-
160
- Matterbridge zigbee2mqtt is a matterbridge production-level plugin that expose all zigbee2mqtt devices and groups to Matter.
161
-
162
- No hub or dedicated hardware needed.
163
-
164
- [somy-tahoma](https://github.com/Luligu/matterbridge-somfy-tahoma)
165
-
166
- Matterbridge Somfy Tahoma is a matterbridge production-level plugin that expose all Somfy Tahoma devices to Matter.
167
183
 
168
184
  ## How to install and register a production-level plugin (from npm)
169
185
 
@@ -0,0 +1,396 @@
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 { MutableCluster } from '@project-chip/matter-node.js/cluster';
8
+ import { Identity } from '@project-chip/matter-node.js/util';
9
+ import { ConcentrationMeasurement } from './ConcentrationMeasurementCluster.js';
10
+ export declare namespace CarbonDioxideConcentrationMeasurement {
11
+ const Base: {
12
+ id: number;
13
+ name: string;
14
+ features: {
15
+ readonly numericMeasurement: import("@project-chip/matter.js/schema").BitFlag;
16
+ readonly levelIndication: import("@project-chip/matter.js/schema").BitFlag;
17
+ readonly mediumLevel: import("@project-chip/matter.js/schema").BitFlag;
18
+ readonly criticalLevel: import("@project-chip/matter.js/schema").BitFlag;
19
+ readonly peakMeasurement: import("@project-chip/matter.js/schema").BitFlag;
20
+ readonly averageMeasurement: import("@project-chip/matter.js/schema").BitFlag;
21
+ };
22
+ revision: 3;
23
+ attributes: {
24
+ readonly measurementMedium: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementMedium, any>;
25
+ };
26
+ extensions: readonly [{
27
+ readonly flags: {
28
+ readonly numericMeasurement: true;
29
+ };
30
+ readonly component: {
31
+ readonly attributes: {
32
+ readonly measuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
33
+ readonly minMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
34
+ readonly maxMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
35
+ readonly uncertainty: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number, any>;
36
+ readonly measurementUnit: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementUnit, any>;
37
+ };
38
+ };
39
+ }, {
40
+ readonly flags: {
41
+ readonly peakMeasurement: true;
42
+ };
43
+ readonly component: {
44
+ readonly attributes: {
45
+ readonly peakMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
46
+ readonly peakMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
47
+ };
48
+ };
49
+ }, {
50
+ readonly flags: {
51
+ readonly averageMeasurement: true;
52
+ };
53
+ readonly component: {
54
+ readonly attributes: {
55
+ readonly averageMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
56
+ readonly averageMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
57
+ };
58
+ };
59
+ }, {
60
+ readonly flags: {
61
+ readonly levelIndication: true;
62
+ };
63
+ readonly component: {
64
+ readonly attributes: {
65
+ readonly levelValue: import("@project-chip/matter-node.js/cluster").Attribute<ConcentrationMeasurement.LevelValue, any>;
66
+ };
67
+ };
68
+ }, {
69
+ readonly flags: {
70
+ readonly mediumLevel: true;
71
+ readonly levelIndication: false;
72
+ };
73
+ readonly component: false;
74
+ }, {
75
+ readonly flags: {
76
+ readonly criticalLevel: true;
77
+ readonly levelIndication: false;
78
+ };
79
+ readonly component: false;
80
+ }, {
81
+ readonly flags: {
82
+ readonly peakMeasurement: true;
83
+ readonly numericMeasurement: false;
84
+ };
85
+ readonly component: false;
86
+ }, {
87
+ readonly flags: {
88
+ readonly averageMeasurement: true;
89
+ readonly numericMeasurement: false;
90
+ };
91
+ readonly component: false;
92
+ }, {
93
+ readonly flags: {
94
+ readonly numericMeasurement: false;
95
+ readonly levelIndication: false;
96
+ };
97
+ readonly component: false;
98
+ }];
99
+ };
100
+ /**
101
+ * @see {@link Cluster}
102
+ */
103
+ const ClusterInstance: MutableCluster.ExtensibleOnly<{
104
+ id: number;
105
+ name: string;
106
+ features: {
107
+ readonly numericMeasurement: import("@project-chip/matter.js/schema").BitFlag;
108
+ readonly levelIndication: import("@project-chip/matter.js/schema").BitFlag;
109
+ readonly mediumLevel: import("@project-chip/matter.js/schema").BitFlag;
110
+ readonly criticalLevel: import("@project-chip/matter.js/schema").BitFlag;
111
+ readonly peakMeasurement: import("@project-chip/matter.js/schema").BitFlag;
112
+ readonly averageMeasurement: import("@project-chip/matter.js/schema").BitFlag;
113
+ };
114
+ revision: 3;
115
+ attributes: {
116
+ readonly measurementMedium: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementMedium, any>;
117
+ };
118
+ extensions: readonly [{
119
+ readonly flags: {
120
+ readonly numericMeasurement: true;
121
+ };
122
+ readonly component: {
123
+ readonly attributes: {
124
+ readonly measuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
125
+ readonly minMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
126
+ readonly maxMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
127
+ readonly uncertainty: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number, any>;
128
+ readonly measurementUnit: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementUnit, any>;
129
+ };
130
+ };
131
+ }, {
132
+ readonly flags: {
133
+ readonly peakMeasurement: true;
134
+ };
135
+ readonly component: {
136
+ readonly attributes: {
137
+ readonly peakMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
138
+ readonly peakMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
139
+ };
140
+ };
141
+ }, {
142
+ readonly flags: {
143
+ readonly averageMeasurement: true;
144
+ };
145
+ readonly component: {
146
+ readonly attributes: {
147
+ readonly averageMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
148
+ readonly averageMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
149
+ };
150
+ };
151
+ }, {
152
+ readonly flags: {
153
+ readonly levelIndication: true;
154
+ };
155
+ readonly component: {
156
+ readonly attributes: {
157
+ readonly levelValue: import("@project-chip/matter-node.js/cluster").Attribute<ConcentrationMeasurement.LevelValue, any>;
158
+ };
159
+ };
160
+ }, {
161
+ readonly flags: {
162
+ readonly mediumLevel: true;
163
+ readonly levelIndication: false;
164
+ };
165
+ readonly component: false;
166
+ }, {
167
+ readonly flags: {
168
+ readonly criticalLevel: true;
169
+ readonly levelIndication: false;
170
+ };
171
+ readonly component: false;
172
+ }, {
173
+ readonly flags: {
174
+ readonly peakMeasurement: true;
175
+ readonly numericMeasurement: false;
176
+ };
177
+ readonly component: false;
178
+ }, {
179
+ readonly flags: {
180
+ readonly averageMeasurement: true;
181
+ readonly numericMeasurement: false;
182
+ };
183
+ readonly component: false;
184
+ }, {
185
+ readonly flags: {
186
+ readonly numericMeasurement: false;
187
+ readonly levelIndication: false;
188
+ };
189
+ readonly component: false;
190
+ }];
191
+ }>;
192
+ /**
193
+ * This alias specializes the semantics of {@link ConcentrationMeasurement.Cluster}.
194
+ *
195
+ * Per the Matter specification you cannot use {@link CarbonDioxideConcentrationMeasurementCluster} without
196
+ * enabling certain feature combinations. You must use the {@link with} factory method to obtain a working cluster.
197
+ */
198
+ type Cluster = Identity<typeof ClusterInstance>;
199
+ const Cluster: Cluster;
200
+ /**
201
+ * This cluster supports all CarbonDioxideConcentrationMeasurement features. It may support illegal feature
202
+ * combinations.
203
+ *
204
+ * If you use this cluster you must manually specify which features are active and ensure the set of active
205
+ * features is legal per the Matter specification.
206
+ */
207
+ const CompleteInstance: MutableCluster<{
208
+ readonly id: 1037;
209
+ readonly name: "ConcentrationMeasurement";
210
+ readonly revision: 3;
211
+ readonly features: {
212
+ readonly numericMeasurement: import("@project-chip/matter.js/schema").BitFlag;
213
+ readonly levelIndication: import("@project-chip/matter.js/schema").BitFlag;
214
+ readonly mediumLevel: import("@project-chip/matter.js/schema").BitFlag;
215
+ readonly criticalLevel: import("@project-chip/matter.js/schema").BitFlag;
216
+ readonly peakMeasurement: import("@project-chip/matter.js/schema").BitFlag;
217
+ readonly averageMeasurement: import("@project-chip/matter.js/schema").BitFlag;
218
+ };
219
+ readonly attributes: {
220
+ readonly measuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any> & {
221
+ readonly optional: true;
222
+ readonly isConditional: true;
223
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
224
+ readonly mandatoryIf: [] | [{
225
+ numericMeasurement: boolean;
226
+ }];
227
+ };
228
+ readonly minMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any> & {
229
+ readonly optional: true;
230
+ readonly isConditional: true;
231
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
232
+ readonly mandatoryIf: [] | [{
233
+ numericMeasurement: boolean;
234
+ }];
235
+ };
236
+ readonly maxMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any> & {
237
+ readonly optional: true;
238
+ readonly isConditional: true;
239
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
240
+ readonly mandatoryIf: [] | [{
241
+ numericMeasurement: boolean;
242
+ }];
243
+ };
244
+ readonly peakMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any> & {
245
+ readonly optional: true;
246
+ readonly isConditional: true;
247
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
248
+ readonly mandatoryIf: [] | [{
249
+ peakMeasurement: boolean;
250
+ }];
251
+ };
252
+ readonly peakMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any> & {
253
+ readonly optional: true;
254
+ readonly isConditional: true;
255
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
256
+ readonly mandatoryIf: [] | [{
257
+ peakMeasurement: boolean;
258
+ }];
259
+ };
260
+ readonly averageMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any> & {
261
+ readonly optional: true;
262
+ readonly isConditional: true;
263
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
264
+ readonly mandatoryIf: [] | [{
265
+ averageMeasurement: boolean;
266
+ }];
267
+ };
268
+ readonly averageMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any> & {
269
+ readonly optional: true;
270
+ readonly isConditional: true;
271
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
272
+ readonly mandatoryIf: [] | [{
273
+ averageMeasurement: boolean;
274
+ }];
275
+ };
276
+ readonly uncertainty: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number, any> & {
277
+ readonly optional: true;
278
+ readonly isConditional: true;
279
+ readonly optionalIf: [] | [{
280
+ numericMeasurement: boolean;
281
+ }];
282
+ readonly mandatoryIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
283
+ };
284
+ readonly measurementUnit: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementUnit, any> & {
285
+ readonly optional: true;
286
+ readonly isConditional: true;
287
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
288
+ readonly mandatoryIf: [] | [{
289
+ numericMeasurement: boolean;
290
+ }];
291
+ };
292
+ readonly levelValue: import("@project-chip/matter-node.js/cluster").Attribute<ConcentrationMeasurement.LevelValue, any> & {
293
+ readonly optional: true;
294
+ readonly isConditional: true;
295
+ readonly optionalIf: import("@project-chip/matter-node.js/cluster").ConditionalFeatureList<import("@project-chip/matter.js/schema").BitSchema> | [];
296
+ readonly mandatoryIf: [] | [{
297
+ levelIndication: boolean;
298
+ }];
299
+ };
300
+ readonly measurementMedium: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementMedium, any>;
301
+ };
302
+ }>;
303
+ type Complete = Identity<typeof CompleteInstance>;
304
+ const Complete: Complete;
305
+ }
306
+ export type CarbonDioxideConcentrationMeasurementCluster = CarbonDioxideConcentrationMeasurement.Cluster;
307
+ export declare const CarbonDioxideConcentrationMeasurementCluster: MutableCluster.ExtensibleOnly<{
308
+ id: number;
309
+ name: string;
310
+ features: {
311
+ readonly numericMeasurement: import("@project-chip/matter.js/schema").BitFlag;
312
+ readonly levelIndication: import("@project-chip/matter.js/schema").BitFlag;
313
+ readonly mediumLevel: import("@project-chip/matter.js/schema").BitFlag;
314
+ readonly criticalLevel: import("@project-chip/matter.js/schema").BitFlag;
315
+ readonly peakMeasurement: import("@project-chip/matter.js/schema").BitFlag;
316
+ readonly averageMeasurement: import("@project-chip/matter.js/schema").BitFlag;
317
+ };
318
+ revision: 3;
319
+ attributes: {
320
+ readonly measurementMedium: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementMedium, any>;
321
+ };
322
+ extensions: readonly [{
323
+ readonly flags: {
324
+ readonly numericMeasurement: true;
325
+ };
326
+ readonly component: {
327
+ readonly attributes: {
328
+ readonly measuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
329
+ readonly minMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
330
+ readonly maxMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
331
+ readonly uncertainty: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number, any>;
332
+ readonly measurementUnit: import("@project-chip/matter-node.js/cluster").FixedAttribute<ConcentrationMeasurement.MeasurementUnit, any>;
333
+ };
334
+ };
335
+ }, {
336
+ readonly flags: {
337
+ readonly peakMeasurement: true;
338
+ };
339
+ readonly component: {
340
+ readonly attributes: {
341
+ readonly peakMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
342
+ readonly peakMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
343
+ };
344
+ };
345
+ }, {
346
+ readonly flags: {
347
+ readonly averageMeasurement: true;
348
+ };
349
+ readonly component: {
350
+ readonly attributes: {
351
+ readonly averageMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
352
+ readonly averageMeasuredValueWindow: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
353
+ };
354
+ };
355
+ }, {
356
+ readonly flags: {
357
+ readonly levelIndication: true;
358
+ };
359
+ readonly component: {
360
+ readonly attributes: {
361
+ readonly levelValue: import("@project-chip/matter-node.js/cluster").Attribute<ConcentrationMeasurement.LevelValue, any>;
362
+ };
363
+ };
364
+ }, {
365
+ readonly flags: {
366
+ readonly mediumLevel: true;
367
+ readonly levelIndication: false;
368
+ };
369
+ readonly component: false;
370
+ }, {
371
+ readonly flags: {
372
+ readonly criticalLevel: true;
373
+ readonly levelIndication: false;
374
+ };
375
+ readonly component: false;
376
+ }, {
377
+ readonly flags: {
378
+ readonly peakMeasurement: true;
379
+ readonly numericMeasurement: false;
380
+ };
381
+ readonly component: false;
382
+ }, {
383
+ readonly flags: {
384
+ readonly averageMeasurement: true;
385
+ readonly numericMeasurement: false;
386
+ };
387
+ readonly component: false;
388
+ }, {
389
+ readonly flags: {
390
+ readonly numericMeasurement: false;
391
+ readonly levelIndication: false;
392
+ };
393
+ readonly component: false;
394
+ }];
395
+ }>;
396
+ //# sourceMappingURL=CarbonDioxideConcentrationMeasurementCluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarbonDioxideConcentrationMeasurementCluster.d.ts","sourceRoot":"","sources":["../../src/cluster/CarbonDioxideConcentrationMeasurementCluster.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,8CAA8C;AAE9C,OAAO,EAAmB,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,yBAAiB,qCAAqC,CAAC;IAC9C,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAiG,CAAC;IAEnH;;OAEG;IACI,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAsC,CAAC;IAEnE;;;;;OAKG;IACH,KAAY,OAAO,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAC;IAEhD,MAAM,OAAO,EAAE,OAAyB,CAAC;IAEhD;;;;;;OAMG;IACI,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAsE,CAAC;IAEpG,KAAY,QAAQ,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAClD,MAAM,QAAQ,EAAE,QAA2B,CAAC;CACpD;AAED,MAAM,MAAM,4CAA4C,GAAG,qCAAqC,CAAC,OAAO,CAAC;AACzG,eAAO,MAAM,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgD,CAAC"}
@@ -0,0 +1,30 @@
1
+ /* eslint-disable @typescript-eslint/no-namespace */
2
+ /**
3
+ * @license
4
+ * Copyright 2022-2024 Matter.js Authors
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ /** * THIS FILE IS GENERATED, DO NOT EDIT ***/
8
+ import { ClusterRegistry, MutableCluster } from '@project-chip/matter-node.js/cluster';
9
+ import { ConcentrationMeasurement } from './ConcentrationMeasurementCluster.js';
10
+ export var CarbonDioxideConcentrationMeasurement;
11
+ (function (CarbonDioxideConcentrationMeasurement) {
12
+ CarbonDioxideConcentrationMeasurement.Base = { ...ConcentrationMeasurement.Base, id: 0x40d, name: 'CarbonDioxideConcentrationMeasurement' };
13
+ /**
14
+ * @see {@link Cluster}
15
+ */
16
+ CarbonDioxideConcentrationMeasurement.ClusterInstance = MutableCluster.ExtensibleOnly(CarbonDioxideConcentrationMeasurement.Base);
17
+ CarbonDioxideConcentrationMeasurement.Cluster = CarbonDioxideConcentrationMeasurement.ClusterInstance;
18
+ /**
19
+ * This cluster supports all CarbonDioxideConcentrationMeasurement features. It may support illegal feature
20
+ * combinations.
21
+ *
22
+ * If you use this cluster you must manually specify which features are active and ensure the set of active
23
+ * features is legal per the Matter specification.
24
+ */
25
+ CarbonDioxideConcentrationMeasurement.CompleteInstance = MutableCluster({ ...ConcentrationMeasurement.Complete, id: 0x40d });
26
+ CarbonDioxideConcentrationMeasurement.Complete = CarbonDioxideConcentrationMeasurement.CompleteInstance;
27
+ })(CarbonDioxideConcentrationMeasurement || (CarbonDioxideConcentrationMeasurement = {}));
28
+ export const CarbonDioxideConcentrationMeasurementCluster = CarbonDioxideConcentrationMeasurement.Cluster;
29
+ ClusterRegistry.register(CarbonDioxideConcentrationMeasurement.Complete);
30
+ //# sourceMappingURL=CarbonDioxideConcentrationMeasurementCluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarbonDioxideConcentrationMeasurementCluster.js","sourceRoot":"","sources":["../../src/cluster/CarbonDioxideConcentrationMeasurementCluster.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD;;;;GAIG;AAEH,8CAA8C;AAE9C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,MAAM,KAAW,qCAAqC,CA6BrD;AA7BD,WAAiB,qCAAqC;IACvC,0CAAI,GAAG,EAAE,GAAG,wBAAwB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC;IAEnH;;OAEG;IACU,qDAAe,GAAG,cAAc,CAAC,cAAc,CAAC,sCAAA,IAAI,CAAC,CAAC;IAUtD,6CAAO,GAAY,sCAAA,eAAe,CAAC;IAEhD;;;;;;OAMG;IACU,sDAAgB,GAAG,cAAc,CAAC,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAGvF,8CAAQ,GAAa,sCAAA,gBAAgB,CAAC;AACrD,CAAC,EA7BgB,qCAAqC,KAArC,qCAAqC,QA6BrD;AAGD,MAAM,CAAC,MAAM,4CAA4C,GAAG,qCAAqC,CAAC,OAAO,CAAC;AAC1G,eAAe,CAAC,QAAQ,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC"}