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.
- package/CHANGELOG.md +18 -4
- package/README.md +5 -3
- package/dist/cli.js +0 -26
- package/dist/cluster/export.js +0 -2
- package/dist/defaultConfigSchema.js +0 -23
- package/dist/deviceManager.js +1 -26
- package/dist/index.js +0 -30
- package/dist/logger/export.js +0 -1
- package/dist/matter/export.js +0 -1
- package/dist/matterbridge.js +66 -706
- package/dist/matterbridgeAccessoryPlatform.js +0 -33
- package/dist/matterbridgeBehaviors.js +1 -29
- package/dist/matterbridgeDevice.js +11 -947
- package/dist/matterbridgeDeviceTypes.js +12 -59
- package/dist/matterbridgeDynamicPlatform.js +0 -33
- package/dist/matterbridgeEdge.js +65 -538
- package/dist/matterbridgeEndpoint.js +12 -1056
- package/dist/matterbridgePlatform.js +5 -94
- package/dist/matterbridgeTypes.js +0 -24
- package/dist/matterbridgeWebsocket.js +0 -45
- package/dist/pluginManager.js +11 -240
- package/dist/storage/export.js +0 -1
- package/dist/utils/colorUtils.js +2 -205
- package/dist/utils/export.js +0 -1
- package/dist/utils/utils.js +7 -252
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.a742de4e.js → main.4dd7e165.js} +3 -3
- package/frontend/build/static/js/main.4dd7e165.js.map +1 -0
- package/npm-shrinkwrap.json +17 -13
- package/package.json +2 -3
- package/dist/cli.d.ts +0 -25
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cluster/export.d.ts +0 -2
- package/dist/cluster/export.d.ts.map +0 -1
- package/dist/cluster/export.js.map +0 -1
- package/dist/defaultConfigSchema.d.ts +0 -27
- package/dist/defaultConfigSchema.d.ts.map +0 -1
- package/dist/defaultConfigSchema.js.map +0 -1
- package/dist/deviceManager.d.ts +0 -46
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/index.d.ts +0 -40
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger/export.d.ts +0 -2
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/export.d.ts +0 -5
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matterbridge.d.ts +0 -466
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -39
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts +0 -942
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDevice.d.ts +0 -6674
- package/dist/matterbridgeDevice.d.ts.map +0 -1
- package/dist/matterbridgeDevice.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts +0 -82
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -39
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEdge.d.ts +0 -89
- package/dist/matterbridgeEdge.d.ts.map +0 -1
- package/dist/matterbridgeEdge.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts +0 -9774
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts +0 -114
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts +0 -161
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/matterbridgeWebsocket.d.ts +0 -49
- package/dist/matterbridgeWebsocket.d.ts.map +0 -1
- package/dist/matterbridgeWebsocket.js.map +0 -1
- package/dist/pluginManager.d.ts +0 -238
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/storage/export.d.ts +0 -2
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- package/dist/utils/colorUtils.d.ts +0 -61
- package/dist/utils/colorUtils.d.ts.map +0 -1
- package/dist/utils/colorUtils.js.map +0 -1
- package/dist/utils/export.d.ts +0 -3
- package/dist/utils/export.d.ts.map +0 -1
- package/dist/utils/export.js.map +0 -1
- package/dist/utils/utils.d.ts +0 -221
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/frontend/build/static/js/main.a742de4e.js.map +0 -1
- /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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|