matterbridge 1.6.6 → 1.6.7-dev.1

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 (102) hide show
  1. package/CHANGELOG.md +18 -4
  2. package/README.md +5 -3
  3. package/dist/cli.js +0 -26
  4. package/dist/cluster/export.js +0 -2
  5. package/dist/defaultConfigSchema.js +0 -23
  6. package/dist/deviceManager.js +1 -26
  7. package/dist/index.js +0 -30
  8. package/dist/logger/export.js +0 -1
  9. package/dist/matter/export.js +0 -1
  10. package/dist/matterbridge.js +66 -706
  11. package/dist/matterbridgeAccessoryPlatform.js +0 -33
  12. package/dist/matterbridgeBehaviors.js +1 -29
  13. package/dist/matterbridgeDevice.js +11 -947
  14. package/dist/matterbridgeDeviceTypes.js +12 -59
  15. package/dist/matterbridgeDynamicPlatform.js +0 -33
  16. package/dist/matterbridgeEdge.js +65 -538
  17. package/dist/matterbridgeEndpoint.js +12 -1056
  18. package/dist/matterbridgePlatform.js +5 -94
  19. package/dist/matterbridgeTypes.js +0 -24
  20. package/dist/matterbridgeWebsocket.js +0 -45
  21. package/dist/pluginManager.js +11 -240
  22. package/dist/storage/export.js +0 -1
  23. package/dist/utils/colorUtils.js +2 -205
  24. package/dist/utils/export.js +0 -1
  25. package/dist/utils/utils.js +7 -252
  26. package/frontend/build/asset-manifest.json +3 -3
  27. package/frontend/build/index.html +1 -1
  28. package/frontend/build/static/js/{main.a742de4e.js → main.4dd7e165.js} +3 -3
  29. package/frontend/build/static/js/main.4dd7e165.js.map +1 -0
  30. package/npm-shrinkwrap.json +17 -13
  31. package/package.json +2 -3
  32. package/dist/cli.d.ts +0 -25
  33. package/dist/cli.d.ts.map +0 -1
  34. package/dist/cli.js.map +0 -1
  35. package/dist/cluster/export.d.ts +0 -2
  36. package/dist/cluster/export.d.ts.map +0 -1
  37. package/dist/cluster/export.js.map +0 -1
  38. package/dist/defaultConfigSchema.d.ts +0 -27
  39. package/dist/defaultConfigSchema.d.ts.map +0 -1
  40. package/dist/defaultConfigSchema.js.map +0 -1
  41. package/dist/deviceManager.d.ts +0 -46
  42. package/dist/deviceManager.d.ts.map +0 -1
  43. package/dist/deviceManager.js.map +0 -1
  44. package/dist/index.d.ts +0 -40
  45. package/dist/index.d.ts.map +0 -1
  46. package/dist/index.js.map +0 -1
  47. package/dist/logger/export.d.ts +0 -2
  48. package/dist/logger/export.d.ts.map +0 -1
  49. package/dist/logger/export.js.map +0 -1
  50. package/dist/matter/export.d.ts +0 -5
  51. package/dist/matter/export.d.ts.map +0 -1
  52. package/dist/matter/export.js.map +0 -1
  53. package/dist/matterbridge.d.ts +0 -466
  54. package/dist/matterbridge.d.ts.map +0 -1
  55. package/dist/matterbridge.js.map +0 -1
  56. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -39
  57. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  58. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  59. package/dist/matterbridgeBehaviors.d.ts +0 -942
  60. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  61. package/dist/matterbridgeBehaviors.js.map +0 -1
  62. package/dist/matterbridgeDevice.d.ts +0 -6674
  63. package/dist/matterbridgeDevice.d.ts.map +0 -1
  64. package/dist/matterbridgeDevice.js.map +0 -1
  65. package/dist/matterbridgeDeviceTypes.d.ts +0 -82
  66. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  67. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  68. package/dist/matterbridgeDynamicPlatform.d.ts +0 -39
  69. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  70. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  71. package/dist/matterbridgeEdge.d.ts +0 -89
  72. package/dist/matterbridgeEdge.d.ts.map +0 -1
  73. package/dist/matterbridgeEdge.js.map +0 -1
  74. package/dist/matterbridgeEndpoint.d.ts +0 -9774
  75. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  76. package/dist/matterbridgeEndpoint.js.map +0 -1
  77. package/dist/matterbridgePlatform.d.ts +0 -114
  78. package/dist/matterbridgePlatform.d.ts.map +0 -1
  79. package/dist/matterbridgePlatform.js.map +0 -1
  80. package/dist/matterbridgeTypes.d.ts +0 -161
  81. package/dist/matterbridgeTypes.d.ts.map +0 -1
  82. package/dist/matterbridgeTypes.js.map +0 -1
  83. package/dist/matterbridgeWebsocket.d.ts +0 -49
  84. package/dist/matterbridgeWebsocket.d.ts.map +0 -1
  85. package/dist/matterbridgeWebsocket.js.map +0 -1
  86. package/dist/pluginManager.d.ts +0 -238
  87. package/dist/pluginManager.d.ts.map +0 -1
  88. package/dist/pluginManager.js.map +0 -1
  89. package/dist/storage/export.d.ts +0 -2
  90. package/dist/storage/export.d.ts.map +0 -1
  91. package/dist/storage/export.js.map +0 -1
  92. package/dist/utils/colorUtils.d.ts +0 -61
  93. package/dist/utils/colorUtils.d.ts.map +0 -1
  94. package/dist/utils/colorUtils.js.map +0 -1
  95. package/dist/utils/export.d.ts +0 -3
  96. package/dist/utils/export.d.ts.map +0 -1
  97. package/dist/utils/export.js.map +0 -1
  98. package/dist/utils/utils.d.ts +0 -221
  99. package/dist/utils/utils.d.ts.map +0 -1
  100. package/dist/utils/utils.js.map +0 -1
  101. package/frontend/build/static/js/main.a742de4e.js.map +0 -1
  102. /package/frontend/build/static/js/{main.a742de4e.js.LICENSE.txt → main.4dd7e165.js.LICENSE.txt} +0 -0
