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 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('***Manual garbage collection triggered via global.gc().');
196
+ log.debug('Manual garbage collection triggered via global.gc().');
197
197
  }
198
198
  else {
199
- log.debug('***Garbage collection is not exposed. Start Node.js with --expose-gc to enable manual GC.');
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.MultiSpeed, FanControl.Feature.Auto, FanControl.Feature.Step) {
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: FanControl.FanModeSequence.OffLowMedHighAuto,
810
- percentSetting: 0,
811
- percentCurrent: 0,
812
- speedMax: 100,
813
- speedSetting: 0,
814
- speedCurrent: 0,
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: FanControl.FanModeSequence.OffLowMedHigh,
822
- percentSetting: 0,
823
- percentCurrent: 0,
831
+ fanModeSequence,
832
+ percentSetting,
833
+ percentCurrent,
824
834
  });
825
835
  return this;
826
836
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.6-dev-20250612-a8a696e",
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-20250612-a8a696e",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.6-dev-20250612-a8a696e",
3
+ "version": "3.0.6-dev-20250613-2d33ac9",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",