matterbridge-example-dynamic-platform 2.0.13-dev-20260304-437bf8f → 2.0.13-dev-20260307-b7b9cb3

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
@@ -26,7 +26,7 @@ If you like this project and find it useful, please consider giving it a star on
26
26
 
27
27
  <a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="120"></a>
28
28
 
29
- ## [2.0.13] - Dev branch
29
+ ## [2.0.13] - 2026-03-06
30
30
 
31
31
  ### Dev Breaking Changes
32
32
 
@@ -40,7 +40,8 @@ If you like this project and find it useful, please consider giving it a star on
40
40
  - [dimmerMountedLegacy]: Add a dimmer Mounted Switch legacy device.
41
41
  - [solarPower]: Add four panels to the Solar Power.
42
42
  - [soilSensor]: Add a Soil Sensor (Matter 1.5.0).
43
- - [IrrigationSystem]: Add an Irrigation System (Matter 1.5.0).
43
+ - [IrrigationSystem]: Add a simple Irrigation System (Matter 1.5.0).
44
+ - [IrrigationSystem]: Add an Irrigation System with four zones (Matter 1.5.0).
44
45
 
45
46
  ### Changed
46
47
 
package/dist/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import { aggregator, airPurifier, airQualitySensor, bridgedNode, colorTemperatureLight, contactSensor, coverDevice, dimmableLight, dimmableMountedSwitch, dimmableOutlet, doorLockDevice, electricalSensor, extendedColorLight, fanDevice, flowSensor, genericSwitch, humiditySensor, lightSensor, MatterbridgeDynamicPlatform, MatterbridgeEndpoint, modeSelect, occupancySensor, onOffLight, onOffMountedSwitch, onOffOutlet, onOffSwitch, powerSource, pressureSensor, pumpDevice, rainSensor, smokeCoAlarm, temperatureSensor, thermostatDevice, waterFreezeDetector, waterLeakDetector, waterValve, } from 'matterbridge';
1
+ import { aggregator, airPurifier, airQualitySensor, bridgedNode, colorTemperatureLight, contactSensor, coverDevice, dimmableLight, dimmableMountedSwitch, dimmableOutlet, doorLockDevice, electricalSensor, extendedColorLight, fanDevice, flowSensor, genericSwitch, getSemtag, humiditySensor, lightSensor, MatterbridgeDynamicPlatform, MatterbridgeEndpoint, modeSelect, occupancySensor, onOffLight, onOffMountedSwitch, onOffOutlet, onOffSwitch, powerSource, pressureSensor, pumpDevice, rainSensor, smokeCoAlarm, temperatureSensor, thermostatDevice, waterFreezeDetector, waterLeakDetector, waterValve, } from 'matterbridge';
2
2
  import { AirConditioner, BasicVideoPlayer, BatteryStorage, Cooktop, Dishwasher, Evse, ExtractorHood, HeatPump, IrrigationSystem, LaundryDryer, LaundryWasher, MicrowaveOven, Oven, Refrigerator, RoboticVacuumCleaner, SoilSensor, SolarPower, Speaker, WaterHeater, } from 'matterbridge/devices';
3
3
  import { debugStringify } from 'matterbridge/logger';
4
4
  import { AreaNamespaceTag, LocationTag, NumberTag, PositionTag, RefrigeratorTag, SwitchesTag, UINT16_MAX, UINT32_MAX } from 'matterbridge/matter';
@@ -32,6 +32,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
32
32
  pressure;
33
33
  flow;
34
34
  soil;
35
+ irrigation;
35
36
  irrigationSystem;
36
37
  select;
37
38
  climate;
@@ -162,9 +163,15 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
162
163
  .createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3050, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
163
164
  .addRequiredClusterServers();
164
165
  this.flow = await this.addDevice(this.flow);
165
- this.soil = new SoilSensor('Soil Sensor', 'SOI000067', { soilMoistureMeasuredValue: 45 });
166
+ this.soil = new SoilSensor('Soil Sensor', 'SOI000067', { soilMoistureMeasuredValue: 45, temperatureMeasuredValue: 3500, batteryPowered: true });
166
167
  this.soil = await this.addDevice(this.soil);
167
- this.irrigationSystem = new IrrigationSystem('Irrigation System', 'IRR000068').addZone(NumberTag.One).addZone(NumberTag.Two).addZone(NumberTag.Three).addZone(NumberTag.Four);
168
+ this.irrigation = new IrrigationSystem('Irrigation System', 'IRR000068', { singleZone: true, batteryPowered: true, flowMeasuredValue: 15 });
169
+ this.irrigation = (await this.addDevice(this.irrigation));
170
+ this.irrigationSystem = new IrrigationSystem('Irrigation System 4 zones', 'IRR000069', { flowMeasuredValue: 60 })
171
+ .addZone(NumberTag.One)
172
+ .addZone(NumberTag.Two)
173
+ .addZone(NumberTag.Three)
174
+ .addZone(NumberTag.Four);
168
175
  this.irrigationSystem = (await this.addDevice(this.irrigationSystem));
169
176
  this.climate = new MatterbridgeEndpoint([bridgedNode, powerSource], { id: 'Climate' }, this.config.debug)
170
177
  .createDefaultBridgedDeviceBasicInformationClusterServer('Climate', 'CLI00008', 0xfff1, 'Matterbridge', 'Matterbridge Climate')