@@ -1,29 +1,5 @@
1
- /**
2
- * This file contains the class MatterbridgeDevice.
3
- *
4
- * @file matterbridgeDeviceTypes.ts
5
- * @author Luca Liguori
6
- * @date 2024-11-08
7
- * @version 1.0.0
8
- *
9
- * Copyright 2024, 2025, 2026 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License. *
22
- */
23
1
  import { AirQuality, BooleanState, BooleanStateConfiguration, BridgedDeviceBasicInformation, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, ColorControl, DeviceEnergyManagement, DeviceEnergyManagementMode, DoorLock, ElectricalEnergyMeasurement, ElectricalPowerMeasurement, EnergyPreference, FanControl, FlowMeasurement, FormaldehydeConcentrationMeasurement, Groups, Identify, IlluminanceMeasurement, LevelControl, ModeSelect, NitrogenDioxideConcentrationMeasurement, OccupancySensing, OnOff, OzoneConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm25ConcentrationMeasurement, PowerSource, PowerTopology, PressureMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, SmokeCoAlarm, SwitchCluster, TemperatureMeasurement, Thermostat, ThermostatUserInterfaceConfiguration, TimeSynchronization, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, ValveConfigurationAndControl, HepaFilterMonitoring, ActivatedCarbonFilterMonitoring, Actions, FixedLabel, RvcRunMode, RvcOperationalState, RvcCleanMode, ScenesManagement, } from '@matter/main/clusters';
24
- // @project-chip
25
2
  import { DeviceClasses, DeviceTypeDefinition } from '@project-chip/matter.js/device';
