matterbridge 3.0.0-edge.4 → 3.0.0-edge.5
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 +5 -0
- package/dist/matterbridge.js +1 -1
- package/dist/matterbridgeDeviceTypes.js +2 -10
- package/dist/matterbridgeEndpoint.js +35 -0
- package/npm-shrinkwrap.json +44 -44
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -47,12 +47,17 @@ Modified clusters:
|
|
|
47
47
|
### Added
|
|
48
48
|
|
|
49
49
|
- [addEndpoint]: Added an error handler with deep stack on aggregatorNode.add() and serverNode.add() calls.
|
|
50
|
+
- [endpoint]: Added createOffOnlyOnOffClusterServer().
|
|
51
|
+
- [endpoint]: Added createBaseFanControlClusterServer().
|
|
52
|
+
- [endpoint]: Added createDefaultHepaFilterMonitoringClusterServer().
|
|
53
|
+
- [endpoint]: Added createDefaultActivatedCarbonFilterMonitoringClusterServer().
|
|
50
54
|
|
|
51
55
|
### Changed
|
|
52
56
|
|
|
53
57
|
- [deviceTypes]: Updated device types to Matter 1.4
|
|
54
58
|
- [matter.js]: Update to 0.13.0-alpha.0-20250405-7fc7db48.
|
|
55
59
|
- [matter.js]: Update to 0.13.0-alpha.0-20250408-c916c7e8.
|
|
60
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250412-5fad64e7b.
|
|
56
61
|
|
|
57
62
|
### Fixed
|
|
58
63
|
|
package/dist/matterbridge.js
CHANGED
|
@@ -1735,7 +1735,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1735
1735
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
1736
1736
|
}
|
|
1737
1737
|
if (delay > 0)
|
|
1738
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
1738
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
1739
1739
|
}
|
|
1740
1740
|
async subscribeAttributeChanged(plugin, device) {
|
|
1741
1741
|
this.log.info(`Subscribing attributes for endpoint ${dev}${device.deviceName}${nf} (${dev}${device.id}${nf}) plugin ${plg}${plugin.name}${nf}`);
|
|
@@ -369,7 +369,7 @@ export const modeSelect = DeviceTypeDefinition({
|
|
|
369
369
|
revision: 1,
|
|
370
370
|
requiredServerClusters: [ModeSelect.Cluster.id],
|
|
371
371
|
});
|
|
372
|
-
export const
|
|
372
|
+
export const aggregator = DeviceTypeDefinition({
|
|
373
373
|
name: 'MA-aggregator',
|
|
374
374
|
code: 0x000e,
|
|
375
375
|
deviceClass: DeviceClasses.Dynamic,
|
|
@@ -377,7 +377,7 @@ export const bridge = DeviceTypeDefinition({
|
|
|
377
377
|
requiredServerClusters: [],
|
|
378
378
|
optionalServerClusters: [Actions.Cluster.id, Identify.Cluster.id, CommissionerControl.Cluster.id],
|
|
379
379
|
});
|
|
380
|
-
export const
|
|
380
|
+
export const bridge = aggregator;
|
|
381
381
|
export const roboticVacuumCleaner = DeviceTypeDefinition({
|
|
382
382
|
name: 'MA-roboticvacuumcleaner',
|
|
383
383
|
code: 0x74,
|
|
@@ -386,11 +386,3 @@ export const roboticVacuumCleaner = DeviceTypeDefinition({
|
|
|
386
386
|
requiredServerClusters: [Identify.Cluster.id, RvcRunMode.Cluster.id, RvcOperationalState.Cluster.id],
|
|
387
387
|
optionalServerClusters: [RvcCleanMode.Cluster.id, ServiceArea.Cluster.id],
|
|
388
388
|
});
|
|
389
|
-
export const airConditioner = DeviceTypeDefinition({
|
|
390
|
-
name: 'MA-airConditioner',
|
|
391
|
-
code: 0x72,
|
|
392
|
-
deviceClass: DeviceClasses.Simple,
|
|
393
|
-
revision: 2,
|
|
394
|
-
requiredServerClusters: [Identify.Cluster.id, OnOff.Cluster.id, Thermostat.Cluster.id],
|
|
395
|
-
optionalServerClusters: [Groups.Cluster.id, FanControl.Cluster.id, ThermostatUserInterfaceConfiguration.Cluster.id, TemperatureMeasurement.Cluster.id, RelativeHumidityMeasurement.Cluster.id],
|
|
396
|
-
});
|
|
@@ -55,6 +55,10 @@ import { Pm25ConcentrationMeasurementServer } from '@matter/main/behaviors/pm25-
|
|
|
55
55
|
import { Pm10ConcentrationMeasurementServer } from '@matter/main/behaviors/pm10-concentration-measurement';
|
|
56
56
|
import { RadonConcentrationMeasurementServer } from '@matter/main/behaviors/radon-concentration-measurement';
|
|
57
57
|
import { TotalVolatileOrganicCompoundsConcentrationMeasurementServer } from '@matter/main/behaviors/total-volatile-organic-compounds-concentration-measurement';
|
|
58
|
+
import { FanControlServer } from '@matter/main/behaviors/fan-control';
|
|
59
|
+
import { ResourceMonitoring } from '@matter/main/clusters/resource-monitoring';
|
|
60
|
+
import { HepaFilterMonitoringServer } from '@matter/main/behaviors/hepa-filter-monitoring';
|
|
61
|
+
import { ActivatedCarbonFilterMonitoringServer } from '@matter/main/behaviors/activated-carbon-filter-monitoring';
|
|
58
62
|
export class MatterbridgeEndpoint extends Endpoint {
|
|
59
63
|
static bridgeMode = '';
|
|
60
64
|
static logLevel = "info";
|
|
@@ -530,6 +534,12 @@ export class MatterbridgeEndpoint extends Endpoint {
|
|
|
530
534
|
});
|
|
531
535
|
return this;
|
|
532
536
|
}
|
|
537
|
+
createOffOnlyOnOffClusterServer(onOff = false) {
|
|
538
|
+
this.behaviors.require(MatterbridgeOnOffServer.with(OnOff.Feature.OffOnly), {
|
|
539
|
+
onOff,
|
|
540
|
+
});
|
|
541
|
+
return this;
|
|
542
|
+
}
|
|
533
543
|
createDefaultLevelControlClusterServer(currentLevel = 254, minLevel = 1, maxLevel = 254, onLevel = null, startUpCurrentLevel = null) {
|
|
534
544
|
this.behaviors.require(MatterbridgeLevelControlServer.with(LevelControl.Feature.OnOff, LevelControl.Feature.Lighting), {
|
|
535
545
|
currentLevel,
|
|
@@ -762,6 +772,31 @@ export class MatterbridgeEndpoint extends Endpoint {
|
|
|
762
772
|
});
|
|
763
773
|
return this;
|
|
764
774
|
}
|
|
775
|
+
createBaseFanControlClusterServer(fanMode = FanControl.FanMode.Off) {
|
|
776
|
+
this.behaviors.require(FanControlServer, {
|
|
777
|
+
fanMode,
|
|
778
|
+
fanModeSequence: FanControl.FanModeSequence.OffLowMedHigh,
|
|
779
|
+
percentSetting: 0,
|
|
780
|
+
percentCurrent: 0,
|
|
781
|
+
});
|
|
782
|
+
return this;
|
|
783
|
+
}
|
|
784
|
+
createDefaultHepaFilterMonitoringClusterServer(changeIndication = ResourceMonitoring.ChangeIndication.Ok, inPlaceIndicator = undefined, lastChangedTime = undefined) {
|
|
785
|
+
this.behaviors.require(HepaFilterMonitoringServer, {
|
|
786
|
+
changeIndication,
|
|
787
|
+
inPlaceIndicator,
|
|
788
|
+
lastChangedTime,
|
|
789
|
+
});
|
|
790
|
+
return this;
|
|
791
|
+
}
|
|
792
|
+
createDefaultActivatedCarbonFilterMonitoringClusterServer(changeIndication = ResourceMonitoring.ChangeIndication.Ok, inPlaceIndicator = undefined, lastChangedTime = undefined) {
|
|
793
|
+
this.behaviors.require(ActivatedCarbonFilterMonitoringServer, {
|
|
794
|
+
changeIndication,
|
|
795
|
+
inPlaceIndicator,
|
|
796
|
+
lastChangedTime,
|
|
797
|
+
});
|
|
798
|
+
return this;
|
|
799
|
+
}
|
|
765
800
|
createDefaultDoorLockClusterServer(lockState = DoorLock.LockState.Locked, lockType = DoorLock.LockType.DeadBolt) {
|
|
766
801
|
this.behaviors.require(MatterbridgeDoorLockServer.enable({ events: { doorLockAlarm: true, lockOperation: true, lockOperationError: true } }), {
|
|
767
802
|
lockState,
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.0.0-edge.
|
|
3
|
+
"version": "3.0.0-edge.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge",
|
|
9
|
-
"version": "3.0.0-edge.
|
|
9
|
+
"version": "3.0.0-edge.5",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@matter/main": "
|
|
12
|
+
"@matter/main": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
13
13
|
"archiver": "7.0.1",
|
|
14
14
|
"express": "4.21.2",
|
|
15
15
|
"glob": "11.0.1",
|
|
@@ -47,65 +47,65 @@
|
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"node_modules/@matter/general": {
|
|
50
|
-
"version": "0.13.0-alpha.0-
|
|
51
|
-
"resolved": "https://registry.npmjs.org/@matter/general/-/general-0.13.0-alpha.0-
|
|
52
|
-
"integrity": "sha512-
|
|
50
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
51
|
+
"resolved": "https://registry.npmjs.org/@matter/general/-/general-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
52
|
+
"integrity": "sha512-Ol+AWbTAcoiEM3Rr9SBRdm0hljFIqFJqRd/ClbPV9CSUNyQFe8NR4J7bFmI+eCgahQBkPmtIpGhj6ebDDkCyEA==",
|
|
53
53
|
"license": "Apache-2.0",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@noble/curves": "^1.8.1"
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
"node_modules/@matter/main": {
|
|
59
|
-
"version": "0.13.0-alpha.0-
|
|
60
|
-
"resolved": "https://registry.npmjs.org/@matter/main/-/main-0.13.0-alpha.0-
|
|
61
|
-
"integrity": "sha512-
|
|
59
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
60
|
+
"resolved": "https://registry.npmjs.org/@matter/main/-/main-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
61
|
+
"integrity": "sha512-rXPMESZm4nmq/QRYhunddSbeNMLfM/flGfv45IWY++tezwI2yzJu4dVU5QDPmfsyehagVMD0sLwo5x0UwLgDiA==",
|
|
62
62
|
"license": "Apache-2.0",
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
65
|
-
"@matter/model": "0.13.0-alpha.0-
|
|
66
|
-
"@matter/node": "0.13.0-alpha.0-
|
|
67
|
-
"@matter/protocol": "0.13.0-alpha.0-
|
|
68
|
-
"@matter/types": "0.13.0-alpha.0-
|
|
64
|
+
"@matter/general": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
65
|
+
"@matter/model": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
66
|
+
"@matter/node": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
67
|
+
"@matter/protocol": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
68
|
+
"@matter/types": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
69
69
|
"@noble/curves": "^1.8.1"
|
|
70
70
|
},
|
|
71
71
|
"optionalDependencies": {
|
|
72
|
-
"@matter/nodejs": "0.13.0-alpha.0-
|
|
72
|
+
"@matter/nodejs": "0.13.0-alpha.0-20250412-5fad64e7b"
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
"node_modules/@matter/model": {
|
|
76
|
-
"version": "0.13.0-alpha.0-
|
|
77
|
-
"resolved": "https://registry.npmjs.org/@matter/model/-/model-0.13.0-alpha.0-
|
|
78
|
-
"integrity": "sha512-
|
|
76
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
77
|
+
"resolved": "https://registry.npmjs.org/@matter/model/-/model-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
78
|
+
"integrity": "sha512-b73rqLywpSOSV7ITiuEdvG5QPEBcsc3cuRWVt1kgmrrlxh5nWw6r37vAqrGyNCgimYURMLLFDhVs/AYcV298BA==",
|
|
79
79
|
"license": "Apache-2.0",
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
81
|
+
"@matter/general": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
82
82
|
"@noble/curves": "^1.8.1"
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
"node_modules/@matter/node": {
|
|
86
|
-
"version": "0.13.0-alpha.0-
|
|
87
|
-
"resolved": "https://registry.npmjs.org/@matter/node/-/node-0.13.0-alpha.0-
|
|
88
|
-
"integrity": "sha512-
|
|
86
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
87
|
+
"resolved": "https://registry.npmjs.org/@matter/node/-/node-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
88
|
+
"integrity": "sha512-KJCaAla7ZDs4HwHo6gcMPsmiT2OvMtA7EZ+SwNVqd8CUNEslnktEyn9Y8scxylkcppf4mwwOnPl10rGqHqQ27g==",
|
|
89
89
|
"license": "Apache-2.0",
|
|
90
90
|
"dependencies": {
|
|
91
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
92
|
-
"@matter/model": "0.13.0-alpha.0-
|
|
93
|
-
"@matter/protocol": "0.13.0-alpha.0-
|
|
94
|
-
"@matter/types": "0.13.0-alpha.0-
|
|
91
|
+
"@matter/general": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
92
|
+
"@matter/model": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
93
|
+
"@matter/protocol": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
94
|
+
"@matter/types": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
95
95
|
"@noble/curves": "^1.8.1"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"node_modules/@matter/nodejs": {
|
|
99
|
-
"version": "0.13.0-alpha.0-
|
|
100
|
-
"resolved": "https://registry.npmjs.org/@matter/nodejs/-/nodejs-0.13.0-alpha.0-
|
|
101
|
-
"integrity": "sha512-
|
|
99
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
100
|
+
"resolved": "https://registry.npmjs.org/@matter/nodejs/-/nodejs-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
101
|
+
"integrity": "sha512-cs3H+/vtpOvZhRyza/4dNMmxOJF+kehvv+TSQIWpb4bFvh+k2wgKgs+2dNrjUjdbKC4+0ObEmjDLti7KLgN7Gw==",
|
|
102
102
|
"license": "Apache-2.0",
|
|
103
103
|
"optional": true,
|
|
104
104
|
"dependencies": {
|
|
105
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
106
|
-
"@matter/node": "0.13.0-alpha.0-
|
|
107
|
-
"@matter/protocol": "0.13.0-alpha.0-
|
|
108
|
-
"@matter/types": "0.13.0-alpha.0-
|
|
105
|
+
"@matter/general": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
106
|
+
"@matter/node": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
107
|
+
"@matter/protocol": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
108
|
+
"@matter/types": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
109
109
|
"node-localstorage": "^3.0.5"
|
|
110
110
|
},
|
|
111
111
|
"engines": {
|
|
@@ -113,25 +113,25 @@
|
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
115
|
"node_modules/@matter/protocol": {
|
|
116
|
-
"version": "0.13.0-alpha.0-
|
|
117
|
-
"resolved": "https://registry.npmjs.org/@matter/protocol/-/protocol-0.13.0-alpha.0-
|
|
118
|
-
"integrity": "sha512-
|
|
116
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
117
|
+
"resolved": "https://registry.npmjs.org/@matter/protocol/-/protocol-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
118
|
+
"integrity": "sha512-VLRyFSSwShpdG5PGRxp0LGDJ2zpcQJs8MecuQtJuPAfCifXKVdtXGQhxe6ESDBLNDYn41bFQvF0IFjriJVWS2g==",
|
|
119
119
|
"license": "Apache-2.0",
|
|
120
120
|
"dependencies": {
|
|
121
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
122
|
-
"@matter/model": "0.13.0-alpha.0-
|
|
123
|
-
"@matter/types": "0.13.0-alpha.0-
|
|
121
|
+
"@matter/general": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
122
|
+
"@matter/model": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
123
|
+
"@matter/types": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
124
124
|
"@noble/curves": "^1.8.1"
|
|
125
125
|
}
|
|
126
126
|
},
|
|
127
127
|
"node_modules/@matter/types": {
|
|
128
|
-
"version": "0.13.0-alpha.0-
|
|
129
|
-
"resolved": "https://registry.npmjs.org/@matter/types/-/types-0.13.0-alpha.0-
|
|
130
|
-
"integrity": "sha512
|
|
128
|
+
"version": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
129
|
+
"resolved": "https://registry.npmjs.org/@matter/types/-/types-0.13.0-alpha.0-20250412-5fad64e7b.tgz",
|
|
130
|
+
"integrity": "sha512-+V17rduApurHl4H7iivF3DO6Zzy+4ZYdQUtrTyeFIH1rma4B29fPIxKVRjXsBPi2oIWtbQcL522Y0LhdLwBPUA==",
|
|
131
131
|
"license": "Apache-2.0",
|
|
132
132
|
"dependencies": {
|
|
133
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
134
|
-
"@matter/model": "0.13.0-alpha.0-
|
|
133
|
+
"@matter/general": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
134
|
+
"@matter/model": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
135
135
|
"@noble/curves": "^1.8.1"
|
|
136
136
|
}
|
|
137
137
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.0.0-edge.
|
|
3
|
+
"version": "3.0.0-edge.5",
|
|
4
4
|
"description": "Matterbridge plugin manager for Matter",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
}
|
|
95
95
|
},
|
|
96
96
|
"dependencies": {
|
|
97
|
-
"@matter/main": "
|
|
97
|
+
"@matter/main": "0.13.0-alpha.0-20250412-5fad64e7b",
|
|
98
98
|
"archiver": "7.0.1",
|
|
99
99
|
"express": "4.21.2",
|
|
100
100
|
"glob": "11.0.1",
|