@@ -513,25 +520,25 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
513
520
  this.smartOutlet
514
521
  .addChildDeviceTypeWithClusterServer('Socket 1', onOffOutlet, [OnOffCluster.id], {
515
522
  id: 'Socket1',
516
- tagList: [{ mfgCode: null, namespaceId: NumberTag.One.namespaceId, tag: NumberTag.One.tag, label: null }],
523
+ tagList: [getSemtag(NumberTag.One)],
517
524
  })
518
525
  .addRequiredClusterServers();
519
526
  this.smartOutlet
520
527
  .addChildDeviceTypeWithClusterServer('Socket 2', onOffOutlet, [OnOffCluster.id], {
521
528
  id: 'Socket2',
522
- tagList: [{ mfgCode: null, namespaceId: NumberTag.Two.namespaceId, tag: NumberTag.Two.tag, label: null }],
529
+ tagList: [getSemtag(NumberTag.Two)],
523
530
  })
524
531
  .addRequiredClusterServers();
525
532
  this.smartOutlet
526
533
  .addChildDeviceTypeWithClusterServer('Socket 3', onOffOutlet, [OnOffCluster.id], {
527
534
  id: 'Socket3',
528
- tagList: [{ mfgCode: null, namespaceId: NumberTag.Three.namespaceId, tag: NumberTag.Three.tag, label: null }],
535
+ tagList: [getSemtag(NumberTag.Three)],
529
536
  })
530
537
  .addRequiredClusterServers();
531
538
  this.smartOutlet
532
539
  .addChildDeviceTypeWithClusterServer('Socket 4', onOffOutlet, [OnOffCluster.id], {
533
540
  id: 'Socket4',
534
- tagList: [{ mfgCode: null, namespaceId: NumberTag.Four.namespaceId, tag: NumberTag.Four.tag, label: null }],
541
+ tagList: [getSemtag(NumberTag.Four)],
535
542
  })
536
543
  .addRequiredClusterServers();
537
544
  this.smartOutlet = await this.addDevice(this.smartOutlet);
@@ -541,19 +548,31 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
541
548
  .addRequiredClusterServers();
542
549
  this.smartBridgedOutlet.addFixedLabel('composed', 'Bridged device');
543
550
  this.smartBridgedOutlet
544
- .addChildDeviceTypeWithClusterServer('Plug 1', [onOffOutlet, bridgedNode], [OnOffCluster.id])
551
+ .addChildDeviceTypeWithClusterServer('Plug 1', [onOffOutlet, bridgedNode], [OnOffCluster.id], {
552
+ id: 'Plug1',
553
+ tagList: [getSemtag(NumberTag.One)],
554
+ })
545
555
  .createDefaultBridgedDeviceBasicInformationClusterServer('Plug 1', 'BOU00064-1', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
546
556
  .addRequiredClusterServers();
547
557
  this.smartBridgedOutlet
548
- .addChildDeviceTypeWithClusterServer('Plug 2', [onOffOutlet, bridgedNode], [OnOffCluster.id])
558
+ .addChildDeviceTypeWithClusterServer('Plug 2', [onOffOutlet, bridgedNode], [OnOffCluster.id], {
559
+ id: 'Plug2',
560
+ tagList: [getSemtag(NumberTag.Two)],
561
+ })
549
562
  .createDefaultBridgedDeviceBasicInformationClusterServer('Plug 2', 'BOU00064-2', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
550
563
  .addRequiredClusterServers();
551
564
  this.smartBridgedOutlet
552
- .addChildDeviceTypeWithClusterServer('Plug 3', [onOffOutlet, bridgedNode], [OnOffCluster.id])
565
+ .addChildDeviceTypeWithClusterServer('Plug 3', [onOffOutlet, bridgedNode], [OnOffCluster.id], {
566
+ id: 'Plug3',
567
+ tagList: [getSemtag(NumberTag.Three)],
568
+ })
553
569
  .createDefaultBridgedDeviceBasicInformationClusterServer('Plug 3', 'BOU00064-3', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
554
570
  .addRequiredClusterServers();
555
571
  this.smartBridgedOutlet
556
- .addChildDeviceTypeWithClusterServer('Plug 4', [onOffOutlet, bridgedNode], [OnOffCluster.id])
572
+ .addChildDeviceTypeWithClusterServer('Plug 4', [onOffOutlet, bridgedNode], [OnOffCluster.id], {
573
+ id: 'Plug4',
574
+ tagList: [getSemtag(NumberTag.Four)],
575
+ })
557
576
  .createDefaultBridgedDeviceBasicInformationClusterServer('Plug 4', 'BOU00064-4', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
558
577
  .addRequiredClusterServers();
559
578
  this.smartBridgedOutlet = await this.addDevice(this.smartBridgedOutlet);
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "2.0.13-dev-20260304-437bf8f",
3
+ "version": "2.0.13-dev-20260307-b7b9cb3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge-example-dynamic-platform",
9
- "version": "2.0.13-dev-20260304-437bf8f",
9
+ "version": "2.0.13-dev-20260307-b7b9cb3",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "node-ansi-logger": "3.2.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "2.0.13-dev-20260304-437bf8f",
3
+ "version": "2.0.13-dev-20260307-b7b9cb3",
4
4
  "description": "Matterbridge dynamic plugin",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",