matterbridge-example-dynamic-platform 3.0.4-dev-20260906-2c181fe → 3.0.4-dev-20260913-29dba72

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
@@ -33,12 +33,14 @@ If you like this project and find it useful, please consider giving it a star on
33
33
 
34
34
  ### Breaking changes
35
35
 
36
- - [matterbridge]: Require matterbridge v.3.10.8 with matter v.1.6.0.
36
+ - [matterbridge]: Require matterbridge v.3.10.10 with matter v.1.6.0.
37
37
 
38
38
  ### Added
39
39
 
40
40
  - [platform]: Add `RfidLock` device: a door lock with the User, PinCredential, and RfidCredential (RID) features, testing the `numberOfRfidUsersSupported` parameter of `createUserPinDoorLockClusterServer()` (Matter 1.6.0 § 5.2.4). `SetCredential`, `GetCredentialStatus`, and `ClearCredential` already handle `DoorLock.CredentialType.Rfid` generically in `MatterbridgeDoorLockServer`, so no RFID-specific command handlers were needed for this device.
41
41
  - [Oven]/[Refrigerator]: Add a `TemperatureAlarm` example to the demo cabinets.
42
+ - [devcontainer]: Upgrade the `Dev Container` to v.2.1.0, using the Node.js and Bun stack.
43
+ - [Momentary switch]: Report `productId` `0x8000` on the composed `Momentary switch` bridged device, so Home Assistant's `(vendorId, productId)` allowlist can match the `ha_entitylabel` FixedLabels on `switch4`/`switch5`/`switch6` (requires matterbridge's `createDefaultBridgedDeviceBasicInformationClusterServer()` optional `productId` parameter).
42
44
 
43
45
  ### Changed
44
46
 
package/dist/module.js CHANGED
@@ -99,8 +99,8 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
99
99
  constructor(matterbridge, log, config) {
100
100
  super(matterbridge, log, config);
101
101
  this.config = config;
102
- if (typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('3.10.8')) {
103
- throw new Error(`This plugin requires Matterbridge version >= "3.10.8". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend.`);
102
+ if (typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('3.10.10')) {
103
+ throw new Error(`This plugin requires Matterbridge version >= "3.10.10". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend.`);
104
104
  }
105
105
  this.log.info('Initializing platform:', this.config.name);
106
106
  }
@@ -1527,7 +1527,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
1527
1527
  .createDefaultTvocMeasurementClusterServer(100);
1528
1528
  this.airQuality = await this.addDevice(this.airQuality);
1529
1529
  this.momentarySwitch = new MatterbridgeEndpoint([bridgedNode, powerSource], { id: 'Momentary switch composed' }, this.config.debug)
1530
- .createDefaultBridgedDeviceBasicInformationClusterServer('Momentary switch', 'MOS00041', 0xfff1, 'Matterbridge', 'Matterbridge Momentary Switch')
1530
+ .createDefaultBridgedDeviceBasicInformationClusterServer('Momentary switch', 'MOS00041', 0xfff1, 'Matterbridge', 'Matterbridge Momentary Switch', 1, '1.0.0', 1, '1.0.0', 'Matter Bridged Endpoint', 'https://matterbridge.io', 1, 0x8000)
1531
1531
  .createDefaultPowerSourceReplaceableBatteryClusterServer(50, PowerSource.BatChargeLevel.Ok, 2900, 'CR2450', 1);
1532
1532
  fireAndForget(this.momentarySwitch.addFixedLabel('composed', 'Compound device'), this.log, `Failed to add fixed label`);
1533
1533
  this.momentarySwitch
@@ -1605,14 +1605,17 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
1605
1605
  await switch4.addFixedLabel('room', 'Living Room');
1606
1606
  await switch4.addFixedLabel('switch', 'Switch 4');
1607
1607
  await switch4.addFixedLabel('button', 'Button 4');
1608
+ await switch4.addFixedLabel('ha_entitylabel', 'Switch 4');
1608
1609
  await switch5.addFixedLabel('name', 'Switch 5');
1609
1610
  await switch5.addFixedLabel('room', 'Living Room');
1610
1611
  await switch5.addFixedLabel('switch', 'Switch 5');
1611
1612
  await switch5.addFixedLabel('button', 'Button 5');
1613
+ await switch5.addFixedLabel('ha_entitylabel', 'Switch 5');
1612
1614
  await switch6.addFixedLabel('name', 'Switch 6');
1613
1615
  await switch6.addFixedLabel('room', 'Living Room');
1614
1616
  await switch6.addFixedLabel('switch', 'Switch 6');
1615
1617
  await switch6.addFixedLabel('button', 'Button 6');
1618
+ await switch6.addFixedLabel('ha_entitylabel', 'Switch 6');
1616
1619
  }
1617
1620
  this.latchingSwitch = new MatterbridgeEndpoint([genericSwitch, bridgedNode, powerSource], { id: 'Latching switch' }, this.config.debug)
1618
1621
  .createDefaultBridgedDeviceBasicInformationClusterServer('Latching switch', 'LAS00042', 0xfff1, 'Matterbridge', 'Matterbridge LatchingSwitch')
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "3.0.4-dev-20260906-2c181fe",
3
+ "version": "3.0.4-dev-20260913-29dba72",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge-example-dynamic-platform",
9
- "version": "3.0.4-dev-20260906-2c181fe",
9
+ "version": "3.0.4-dev-20260913-29dba72",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "node-ansi-logger": "3.3.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "3.0.4-dev-20260906-2c181fe",
3
+ "version": "3.0.4-dev-20260913-29dba72",
4
4
  "description": "Matterbridge dynamic plugin",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",