26
- // Matter 1.0 and 1.1 device types
27
3
  export const bridge = DeviceTypeDefinition({
28
4
  name: 'MA-aggregator',
29
5
  code: 0x000e,
@@ -39,22 +15,6 @@ export const powerSource = DeviceTypeDefinition({
39
15
  requiredServerClusters: [PowerSource.Cluster.id],
40
16
  optionalServerClusters: [],
41
17
  });
42
- /**
43
- 2.5.3. Conditions
44
- Please see the Base Device Type definition for conformance tags.
45
- This device type SHALL only be used for Nodes which have a device type of Bridge.
46
-
47
- 2.5.6. Endpoint Composition
48
- • A Bridged Node endpoint SHALL support one of the following composition patterns:
49
- ◦ Separate Endpoints: All application device types are supported on separate endpoints, and
50
- not on the Bridged Node endpoint. The Bridged Node endpoint’s Descriptor cluster PartsList
51
- attribute SHALL indicate a list of all endpoints representing the functionality of the bridged
52
- device, including the endpoints supporting the application device types, i.e. the full-family
53
- pattern defined in the System Model specification.
54
- ◦ One Endpoint: Both the Bridged Node and one or more application device types are sup
55
- ported on the same endpoint (following application device type rules). Endpoint composi
56
- tion SHALL conform to the application device type(s) definition
57
- */
58
18
  export const bridgedNode = DeviceTypeDefinition({
59
19
  name: 'MA-bridgedNode',
60
20
  code: 0x0013,
@@ -76,7 +36,7 @@ export const onOffLight = DeviceTypeDefinition({
76
36
  code: 0x0100,
77
37
  deviceClass: DeviceClasses.Simple,
78
38
  revision: 3,
79
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id],
39
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id],
80
40
  optionalServerClusters: [LevelControl.Cluster.id, ColorControl.Cluster.id],
81
41
  });
82
42
  export const dimmableLight = DeviceTypeDefinition({
@@ -84,7 +44,7 @@ export const dimmableLight = DeviceTypeDefinition({
84
44
  code: 0x0101,
85
45
  deviceClass: DeviceClasses.Simple,
86
46
  revision: 3,
87
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id],
47
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id, LevelControl.Cluster.id],
88
48
  optionalServerClusters: [ColorControl.Cluster.id],
89
49
  });
90
50
  export const colorTemperatureLight = DeviceTypeDefinition({
@@ -92,7 +52,7 @@ export const colorTemperatureLight = DeviceTypeDefinition({
92
52
  code: 0x010c,
93
53
  deviceClass: DeviceClasses.Simple,
94
54
  revision: 4,
95
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id, ColorControl.Cluster.id],
55
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id, LevelControl.Cluster.id, ColorControl.Cluster.id],
96
56
  optionalServerClusters: [],
97
57
  });
98
58
  export const onOffOutlet = DeviceTypeDefinition({
@@ -100,7 +60,7 @@ export const onOffOutlet = DeviceTypeDefinition({
100
60
  code: 0x010a,
101
61
  deviceClass: DeviceClasses.Simple,
102
62
  revision: 3,
103
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id],
63
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id],
104
64
  optionalServerClusters: [LevelControl.Cluster.id],
105
65
  });
106
66
  export const dimmableOutlet = DeviceTypeDefinition({
@@ -108,7 +68,7 @@ export const dimmableOutlet = DeviceTypeDefinition({
108
68
  code: 0x010b,
109
69
  deviceClass: DeviceClasses.Simple,
110
70
  revision: 3,
111
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id],
71
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id, LevelControl.Cluster.id],
112
72
  optionalServerClusters: [],
113
73
  });
114
74
  export const doorLockDevice = DeviceTypeDefinition({
@@ -117,7 +77,7 @@ export const doorLockDevice = DeviceTypeDefinition({
117
77
  deviceClass: DeviceClasses.Simple,
118
78
  revision: 3,
119
79
  requiredServerClusters: [Identify.Cluster.id, DoorLock.Cluster.id],
120
- optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/],
80
+ optionalServerClusters: [Groups.Cluster.id],
121
81
  });
122
82
  export const coverDevice = DeviceTypeDefinition({
123
83
  name: 'MA-windowCovering',
@@ -125,7 +85,7 @@ export const coverDevice = DeviceTypeDefinition({
125
85
  deviceClass: DeviceClasses.Simple,
126
86
  revision: 3,
127
87
  requiredServerClusters: [Identify.Cluster.id, WindowCovering.Cluster.id],
128
- optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/],
88
+ optionalServerClusters: [Groups.Cluster.id],
129
89
  });
130
90
  export const fanDevice = DeviceTypeDefinition({
131
91
  name: 'MA-fan',
@@ -133,7 +93,7 @@ export const fanDevice = DeviceTypeDefinition({
133
93
  deviceClass: DeviceClasses.Simple,
134
94
  revision: 2,
135
95
  requiredServerClusters: [Identify.Cluster.id, FanControl.Cluster.id],
136
- optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/],
96
+ optionalServerClusters: [Groups.Cluster.id],
137
97
  });
138
98
  export const thermostatDevice = DeviceTypeDefinition({
139
99
  name: 'MA-thermostat',
@@ -141,7 +101,7 @@ export const thermostatDevice = DeviceTypeDefinition({
141
101
  deviceClass: DeviceClasses.Simple,
142
102
  revision: 3,
143
103
  requiredServerClusters: [Identify.Cluster.id, Thermostat.Cluster.id],
144
- optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/, ThermostatUserInterfaceConfiguration.Cluster.id, EnergyPreference.Cluster.id, TimeSynchronization.Cluster.id],
104
+ optionalServerClusters: [Groups.Cluster.id, ThermostatUserInterfaceConfiguration.Cluster.id, EnergyPreference.Cluster.id, TimeSynchronization.Cluster.id],
145
105
  });
146
106
  export const contactSensor = DeviceTypeDefinition({
147
107
  name: 'MA-contactsensor',
@@ -207,34 +167,30 @@ export const roboticVacuumCleaner = DeviceTypeDefinition({
207
167
  requiredServerClusters: [Identify.Cluster.id, RvcRunMode.Cluster.id, RvcOperationalState.Cluster.id],
208
168
  optionalServerClusters: [RvcCleanMode.Cluster.id],
209
169
  });
210
- // Custom device types without client clusters (not working in Alexa)
211
170
  export const onOffSwitch = DeviceTypeDefinition({
212
171
  name: 'MA-onoffswitch',
213
172
  code: 0x0103,
214
173
  deviceClass: DeviceClasses.Simple,
215
174
  revision: 3,
216
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id],
175
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id],
217
176
  optionalServerClusters: [LevelControl.Cluster.id, ColorControl.Cluster.id],
218
177
  });
219
- // Custom device types without client clusters (not working in Alexa)
220
178
  export const dimmableSwitch = DeviceTypeDefinition({
221
179
  name: 'MA-dimmableswitch',
222
180
  code: 0x0104,
223
181
  deviceClass: DeviceClasses.Simple,
224
182
  revision: 3,
225
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id],
183
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id, LevelControl.Cluster.id],
226
184
  optionalServerClusters: [ColorControl.Cluster.id],
227
185
  });
228
- // Custom device types without client clusters (not working in Alexa)
229
186
  export const colorTemperatureSwitch = DeviceTypeDefinition({
230
187
  name: 'MA-colortemperatureswitch',
231
188
  code: 0x0105,
232
189
  deviceClass: DeviceClasses.Simple,
233
190
  revision: 3,
234
- requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id, ColorControl.Cluster.id],
191
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, OnOff.Cluster.id, LevelControl.Cluster.id, ColorControl.Cluster.id],
235
192
  optionalServerClusters: [],
236
193
  });
237
- // Matter 1.2 and 1.3 device types
238
194
  export const airQualitySensor = DeviceTypeDefinition({
239
195
  name: 'MA-airQualitySensor',
240
196
  code: 0x002c,
@@ -280,7 +236,6 @@ export const rainSensor = DeviceTypeDefinition({
280
236
  requiredServerClusters: [Identify.Cluster.id, BooleanState.Cluster.id],
281
237
  optionalServerClusters: [BooleanStateConfiguration.Cluster.id],
282
238
  });
283
- // Remark: A Smoke CO Alarm device type SHALL support an instance of a Power Source device type on some endpoint.
284
239
  export const smokeCoAlarm = DeviceTypeDefinition({
285
240
  name: 'MA-smokeCoAlarm',
286
241
  code: 0x0076,
@@ -305,7 +260,6 @@ export const airPurifier = DeviceTypeDefinition({
305
260
  requiredServerClusters: [Identify.Cluster.id, FanControl.Cluster.id],
306
261
  optionalServerClusters: [Groups.Cluster.id, HepaFilterMonitoring.Cluster.id, ActivatedCarbonFilterMonitoring.Cluster.id],
307
262
  });
308
- // Remark: may have a temperature sensor and a humidity sensor device.
309
263
  export const airConditioner = DeviceTypeDefinition({
310
264
  name: 'MA-airConditioner',
311
265
  code: 0x72,
@@ -330,4 +284,3 @@ export const deviceEnergyManagement = DeviceTypeDefinition({
330
284
  requiredServerClusters: [DeviceEnergyManagement.Cluster.id, DeviceEnergyManagementMode.Cluster.id],
331
285
  optionalServerClusters: [],
332
286
  });
333
- //# sourceMappingURL=matterbridgeDeviceTypes.js.map
@@ -1,37 +1,5 @@
1
- /**
2
- * This file contains the class MatterbridgeDynamicPlatform.
3
- *
4
- * @file matterbridgeDynamicPlatform.ts
5
- * @author Luca Liguori
6
- * @date 2023-12-29
7
- * @version 1.0.5
8
- *
9
- * Copyright 2023, 2024, 2025 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License. *
22
- */
23
1
  import { MatterbridgePlatform } from './matterbridgePlatform.js';
24
- /**
25
- * Represents a dynamic platform for Matterbridge.
26
- *
27
- */
28
2
  export class MatterbridgeDynamicPlatform extends MatterbridgePlatform {
29
- /**
30
- * Creates an instance of MatterbridgeDynamicPlatform.
31
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
32
- * @param {AnsiLogger} log - The logger instance.
33
- * @param {PlatformConfig} config - The platform configuration.
34
- */
35
3
  constructor(matterbridge, log, config) {
36
4
  super(matterbridge, log, config);
37
5
  this.type = 'DynamicPlatform';
@@ -39,4 +7,3 @@ export class MatterbridgeDynamicPlatform extends MatterbridgePlatform {
39
7
  this.log.debug(`Matterbridge${this.type} loaded`);
40
8
  }
41
9
  }
42
- //# sourceMappingURL=matterbridgeDynamicPlatform.js.map