matterbridge-example-dynamic-platform 2.0.13-dev-20260302-e8d75fe → 2.0.13-dev-20260303-d110404
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 +4 -1
- package/README.md +13 -11
- package/dist/module.js +63 -9
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -35,7 +35,10 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
35
35
|
|
|
36
36
|
### Added
|
|
37
37
|
|
|
38
|
-
- [BridgedOutlet]: Add a bridged outlet with four individually controllable plugs.
|
|
38
|
+
- [BridgedOutlet]: Add a bridged outlet with four individually controllable plugs that expose their names.
|
|
39
|
+
- [onOffMountedLegacy]: Add an onOff Mounted Switch legacy device.
|
|
40
|
+
- [dimmerMountedLegacy]: Add a dimmer Mounted Switch legacy device.
|
|
41
|
+
- [solarPower]: Add four panels.
|
|
39
42
|
|
|
40
43
|
### Changed
|
|
41
44
|
|
package/README.md
CHANGED
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
|
|
25
25
|
Matterbridge dynamic platform example plugin is a template to develop your own plugin using the dynamic platform.
|
|
26
26
|
|
|
27
|
-
It exposes
|
|
27
|
+
It exposes 66 virtual devices:
|
|
28
28
|
|
|
29
29
|
- a door contact sensor
|
|
30
30
|
- a motion sensor
|
|
31
31
|
- an illuminance sensor
|
|
32
32
|
- a temperature sensor
|
|
33
|
-
-
|
|
33
|
+
- a humidity sensor
|
|
34
34
|
- a pressure sensor
|
|
35
35
|
- a flow sensor
|
|
36
36
|
- a climate sensor with temperature, humidity and pressure
|
|
@@ -46,7 +46,7 @@ It exposes 64 virtual devices:
|
|
|
46
46
|
- an outlet (plug) with onOff cluster, energy measurements and power measurements
|
|
47
47
|
- an outlet (plug) with onOff cluster, apparent energy measurements and power measurements
|
|
48
48
|
- a smart outlet with an energy meter and four individually controllable sockets (with tagList 1, 2, 3 and 4)
|
|
49
|
-
- a bridged outlet with four individually controllable plugs
|
|
49
|
+
- a bridged outlet with four individually controllable plugs that expose their names
|
|
50
50
|
- a cover with windowCovering cluster and lift feature
|
|
51
51
|
- a cover with windowCovering cluster and both lift and tilt features
|
|
52
52
|
- a lock with doorLock cluster
|
|
@@ -60,22 +60,24 @@ It exposes 64 virtual devices:
|
|
|
60
60
|
- a fan with Off Low Med High presets
|
|
61
61
|
- a fan with Off Low Med High Auto presets and step
|
|
62
62
|
- a fan with all the features MultiSpeed, Auto, Step, Rock, Wind and AirflowDirection and mode Off Low Med High Auto.
|
|
63
|
-
- a
|
|
64
|
-
- a
|
|
65
|
-
- a
|
|
63
|
+
- a rain sensor device
|
|
64
|
+
- a water freeze detector device
|
|
65
|
+
- a water leak detector device
|
|
66
66
|
- a smokeCoAlarm (with smoke and co features) sensor (supported by Apple Home)
|
|
67
67
|
- a smokeCoAlarm (with smoke only feature) sensor (supported by Apple Home)
|
|
68
68
|
- a smokeCoAlarm (with co only feature) sensor (supported by Apple Home)
|
|
69
69
|
- an airConditioner device
|
|
70
70
|
- an airPurifier device with temperature and humidity sensor (supported by Apple Home)
|
|
71
|
-
- a
|
|
71
|
+
- a pump device
|
|
72
72
|
- a waterValve device
|
|
73
73
|
- an airQuality device with all concentration measurements clusters (supported by Apple Home with the concentration measurements from version 18.5)
|
|
74
74
|
- a momentary switch composed by three switches with Single Double Long (tagged with One Two Three and Top Middle Bottom) and three switches with Single only.
|
|
75
75
|
- a latching switch
|
|
76
76
|
- a Robot Vacuum Cleaner device (supported by SmartThings, Alexa, Home Assistant and partially by Apple Home). Read also <https://github.com/Luligu/matterbridge/discussions/264>.
|
|
77
|
-
-
|
|
77
|
+
- an onOff Mounted Switch device (supported by SmartThings, Alexa, Home Assistant)
|
|
78
|
+
- a onOff Mounted Switch legacy device (supported by all controllers)
|
|
78
79
|
- a dimmer Mounted Switch device (supported by SmartThings, Alexa, Home Assistant)
|
|
80
|
+
- a dimmer Mounted Switch legacy device (supported by all controllers)
|
|
79
81
|
- a laundry Washer device (supported by SmartThings, Alexa and Home Assistant)
|
|
80
82
|
- a laundry Dryer device (supported by SmartThings, Alexa and Home Assistant)
|
|
81
83
|
- a dishwasher device (supported by SmartThings, Alexa and Home Assistant)
|
|
@@ -92,9 +94,9 @@ It exposes 64 virtual devices:
|
|
|
92
94
|
- a basic video player (supported by SmartThings)
|
|
93
95
|
- a speaker device (supported by SmartThings)
|
|
94
96
|
|
|
95
|
-
All these devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices), how to subscribe to attributes and how to trigger events.
|
|
97
|
+
All these devices continuously change their state and position. The plugin also shows how to use all the command handlers (so you can control all the devices), how to subscribe to attributes, and how to trigger events.
|
|
96
98
|
|
|
97
|
-
If you want to write your plugin, the easiest way to
|
|
99
|
+
If you want to write your own plugin, the easiest way to get started is to clone the [Matterbridge Plugin Template](https://github.com/Luligu/matterbridge-plugin-template). It has **Dev Container support for an instant development environment**, with all tools and extensions (like Node.js, npm, TypeScript, ESLint, Prettier, Jest, and Vitest) already loaded and configured.
|
|
98
100
|
|
|
99
101
|
If you like this project and find it useful, please consider giving it a star on [GitHub](https://github.com/Luligu/matterbridge-example-dynamic-platform) and sponsoring it.
|
|
100
102
|
|
|
@@ -108,4 +110,4 @@ See the guidelines on [Matterbridge](https://github.com/Luligu/matterbridge/blob
|
|
|
108
110
|
|
|
109
111
|
## Style guide
|
|
110
112
|
|
|
111
|
-
See also the [Style Guide](./
|
|
113
|
+
See also the [Style Guide](./STYLEGUIDE.md) for JSDoc, naming, and logging conventions used in this repository.
|
package/dist/module.js
CHANGED
|
@@ -36,6 +36,8 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
36
36
|
switch;
|
|
37
37
|
mountedOnOffSwitch;
|
|
38
38
|
mountedDimmerSwitch;
|
|
39
|
+
mountedOnOffSwitchLegacy;
|
|
40
|
+
mountedDimmerSwitchLegacy;
|
|
39
41
|
lightOnOff;
|
|
40
42
|
dimmer;
|
|
41
43
|
light;
|
|
@@ -194,7 +196,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
194
196
|
this.switch?.addCommandHandler('off', async () => {
|
|
195
197
|
this.switch?.log.info('Command off called');
|
|
196
198
|
});
|
|
197
|
-
this.mountedOnOffSwitch = new MatterbridgeEndpoint([onOffMountedSwitch,
|
|
199
|
+
this.mountedOnOffSwitch = new MatterbridgeEndpoint([onOffMountedSwitch, bridgedNode, powerSource], { id: 'OnOffMountedSwitch' }, this.config.debug)
|
|
198
200
|
.createDefaultIdentifyClusterServer()
|
|
199
201
|
.createDefaultBridgedDeviceBasicInformationClusterServer('OnOff Mounted Switch', 'OMS00011', 0xfff1, 'Matterbridge', 'Matterbridge OnOff Mounted Switch')
|
|
200
202
|
.createDefaultOnOffClusterServer()
|
|
@@ -210,7 +212,23 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
210
212
|
this.mountedOnOffSwitch?.addCommandHandler('off', async () => {
|
|
211
213
|
this.mountedOnOffSwitch?.log.info('Command off called');
|
|
212
214
|
});
|
|
213
|
-
this.
|
|
215
|
+
this.mountedOnOffSwitchLegacy = new MatterbridgeEndpoint([onOffMountedSwitch, onOffOutlet, bridgedNode, powerSource], { id: 'OnOffMountedSwitchLegacy' }, this.config.debug)
|
|
216
|
+
.createDefaultIdentifyClusterServer()
|
|
217
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('OnOff Mounted Switch Legacy', 'OMSL00011', 0xfff1, 'Matterbridge', 'Matterbridge OnOff Mounted Switch Legacy')
|
|
218
|
+
.createDefaultOnOffClusterServer()
|
|
219
|
+
.createDefaultPowerSourceWiredClusterServer()
|
|
220
|
+
.addRequiredClusterServers();
|
|
221
|
+
this.mountedOnOffSwitchLegacy = await this.addDevice(this.mountedOnOffSwitchLegacy);
|
|
222
|
+
this.mountedOnOffSwitchLegacy?.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
|
|
223
|
+
this.mountedOnOffSwitchLegacy?.log.info(`Command identify called identifyTime:${identifyTime}`);
|
|
224
|
+
});
|
|
225
|
+
this.mountedOnOffSwitchLegacy?.addCommandHandler('on', async () => {
|
|
226
|
+
this.mountedOnOffSwitchLegacy?.log.info('Command on called');
|
|
227
|
+
});
|
|
228
|
+
this.mountedOnOffSwitchLegacy?.addCommandHandler('off', async () => {
|
|
229
|
+
this.mountedOnOffSwitchLegacy?.log.info('Command off called');
|
|
230
|
+
});
|
|
231
|
+
this.mountedDimmerSwitch = new MatterbridgeEndpoint([dimmableMountedSwitch, bridgedNode, powerSource], { id: 'DimmerMountedSwitch' }, this.config.debug)
|
|
214
232
|
.createDefaultIdentifyClusterServer()
|
|
215
233
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Dimmer Mounted Switch', 'DMS00012', 0xfff1, 'Matterbridge', 'Matterbridge Dimmer Mounted Switch')
|
|
216
234
|
.createDefaultOnOffClusterServer()
|
|
@@ -233,6 +251,29 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
233
251
|
this.mountedDimmerSwitch?.addCommandHandler('moveToLevelWithOnOff', async ({ request: { level } }) => {
|
|
234
252
|
this.mountedDimmerSwitch?.log.debug(`Command moveToLevelWithOnOff called request: ${level}`);
|
|
235
253
|
});
|
|
254
|
+
this.mountedDimmerSwitchLegacy = new MatterbridgeEndpoint([dimmableMountedSwitch, dimmableOutlet, bridgedNode, powerSource], { id: 'DimmerMountedSwitchLegacy' }, this.config.debug)
|
|
255
|
+
.createDefaultIdentifyClusterServer()
|
|
256
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('Dimmer Mounted Switch Legacy', 'DMSL00012', 0xfff1, 'Matterbridge', 'Matterbridge Dimmer Mounted Switch Legacy')
|
|
257
|
+
.createDefaultOnOffClusterServer()
|
|
258
|
+
.createDefaultLevelControlClusterServer()
|
|
259
|
+
.createDefaultPowerSourceWiredClusterServer()
|
|
260
|
+
.addRequiredClusterServers();
|
|
261
|
+
this.mountedDimmerSwitchLegacy = await this.addDevice(this.mountedDimmerSwitchLegacy);
|
|
262
|
+
this.mountedDimmerSwitchLegacy?.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
|
|
263
|
+
this.mountedDimmerSwitchLegacy?.log.info(`Command identify called identifyTime:${identifyTime}`);
|
|
264
|
+
});
|
|
265
|
+
this.mountedDimmerSwitchLegacy?.addCommandHandler('on', async () => {
|
|
266
|
+
this.mountedDimmerSwitchLegacy?.log.info('Command on called');
|
|
267
|
+
});
|
|
268
|
+
this.mountedDimmerSwitchLegacy?.addCommandHandler('off', async () => {
|
|
269
|
+
this.mountedDimmerSwitchLegacy?.log.info('Command off called');
|
|
270
|
+
});
|
|
271
|
+
this.mountedDimmerSwitchLegacy?.addCommandHandler('moveToLevel', async ({ request: { level } }) => {
|
|
272
|
+
this.mountedDimmerSwitchLegacy?.log.debug(`Command moveToLevel called request: ${level}`);
|
|
273
|
+
});
|
|
274
|
+
this.mountedDimmerSwitchLegacy?.addCommandHandler('moveToLevelWithOnOff', async ({ request: { level } }) => {
|
|
275
|
+
this.mountedDimmerSwitchLegacy?.log.debug(`Command moveToLevelWithOnOff called request: ${level}`);
|
|
276
|
+
});
|
|
236
277
|
this.lightOnOff = new MatterbridgeEndpoint([onOffLight, bridgedNode, powerSource], { id: 'Light (on/off)' }, this.config.debug)
|
|
237
278
|
.createDefaultIdentifyClusterServer()
|
|
238
279
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Light (on/off)', 'LON00013', 0xfff1, 'Matterbridge', 'Matterbridge Light on/off')
|
|
@@ -462,6 +503,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
462
503
|
.createDefaultElectricalEnergyMeasurementClusterServer(0, 0)
|
|
463
504
|
.createDefaultElectricalPowerMeasurementClusterServer(220_000, 0, 0, 50_000)
|
|
464
505
|
.addRequiredClusterServers();
|
|
506
|
+
this.smartOutlet.addFixedLabel('composed', 'Compound device');
|
|
465
507
|
this.smartOutlet
|
|
466
508
|
.addChildDeviceTypeWithClusterServer('Socket 1', onOffOutlet, [OnOffCluster.id], {
|
|
467
509
|
id: 'Socket1',
|
|
@@ -488,25 +530,25 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
488
530
|
.addRequiredClusterServers();
|
|
489
531
|
this.smartOutlet = await this.addDevice(this.smartOutlet);
|
|
490
532
|
this.smartBridgedOutlet = new MatterbridgeEndpoint([aggregator, bridgedNode, powerSource], { id: 'BridgedOutlet' }, this.config.debug)
|
|
491
|
-
.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged outlet', '
|
|
533
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged outlet', 'BOU00064', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
|
|
492
534
|
.createDefaultPowerSourceWiredClusterServer()
|
|
493
535
|
.addRequiredClusterServers();
|
|
494
536
|
this.smartBridgedOutlet.addFixedLabel('composed', 'Bridged device');
|
|
495
537
|
this.smartBridgedOutlet
|
|
496
538
|
.addChildDeviceTypeWithClusterServer('Plug 1', [onOffOutlet, bridgedNode], [OnOffCluster.id])
|
|
497
|
-
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 1', '
|
|
539
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 1', 'BOU00064-1', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
|
|
498
540
|
.addRequiredClusterServers();
|
|
499
541
|
this.smartBridgedOutlet
|
|
500
542
|
.addChildDeviceTypeWithClusterServer('Plug 2', [onOffOutlet, bridgedNode], [OnOffCluster.id])
|
|
501
|
-
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 2', '
|
|
543
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 2', 'BOU00064-2', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
|
|
502
544
|
.addRequiredClusterServers();
|
|
503
545
|
this.smartBridgedOutlet
|
|
504
546
|
.addChildDeviceTypeWithClusterServer('Plug 3', [onOffOutlet, bridgedNode], [OnOffCluster.id])
|
|
505
|
-
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 3', '
|
|
547
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 3', 'BOU00064-3', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
|
|
506
548
|
.addRequiredClusterServers();
|
|
507
549
|
this.smartBridgedOutlet
|
|
508
550
|
.addChildDeviceTypeWithClusterServer('Plug 4', [onOffOutlet, bridgedNode], [OnOffCluster.id])
|
|
509
|
-
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 4', '
|
|
551
|
+
.createDefaultBridgedDeviceBasicInformationClusterServer('Plug 4', 'BOU00064-4', 0xfff1, 'Matterbridge', 'Matterbridge Bridged Outlet')
|
|
510
552
|
.addRequiredClusterServers();
|
|
511
553
|
this.smartBridgedOutlet = await this.addDevice(this.smartBridgedOutlet);
|
|
512
554
|
this.coverLift = new MatterbridgeEndpoint([coverDevice, bridgedNode, powerSource], { id: 'CoverLift' }, this.config.debug)
|
|
@@ -1179,6 +1221,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1179
1221
|
this.momentarySwitch = new MatterbridgeEndpoint([bridgedNode, powerSource], { id: 'Momentary switch composed' }, this.config.debug)
|
|
1180
1222
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Momentary switch', 'MOS00041', 0xfff1, 'Matterbridge', 'Matterbridge Momentary Switch')
|
|
1181
1223
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(50, PowerSource.BatChargeLevel.Ok, 2900, 'CR2450', 1);
|
|
1224
|
+
this.momentarySwitch.addFixedLabel('composed', 'Compound device');
|
|
1182
1225
|
this.momentarySwitch
|
|
1183
1226
|
.addChildDeviceType('Momentary switch 1', [genericSwitch], {
|
|
1184
1227
|
tagList: [
|
|
@@ -1322,8 +1365,12 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1322
1365
|
{ label: 'Solar Charging Scheduled', mode: 4, modeTags: [{ value: EnergyEvseMode.ModeTag.SolarCharging }, { value: EnergyEvseMode.ModeTag.TimeOfUse }] },
|
|
1323
1366
|
], EnergyEvse.State.PluggedInCharging, EnergyEvse.SupplyState.ChargingEnabled, EnergyEvse.FaultState.NoError, 220_000, 10_000, 2_200_000, 1_000_000, 500_000, 32_000_000);
|
|
1324
1367
|
this.evse = await this.addDevice(this.evse);
|
|
1325
|
-
this.solarPower = new SolarPower('Solar Power', 'SOL00046', 220_000, 10_000, 2200_000, 2_200_000,
|
|
1326
|
-
this.solarPower
|
|
1368
|
+
this.solarPower = new SolarPower('Solar Power', 'SOL00046', 220_000, 10_000, 2200_000, 2_200_000, 0, 500_000);
|
|
1369
|
+
this.solarPower.addPanel('Panel 1', 1);
|
|
1370
|
+
this.solarPower.addPanel('Panel 2', 2);
|
|
1371
|
+
this.solarPower.addPanel('Panel 3', 3);
|
|
1372
|
+
this.solarPower.addPanel('Panel 4', 4);
|
|
1373
|
+
this.solarPower = (await this.addDevice(this.solarPower));
|
|
1327
1374
|
this.batteryStorage = new BatteryStorage('Battery Storage', 'BST00047', 75, PowerSource.BatChargeLevel.Ok, 220_000, 10_000, 2_200_000, 1_000_000, 2_000_000, -2_000_000, 3_000_000);
|
|
1328
1375
|
this.batteryStorage = await this.addDevice(this.batteryStorage);
|
|
1329
1376
|
this.heatPump = new HeatPump('Heat Pump', 'HPU00048', 220_000, 10_000, 2_200_000, 1_000_000, 500_000, 3_000_000);
|
|
@@ -1770,11 +1817,13 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1770
1817
|
}
|
|
1771
1818
|
await this.switch?.setAttribute(OnOff.Cluster.id, 'onOff', this.intervalOnOff, this.switch.log);
|
|
1772
1819
|
await this.mountedOnOffSwitch?.setAttribute(OnOff.Cluster.id, 'onOff', this.intervalOnOff, this.mountedOnOffSwitch.log);
|
|
1820
|
+
await this.mountedOnOffSwitchLegacy?.setAttribute(OnOff.Cluster.id, 'onOff', this.intervalOnOff, this.mountedOnOffSwitchLegacy.log);
|
|
1773
1821
|
this.switch?.log.info(`Set switch initial onOff to ${this.intervalOnOff}`);
|
|
1774
1822
|
if (this.config.useInterval) {
|
|
1775
1823
|
this.addInterval(async () => {
|
|
1776
1824
|
await this.switch?.setAttribute(OnOff.Cluster.id, 'onOff', this.intervalOnOff, this.switch.log);
|
|
1777
1825
|
await this.mountedOnOffSwitch?.setAttribute(OnOff.Cluster.id, 'onOff', this.intervalOnOff, this.mountedOnOffSwitch.log);
|
|
1826
|
+
await this.mountedOnOffSwitchLegacy?.setAttribute(OnOff.Cluster.id, 'onOff', this.intervalOnOff, this.mountedOnOffSwitchLegacy.log);
|
|
1778
1827
|
this.log.info(`Set switches onOff to ${this.intervalOnOff}`);
|
|
1779
1828
|
this.intervalOnOff = !this.intervalOnOff;
|
|
1780
1829
|
}, 60 * 1000 + 100);
|
|
@@ -1785,6 +1834,8 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1785
1834
|
await this.dimmer?.setAttribute(LevelControl.Cluster.id, 'currentLevel', 1, this.dimmer.log);
|
|
1786
1835
|
await this.mountedDimmerSwitch?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.mountedDimmerSwitch.log);
|
|
1787
1836
|
await this.mountedDimmerSwitch?.setAttribute(LevelControl.Cluster.id, 'currentLevel', 1, this.mountedDimmerSwitch.log);
|
|
1837
|
+
await this.mountedDimmerSwitchLegacy?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.mountedDimmerSwitchLegacy.log);
|
|
1838
|
+
await this.mountedDimmerSwitchLegacy?.setAttribute(LevelControl.Cluster.id, 'currentLevel', 1, this.mountedDimmerSwitchLegacy.log);
|
|
1788
1839
|
this.dimmer?.log.info(`Set dimmer initial onOff to false, currentLevel to 1.`);
|
|
1789
1840
|
await this.light?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.light.log);
|
|
1790
1841
|
await this.light?.setAttribute(LevelControl.Cluster.id, 'currentLevel', 200, this.light.log);
|
|
@@ -1817,6 +1868,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1817
1868
|
await this.lightOnOff?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.lightOnOff.log);
|
|
1818
1869
|
await this.dimmer?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.dimmer.log);
|
|
1819
1870
|
await this.mountedDimmerSwitch?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.mountedDimmerSwitch.log);
|
|
1871
|
+
await this.mountedDimmerSwitchLegacy?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.mountedDimmerSwitchLegacy.log);
|
|
1820
1872
|
await this.light?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.light.log);
|
|
1821
1873
|
await this.lightXY?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.lightXY.log);
|
|
1822
1874
|
await this.lightHS?.setAttribute(OnOff.Cluster.id, 'onOff', false, this.lightHS.log);
|
|
@@ -1827,6 +1879,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1827
1879
|
await this.lightOnOff?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.lightOnOff?.log);
|
|
1828
1880
|
await this.dimmer?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.dimmer.log);
|
|
1829
1881
|
await this.mountedDimmerSwitch?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.mountedDimmerSwitch.log);
|
|
1882
|
+
await this.mountedDimmerSwitchLegacy?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.mountedDimmerSwitchLegacy.log);
|
|
1830
1883
|
await this.light?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.light.log);
|
|
1831
1884
|
await this.lightXY?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.lightXY.log);
|
|
1832
1885
|
await this.lightHS?.setAttribute(OnOff.Cluster.id, 'onOff', true, this.lightHS.log);
|
|
@@ -1834,6 +1887,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1834
1887
|
this.log.info('Set lights onOff to true');
|
|
1835
1888
|
await this.dimmer?.setAttribute(LevelControl.Cluster.id, 'currentLevel', this.intervalLevel, this.dimmer.log);
|
|
1836
1889
|
await this.mountedDimmerSwitch?.setAttribute(LevelControl.Cluster.id, 'currentLevel', this.intervalLevel, this.mountedDimmerSwitch.log);
|
|
1890
|
+
await this.mountedDimmerSwitchLegacy?.setAttribute(LevelControl.Cluster.id, 'currentLevel', this.intervalLevel, this.mountedDimmerSwitchLegacy.log);
|
|
1837
1891
|
await this.light?.setAttribute(LevelControl.Cluster.id, 'currentLevel', this.intervalLevel, this.light.log);
|
|
1838
1892
|
await this.lightXY?.setAttribute(LevelControl.Cluster.id, 'currentLevel', this.intervalLevel, this.lightXY.log);
|
|
1839
1893
|
await this.lightHS?.setAttribute(LevelControl.Cluster.id, 'currentLevel', this.intervalLevel, this.lightHS.log);
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-example-dynamic-platform",
|
|
3
|
-
"version": "2.0.13-dev-
|
|
3
|
+
"version": "2.0.13-dev-20260303-d110404",
|
|
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-
|
|
9
|
+
"version": "2.0.13-dev-20260303-d110404",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"node-ansi-logger": "3.2.0",
|
package/package.json
CHANGED