matterbridge 3.0.6-dev-20250612-a8a696e → 3.0.6-dev-20250613-2d33ac9
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 +11 -1
- package/dist/cli.js +2 -2
- package/dist/globalMatterbridge.js +23 -0
- package/dist/matterbridgeBehaviors.js +1 -1
- package/dist/matterbridgeEndpoint.js +21 -11
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,15 +8,25 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
8
8
|
<img src="bmc-button.svg" alt="Buy me a coffee" width="120">
|
|
9
9
|
</a>
|
|
10
10
|
|
|
11
|
-
## [3.0.6] - 2025-06
|
|
11
|
+
## [3.0.6] - 2025-06-13
|
|
12
12
|
|
|
13
13
|
### Added
|
|
14
14
|
|
|
15
15
|
- [tests] Update Jest test coverage on addBridgedEndpoint and removeBridgedEndpoint.
|
|
16
|
+
- [fan]: Added createMultiSpeedFanControlClusterServer cluster helper with MultiSpeed feature.
|
|
17
|
+
- [fan]: Added all parameters to the fan cluster helpers.
|
|
18
|
+
- [valve]: Added logic in MatterbridgeValveConfigurationAndControlServer.
|
|
19
|
+
- [command]: Added cluster property to commandHandler data object.
|
|
16
20
|
|
|
17
21
|
### Changed
|
|
18
22
|
|
|
19
23
|
- [package]: Updated dependencies.
|
|
24
|
+
- [fan]: The default fan has no more the MultiSpeed feature.
|
|
25
|
+
- [behaviors]: Bump Matterbridge Behaviors to 1.3.0
|
|
26
|
+
- [evse]: Updated class and behavior to 1.1.0.
|
|
27
|
+
- [waterHeater]: Updated class and behavior to 1.1.0.
|
|
28
|
+
- [rvc]: Updated class and behavior to 1.1.0.
|
|
29
|
+
- [laundryWasher]: Updated class and behavior to 1.1.0.
|
|
20
30
|
|
|
21
31
|
### Fixed
|
|
22
32
|
|
package/dist/cli.js
CHANGED
|
@@ -193,10 +193,10 @@ async function takeHeapSnapshot() {
|
|
|
193
193
|
function triggerGarbageCollection() {
|
|
194
194
|
if (typeof global.gc === 'function') {
|
|
195
195
|
global.gc();
|
|
196
|
-
log.debug('
|
|
196
|
+
log.debug('Manual garbage collection triggered via global.gc().');
|
|
197
197
|
}
|
|
198
198
|
else {
|
|
199
|
-
log.debug('
|
|
199
|
+
log.debug('Garbage collection is not exposed. Start Node.js with --expose-gc to enable manual GC.');
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
function registerHandlers() {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function setGlobalMatterbridge(matterbridge) {
|
|
2
|
+
globalThis.__matterbridge__ = matterbridge;
|
|
3
|
+
globalThis.__frontend__ = matterbridge.frontend;
|
|
4
|
+
globalThis.__log__ = matterbridge.log;
|
|
5
|
+
}
|
|
6
|
+
export function getGlobalMatterbridge() {
|
|
7
|
+
if (!globalThis.__matterbridge__) {
|
|
8
|
+
throw new Error('Global Matterbridge instance is not set.');
|
|
9
|
+
}
|
|
10
|
+
return globalThis.__matterbridge__;
|
|
11
|
+
}
|
|
12
|
+
export function getGlobalFrontend() {
|
|
13
|
+
if (!globalThis.__frontend__) {
|
|
14
|
+
throw new Error('Global Frontend instance is not set.');
|
|
15
|
+
}
|
|
16
|
+
return globalThis.__frontend__;
|
|
17
|
+
}
|
|
18
|
+
export function getGlobalLog() {
|
|
19
|
+
if (!globalThis.__log__) {
|
|
20
|
+
throw new Error('Global Logger instance is not set.');
|
|
21
|
+
}
|
|
22
|
+
return globalThis.__log__;
|
|
23
|
+
}
|
|
@@ -218,7 +218,7 @@ export class MatterbridgeDoorLockServer extends DoorLockServer {
|
|
|
218
218
|
super.unlockDoor();
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
-
export class MatterbridgeFanControlServer extends FanControlServer.with(FanControl.Feature.
|
|
221
|
+
export class MatterbridgeFanControlServer extends FanControlServer.with(FanControl.Feature.Auto, FanControl.Feature.Step) {
|
|
222
222
|
step(request) {
|
|
223
223
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
224
224
|
device.log.info(`Stepping fan with direction ${request.direction} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
@@ -83,6 +83,7 @@ export class MatterbridgeEndpoint extends Endpoint {
|
|
|
83
83
|
hardwareVersion = undefined;
|
|
84
84
|
hardwareVersionString = undefined;
|
|
85
85
|
productUrl = 'https://www.npmjs.com/package/matterbridge';
|
|
86
|
+
serverNode;
|
|
86
87
|
name = undefined;
|
|
87
88
|
deviceType;
|
|
88
89
|
uniqueStorageKey = undefined;
|
|
@@ -803,24 +804,33 @@ export class MatterbridgeEndpoint extends Endpoint {
|
|
|
803
804
|
});
|
|
804
805
|
return this;
|
|
805
806
|
}
|
|
806
|
-
createDefaultFanControlClusterServer(fanMode = FanControl.FanMode.Off) {
|
|
807
|
+
createDefaultFanControlClusterServer(fanMode = FanControl.FanMode.Off, fanModeSequence = FanControl.FanModeSequence.OffLowMedHighAuto, percentSetting = 0, percentCurrent = 0) {
|
|
808
|
+
this.behaviors.require(MatterbridgeFanControlServer.with(FanControl.Feature.Auto, FanControl.Feature.Step), {
|
|
809
|
+
fanMode,
|
|
810
|
+
fanModeSequence,
|
|
811
|
+
percentSetting,
|
|
812
|
+
percentCurrent,
|
|
813
|
+
});
|
|
814
|
+
return this;
|
|
815
|
+
}
|
|
816
|
+
createMultiSpeedFanControlClusterServer(fanMode = FanControl.FanMode.Off, fanModeSequence = FanControl.FanModeSequence.OffLowMedHighAuto, percentSetting = 0, percentCurrent = 0, speedMax = 10, speedSetting = 0, speedCurrent = 0) {
|
|
807
817
|
this.behaviors.require(MatterbridgeFanControlServer.with(FanControl.Feature.MultiSpeed, FanControl.Feature.Auto, FanControl.Feature.Step), {
|
|
808
818
|
fanMode,
|
|
809
|
-
fanModeSequence
|
|
810
|
-
percentSetting
|
|
811
|
-
percentCurrent
|
|
812
|
-
speedMax
|
|
813
|
-
speedSetting
|
|
814
|
-
speedCurrent
|
|
819
|
+
fanModeSequence,
|
|
820
|
+
percentSetting,
|
|
821
|
+
percentCurrent,
|
|
822
|
+
speedMax,
|
|
823
|
+
speedSetting,
|
|
824
|
+
speedCurrent,
|
|
815
825
|
});
|
|
816
826
|
return this;
|
|
817
827
|
}
|
|
818
|
-
createBaseFanControlClusterServer(fanMode = FanControl.FanMode.Off) {
|
|
828
|
+
createBaseFanControlClusterServer(fanMode = FanControl.FanMode.Off, fanModeSequence = FanControl.FanModeSequence.OffLowMedHigh, percentSetting = 0, percentCurrent = 0) {
|
|
819
829
|
this.behaviors.require(FanControlServer, {
|
|
820
830
|
fanMode,
|
|
821
|
-
fanModeSequence
|
|
822
|
-
percentSetting
|
|
823
|
-
percentCurrent
|
|
831
|
+
fanModeSequence,
|
|
832
|
+
percentSetting,
|
|
833
|
+
percentCurrent,
|
|
824
834
|
});
|
|
825
835
|
return this;
|
|
826
836
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.0.6-dev-
|
|
3
|
+
"version": "3.0.6-dev-20250613-2d33ac9",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge",
|
|
9
|
-
"version": "3.0.6-dev-
|
|
9
|
+
"version": "3.0.6-dev-20250613-2d33ac9",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@matter/main": "0.14.0",
|
package/package.json
CHANGED