matterbridge-example-dynamic-platform 2.0.0 → 2.0.1-dev-20251111-59f5416
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 +13 -0
- package/dist/module.js +50 -49
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -25,6 +25,19 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
25
25
|
<img src="bmc-button.svg" alt="Buy me a coffee" width="120">
|
|
26
26
|
</a>
|
|
27
27
|
|
|
28
|
+
## [2.0.1] - 2025-11-11
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- [package]: Updated dependencies.
|
|
33
|
+
- [package]: Bumped package to automator v. 2.0.12.
|
|
34
|
+
- [jest]: Updated jestHelpers to v. 1.0.12.
|
|
35
|
+
- [workflows]: Use shallow clones and --no-fund --no-audit for faster builds.
|
|
36
|
+
|
|
37
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
38
|
+
<img src="bmc-button.svg" alt="Buy me a coffee" width="80">
|
|
39
|
+
</a>
|
|
40
|
+
|
|
28
41
|
## [2.0.0] - 2025-10-24
|
|
29
42
|
|
|
30
43
|
### Changed
|
package/dist/module.js
CHANGED
|
@@ -3,7 +3,7 @@ import { RoboticVacuumCleaner, LaundryWasher, WaterHeater, Evse, SolarPower, Bat
|
|
|
3
3
|
import { isValidBoolean, isValidNumber, isValidObject, isValidString } from 'matterbridge/utils';
|
|
4
4
|
import { debugStringify } from 'matterbridge/logger';
|
|
5
5
|
import { AreaNamespaceTag, LocationTag, NumberTag, PositionTag, RefrigeratorTag, SwitchesTag, UINT16_MAX, UINT32_MAX } from 'matterbridge/matter';
|
|
6
|
-
import { PowerSource, BooleanState, OnOff, LevelControl, AirQuality, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, FlowMeasurement, ColorControl, DoorLock, FanControl, FormaldehydeConcentrationMeasurement, NitrogenDioxideConcentrationMeasurement, OzoneConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm25ConcentrationMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, SmokeCoAlarm, TemperatureMeasurement, Thermostat, ThermostatCluster, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, EnergyEvseMode, EnergyEvse, RvcRunMode, RvcCleanMode,
|
|
6
|
+
import { PowerSource, BooleanState, OnOff, LevelControl, AirQuality, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, FlowMeasurement, ColorControl, DoorLock, FanControl, FormaldehydeConcentrationMeasurement, NitrogenDioxideConcentrationMeasurement, OzoneConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm25ConcentrationMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, SmokeCoAlarm, TemperatureMeasurement, Thermostat, ThermostatCluster, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, EnergyEvseMode, EnergyEvse, RvcRunMode, RvcCleanMode, Descriptor, BridgedDeviceBasicInformation, OvenMode, OperationalState, OccupancySensing, IlluminanceMeasurement, PressureMeasurement, RefrigeratorAndTemperatureControlledCabinetMode, RvcOperationalState, DeviceEnergyManagement, } from 'matterbridge/matter/clusters';
|
|
7
7
|
function luxToMatter(lux) {
|
|
8
8
|
if (!Number.isFinite(lux) || lux <= 0)
|
|
9
9
|
return 0;
|
|
@@ -119,56 +119,56 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
119
119
|
this.log.info('onStart called with reason:', reason ?? 'none');
|
|
120
120
|
await this.ready;
|
|
121
121
|
await this.clearSelect();
|
|
122
|
-
this.door = new MatterbridgeEndpoint([contactSensor, bridgedNode, powerSource], {
|
|
122
|
+
this.door = new MatterbridgeEndpoint([contactSensor, bridgedNode, powerSource], { id: 'Door' }, this.config.debug)
|
|
123
123
|
.createDefaultIdentifyClusterServer()
|
|
124
124
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Door', 'DOO00001', 0xfff1, 'Matterbridge', 'Matterbridge Door')
|
|
125
125
|
.createDefaultBooleanStateClusterServer(true)
|
|
126
126
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(90, PowerSource.BatChargeLevel.Ok, 2990, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
127
127
|
.addRequiredClusterServers();
|
|
128
128
|
this.door = await this.addDevice(this.door);
|
|
129
|
-
this.occupancy = new MatterbridgeEndpoint([occupancySensor, bridgedNode, powerSource], {
|
|
129
|
+
this.occupancy = new MatterbridgeEndpoint([occupancySensor, bridgedNode, powerSource], { id: 'Occupancy' }, this.config.debug)
|
|
130
130
|
.createDefaultIdentifyClusterServer()
|
|
131
131
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Occupancy', 'OCC00002', 0xfff1, 'Matterbridge', 'Matterbridge Occupancy')
|
|
132
132
|
.createDefaultOccupancySensingClusterServer(false)
|
|
133
133
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(70, PowerSource.BatChargeLevel.Ok, 2950, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
134
134
|
.addRequiredClusterServers();
|
|
135
135
|
this.occupancy = await this.addDevice(this.occupancy);
|
|
136
|
-
this.illuminance = new MatterbridgeEndpoint([lightSensor, bridgedNode, powerSource], {
|
|
136
|
+
this.illuminance = new MatterbridgeEndpoint([lightSensor, bridgedNode, powerSource], { id: 'Illuminance' }, this.config.debug)
|
|
137
137
|
.createDefaultIdentifyClusterServer()
|
|
138
138
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Illuminance', 'ILL00003', 0xfff1, 'Matterbridge', 'Matterbridge Illuminance')
|
|
139
139
|
.createDefaultIlluminanceMeasurementClusterServer(luxToMatter(1))
|
|
140
140
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3100, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
141
141
|
.addRequiredClusterServers();
|
|
142
142
|
this.illuminance = await this.addDevice(this.illuminance);
|
|
143
|
-
this.temperature = new MatterbridgeEndpoint([temperatureSensor, bridgedNode, powerSource], {
|
|
143
|
+
this.temperature = new MatterbridgeEndpoint([temperatureSensor, bridgedNode, powerSource], { id: 'Temperature' }, this.config.debug)
|
|
144
144
|
.createDefaultIdentifyClusterServer()
|
|
145
145
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Temperature', 'TEM00004', 0xfff1, 'Matterbridge', 'Matterbridge Temperature')
|
|
146
146
|
.createDefaultTemperatureMeasurementClusterServer(1000)
|
|
147
147
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3100, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
148
148
|
.addRequiredClusterServers();
|
|
149
149
|
this.temperature = await this.addDevice(this.temperature);
|
|
150
|
-
this.humidity = new MatterbridgeEndpoint([humiditySensor, bridgedNode, powerSource], {
|
|
150
|
+
this.humidity = new MatterbridgeEndpoint([humiditySensor, bridgedNode, powerSource], { id: 'Humidity' }, this.config.debug)
|
|
151
151
|
.createDefaultIdentifyClusterServer()
|
|
152
152
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Humidity', 'HUM00005', 0xfff1, 'Matterbridge', 'Matterbridge Humidity')
|
|
153
153
|
.createDefaultRelativeHumidityMeasurementClusterServer(1000)
|
|
154
154
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3100, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
155
155
|
.addRequiredClusterServers();
|
|
156
156
|
this.humidity = await this.addDevice(this.humidity);
|
|
157
|
-
this.pressure = new MatterbridgeEndpoint([pressureSensor, bridgedNode, powerSource], {
|
|
157
|
+
this.pressure = new MatterbridgeEndpoint([pressureSensor, bridgedNode, powerSource], { id: 'Pressure' }, this.config.debug)
|
|
158
158
|
.createDefaultIdentifyClusterServer()
|
|
159
159
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Pressure', 'PRE00006', 0xfff1, 'Matterbridge', 'Matterbridge Pressure')
|
|
160
160
|
.createDefaultPressureMeasurementClusterServer(9000)
|
|
161
161
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3050, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
162
162
|
.addRequiredClusterServers();
|
|
163
163
|
this.pressure = await this.addDevice(this.pressure);
|
|
164
|
-
this.flow = new MatterbridgeEndpoint([flowSensor, bridgedNode, powerSource], {
|
|
164
|
+
this.flow = new MatterbridgeEndpoint([flowSensor, bridgedNode, powerSource], { id: 'Flow' }, this.config.debug)
|
|
165
165
|
.createDefaultIdentifyClusterServer()
|
|
166
166
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Flow', 'FLO00007', 0xfff1, 'Matterbridge', 'Matterbridge Flow')
|
|
167
167
|
.createDefaultFlowMeasurementClusterServer(10)
|
|
168
168
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3050, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
169
169
|
.addRequiredClusterServers();
|
|
170
170
|
this.flow = await this.addDevice(this.flow);
|
|
171
|
-
this.climate = new MatterbridgeEndpoint([temperatureSensor, humiditySensor, pressureSensor, bridgedNode, powerSource], {
|
|
171
|
+
this.climate = new MatterbridgeEndpoint([temperatureSensor, humiditySensor, pressureSensor, bridgedNode, powerSource], { id: 'Climate' }, this.config.debug)
|
|
172
172
|
.createDefaultIdentifyClusterServer()
|
|
173
173
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Climate', 'CLI00008', 0xfff1, 'Matterbridge', 'Matterbridge Climate')
|
|
174
174
|
.createDefaultTemperatureMeasurementClusterServer(1000)
|
|
@@ -177,7 +177,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
177
177
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(90, PowerSource.BatChargeLevel.Ok, 2990, '2 x AA', 2, PowerSource.BatReplaceability.UserReplaceable)
|
|
178
178
|
.addRequiredClusterServers();
|
|
179
179
|
this.climate = await this.addDevice(this.climate);
|
|
180
|
-
this.select = new MatterbridgeEndpoint([modeSelect, bridgedNode, powerSource], {
|
|
180
|
+
this.select = new MatterbridgeEndpoint([modeSelect, bridgedNode, powerSource], { id: 'Select' }, this.config.debug)
|
|
181
181
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Select', 'SEL00009', 0xfff1, 'Matterbridge', 'Matterbridge Select')
|
|
182
182
|
.createDefaultModeSelectClusterServer('Night mode', [
|
|
183
183
|
{ label: 'Led ON', mode: 1, semanticTags: [] },
|
|
@@ -189,7 +189,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
189
189
|
this.select?.addCommandHandler('changeToMode', async ({ request: { newMode } }) => {
|
|
190
190
|
this.log.info(`Command changeToMode called newMode:${newMode}`);
|
|
191
191
|
});
|
|
192
|
-
this.switch = new MatterbridgeEndpoint([onOffSwitch, bridgedNode, powerSource], {
|
|
192
|
+
this.switch = new MatterbridgeEndpoint([onOffSwitch, bridgedNode, powerSource], { id: 'Switch' }, this.config.debug)
|
|
193
193
|
.createDefaultIdentifyClusterServer()
|
|
194
194
|
.createDefaultGroupsClusterServer()
|
|
195
195
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Switch', 'SWI00010', 0xfff1, 'Matterbridge', 'Matterbridge Switch')
|
|
@@ -205,7 +205,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
205
205
|
this.switch?.addCommandHandler('off', async () => {
|
|
206
206
|
this.switch?.log.info('Command off called');
|
|
207
207
|
});
|
|
208
|
-
this.mountedOnOffSwitch = new MatterbridgeEndpoint([onOffMountedSwitch, bridgedNode, powerSource], {
|
|
208
|
+
this.mountedOnOffSwitch = new MatterbridgeEndpoint([onOffMountedSwitch, bridgedNode, powerSource], { id: 'OnOffMountedSwitch' }, this.config.debug)
|
|
209
209
|
.createDefaultIdentifyClusterServer()
|
|
210
210
|
.createDefaultGroupsClusterServer()
|
|
211
211
|
.createDefaultBridgedDeviceBasicInformationClusterServer('OnOff Mounted Switch', 'OMS00011', 0xfff1, 'Matterbridge', 'Matterbridge OnOff Mounted Switch')
|
|
@@ -221,7 +221,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
221
221
|
this.mountedOnOffSwitch?.addCommandHandler('off', async () => {
|
|
222
222
|
this.mountedOnOffSwitch?.log.info('Command off called');
|
|
223
223
|
});
|
|
224
|
-
this.mountedDimmerSwitch = new MatterbridgeEndpoint([dimmableMountedSwitch, bridgedNode, powerSource], {
|
|
224
|
+
this.mountedDimmerSwitch = new MatterbridgeEndpoint([dimmableMountedSwitch, bridgedNode, powerSource], { id: 'DimmerMountedSwitch' }, this.config.debug)
|
|
225
225
|
.createDefaultIdentifyClusterServer()
|
|
226
226
|
.createDefaultGroupsClusterServer()
|
|
227
227
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Dimmer Mounted Switch', 'DMS00012', 0xfff1, 'Matterbridge', 'Matterbridge Dimmer Mounted Switch')
|
|
@@ -245,7 +245,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
245
245
|
this.mountedDimmerSwitch?.addCommandHandler('moveToLevelWithOnOff', async ({ request: { level } }) => {
|
|
246
246
|
this.mountedDimmerSwitch?.log.debug(`Command moveToLevelWithOnOff called request: ${level}`);
|
|
247
247
|
});
|
|
248
|
-
this.lightOnOff = new MatterbridgeEndpoint([onOffLight, bridgedNode, powerSource], {
|
|
248
|
+
this.lightOnOff = new MatterbridgeEndpoint([onOffLight, bridgedNode, powerSource], { id: 'Light (on/off)' }, this.config.debug)
|
|
249
249
|
.createDefaultIdentifyClusterServer()
|
|
250
250
|
.createDefaultGroupsClusterServer()
|
|
251
251
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Light (on/off)', 'LON00013', 0xfff1, 'Matterbridge', 'Matterbridge Light on/off')
|
|
@@ -261,7 +261,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
261
261
|
this.lightOnOff?.addCommandHandler('off', async () => {
|
|
262
262
|
this.lightOnOff?.log.info('Command off called');
|
|
263
263
|
});
|
|
264
|
-
this.dimmer = new MatterbridgeEndpoint([dimmableLight, bridgedNode, powerSource], {
|
|
264
|
+
this.dimmer = new MatterbridgeEndpoint([dimmableLight, bridgedNode, powerSource], { id: 'Dimmer' }, this.config.debug)
|
|
265
265
|
.createDefaultIdentifyClusterServer()
|
|
266
266
|
.createDefaultGroupsClusterServer()
|
|
267
267
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Dimmer', 'DMR00014', 0xfff1, 'Matterbridge', 'Matterbridge Dimmer')
|
|
@@ -284,7 +284,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
284
284
|
this.dimmer?.addCommandHandler('moveToLevelWithOnOff', async ({ request: { level } }) => {
|
|
285
285
|
this.dimmer?.log.debug(`Command moveToLevelWithOnOff called request: ${level}`);
|
|
286
286
|
});
|
|
287
|
-
this.light = new MatterbridgeEndpoint([extendedColorLight, bridgedNode, powerSource], {
|
|
287
|
+
this.light = new MatterbridgeEndpoint([extendedColorLight, bridgedNode, powerSource], { id: 'Light (XY, HS, CT)' }, this.config.debug)
|
|
288
288
|
.createDefaultIdentifyClusterServer()
|
|
289
289
|
.createDefaultGroupsClusterServer()
|
|
290
290
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Light (XY, HS, CT)', 'LXC00015', 0xfff1, 'Matterbridge', 'Matterbridge Light')
|
|
@@ -323,7 +323,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
323
323
|
this.light?.addCommandHandler('moveToColorTemperature', async ({ request: { colorTemperatureMireds } }) => {
|
|
324
324
|
this.light?.log.debug(`Command moveToColorTemperature called request: ${colorTemperatureMireds}`);
|
|
325
325
|
});
|
|
326
|
-
this.lightHS = new MatterbridgeEndpoint([colorTemperatureLight, bridgedNode, powerSource], {
|
|
326
|
+
this.lightHS = new MatterbridgeEndpoint([colorTemperatureLight, bridgedNode, powerSource], { id: 'Light (HS, CT)' }, this.config.debug)
|
|
327
327
|
.createDefaultIdentifyClusterServer()
|
|
328
328
|
.createDefaultGroupsClusterServer()
|
|
329
329
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Light (HS, CT)', 'LHC00016', 0xfff1, 'Matterbridge', 'Matterbridge Light')
|
|
@@ -359,7 +359,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
359
359
|
this.lightHS?.addCommandHandler('moveToColorTemperature', async ({ request: { colorTemperatureMireds } }) => {
|
|
360
360
|
this.lightHS?.log.debug(`Command moveToColorTemperature called request: ${colorTemperatureMireds}`);
|
|
361
361
|
});
|
|
362
|
-
this.lightXY = new MatterbridgeEndpoint([extendedColorLight, bridgedNode, powerSource], {
|
|
362
|
+
this.lightXY = new MatterbridgeEndpoint([extendedColorLight, bridgedNode, powerSource], { id: 'Light (XY, CT)' }, this.config.debug)
|
|
363
363
|
.createDefaultIdentifyClusterServer()
|
|
364
364
|
.createDefaultGroupsClusterServer()
|
|
365
365
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Light (XY, CT)', 'LXT00017', 0xfff1, 'Matterbridge', 'Matterbridge Light')
|
|
@@ -389,7 +389,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
389
389
|
this.lightXY?.addCommandHandler('moveToColorTemperature', async ({ request: { colorTemperatureMireds } }) => {
|
|
390
390
|
this.lightXY?.log.debug(`Command moveToColorTemperature called request: ${colorTemperatureMireds}`);
|
|
391
391
|
});
|
|
392
|
-
this.lightCT = new MatterbridgeEndpoint([colorTemperatureLight, bridgedNode, powerSource], {
|
|
392
|
+
this.lightCT = new MatterbridgeEndpoint([colorTemperatureLight, bridgedNode, powerSource], { id: 'Light (CT)' }, this.config.debug)
|
|
393
393
|
.createDefaultIdentifyClusterServer()
|
|
394
394
|
.createDefaultGroupsClusterServer()
|
|
395
395
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Light (CT)', 'LCT00018', 0xfff1, 'Matterbridge', 'Matterbridge Light')
|
|
@@ -416,7 +416,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
416
416
|
this.lightCT?.addCommandHandler('moveToColorTemperature', async ({ request: { colorTemperatureMireds } }) => {
|
|
417
417
|
this.lightCT?.log.debug(`Command moveToColorTemperature called request: ${colorTemperatureMireds}`);
|
|
418
418
|
});
|
|
419
|
-
this.outlet = new MatterbridgeEndpoint([onOffOutlet, bridgedNode, powerSource], {
|
|
419
|
+
this.outlet = new MatterbridgeEndpoint([onOffOutlet, bridgedNode, powerSource], { id: 'Outlet' }, this.config.debug)
|
|
420
420
|
.createDefaultIdentifyClusterServer()
|
|
421
421
|
.createDefaultGroupsClusterServer()
|
|
422
422
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Outlet', 'OUT00019', 0xfff1, 'Matterbridge', 'Matterbridge Outlet')
|
|
@@ -432,7 +432,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
432
432
|
this.outlet?.addCommandHandler('off', async () => {
|
|
433
433
|
this.outlet?.log.info('Command off called');
|
|
434
434
|
});
|
|
435
|
-
this.coverLift = new MatterbridgeEndpoint([coverDevice, bridgedNode, powerSource], {
|
|
435
|
+
this.coverLift = new MatterbridgeEndpoint([coverDevice, bridgedNode, powerSource], { id: 'CoverLift' }, this.config.debug)
|
|
436
436
|
.createDefaultIdentifyClusterServer()
|
|
437
437
|
.createDefaultGroupsClusterServer()
|
|
438
438
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Cover lift', 'COV00020', 0xfff1, 'Matterbridge', 'Matterbridge Cover')
|
|
@@ -458,7 +458,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
458
458
|
await this.coverLift?.setWindowCoveringCurrentTargetStatus(liftPercent100thsValue, liftPercent100thsValue, WindowCovering.MovementStatus.Stopped);
|
|
459
459
|
this.coverLift?.log.info(`Command goToLiftPercentage ${liftPercent100thsValue} called`);
|
|
460
460
|
});
|
|
461
|
-
this.coverLiftTilt = new MatterbridgeEndpoint([coverDevice, bridgedNode, powerSource], {
|
|
461
|
+
this.coverLiftTilt = new MatterbridgeEndpoint([coverDevice, bridgedNode, powerSource], { id: 'CoverLiftTilt' }, this.config.debug)
|
|
462
462
|
.createDefaultIdentifyClusterServer()
|
|
463
463
|
.createDefaultGroupsClusterServer()
|
|
464
464
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Cover lift and tilt', 'CLT00021', 0xfff1, 'Matterbridge', 'Matterbridge Cover')
|
|
@@ -489,7 +489,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
489
489
|
await this.coverLiftTilt?.setWindowCoveringTargetAndCurrentPosition(position, tiltPercent100thsValue);
|
|
490
490
|
this.coverLiftTilt?.log.info(`Command goToTiltPercentage ${tiltPercent100thsValue} called`);
|
|
491
491
|
});
|
|
492
|
-
this.lock = new MatterbridgeEndpoint([doorLockDevice, bridgedNode, powerSource], {
|
|
492
|
+
this.lock = new MatterbridgeEndpoint([doorLockDevice, bridgedNode, powerSource], { id: 'Lock' }, this.config.debug)
|
|
493
493
|
.createDefaultIdentifyClusterServer()
|
|
494
494
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Lock', 'LOC00022', 0xfff1, 'Matterbridge', 'Matterbridge Lock')
|
|
495
495
|
.createDefaultDoorLockClusterServer()
|
|
@@ -504,7 +504,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
504
504
|
this.lock?.addCommandHandler('unlockDoor', async () => {
|
|
505
505
|
this.lock?.log.info('Command unlockDoor called');
|
|
506
506
|
});
|
|
507
|
-
this.thermoAuto = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], {
|
|
507
|
+
this.thermoAuto = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], { id: 'Thermostat (AutoMode)' }, this.config.debug)
|
|
508
508
|
.createDefaultIdentifyClusterServer()
|
|
509
509
|
.createDefaultGroupsClusterServer()
|
|
510
510
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (Auto)', 'TAU00023', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat')
|
|
@@ -543,7 +543,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
543
543
|
await this.thermoAuto?.subscribeAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', (value) => {
|
|
544
544
|
this.thermoAuto?.log.info('Subscribe occupiedCoolingSetpoint called with:', value / 100);
|
|
545
545
|
}, this.thermoAuto.log);
|
|
546
|
-
this.thermoAutoOccupancy = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], {
|
|
546
|
+
this.thermoAutoOccupancy = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], { id: 'Thermostat (AutoModeOccupancy)' }, this.config.debug)
|
|
547
547
|
.createDefaultIdentifyClusterServer()
|
|
548
548
|
.createDefaultGroupsClusterServer()
|
|
549
549
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (AutoOccupancy)', 'TAO00058', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat')
|
|
@@ -566,7 +566,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
566
566
|
await this.thermoAutoOccupancy?.subscribeAttribute(ThermostatCluster.id, 'unoccupiedCoolingSetpoint', (value) => {
|
|
567
567
|
this.thermoAutoOccupancy?.log.info('Subscribe unoccupiedCoolingSetpoint called with:', value / 100);
|
|
568
568
|
}, this.thermoAutoOccupancy.log);
|
|
569
|
-
this.thermoHeat = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], {
|
|
569
|
+
this.thermoHeat = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], { id: 'Thermostat (Heat)' }, this.config.debug)
|
|
570
570
|
.createDefaultIdentifyClusterServer()
|
|
571
571
|
.createDefaultGroupsClusterServer()
|
|
572
572
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (Heat)', 'THE00024', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat')
|
|
@@ -604,7 +604,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
604
604
|
await this.thermoHeat?.subscribeAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', (value) => {
|
|
605
605
|
this.thermoHeat?.log.info('Subscribe occupiedHeatingSetpoint called with:', value / 100);
|
|
606
606
|
}, this.thermoHeat.log);
|
|
607
|
-
this.thermoCool = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], {
|
|
607
|
+
this.thermoCool = new MatterbridgeEndpoint([thermostatDevice, bridgedNode, powerSource], { id: 'Thermostat (Cool)' }, this.config.debug)
|
|
608
608
|
.createDefaultIdentifyClusterServer()
|
|
609
609
|
.createDefaultGroupsClusterServer()
|
|
610
610
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (Cool)', 'TCO00025', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat')
|
|
@@ -624,7 +624,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
624
624
|
await this.thermoCool?.subscribeAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', (value) => {
|
|
625
625
|
this.thermoCool?.log.info('Subscribe occupiedCoolingSetpoint called with:', value / 100);
|
|
626
626
|
}, this.thermoCool.log);
|
|
627
|
-
this.airPurifier = new MatterbridgeEndpoint([airPurifier, temperatureSensor, humiditySensor, bridgedNode, powerSource], {
|
|
627
|
+
this.airPurifier = new MatterbridgeEndpoint([airPurifier, temperatureSensor, humiditySensor, bridgedNode, powerSource], { id: 'Air purifier' }, this.config.debug)
|
|
628
628
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Air purifier', 'AIR00026', 0xfff1, 'Matterbridge', 'Matterbridge Air purifier')
|
|
629
629
|
.createDefaultIdentifyClusterServer()
|
|
630
630
|
.createDefaultFanControlClusterServer()
|
|
@@ -669,7 +669,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
669
669
|
if (isValidNumber(newValue, 0, 100))
|
|
670
670
|
this.airPurifier?.setAttribute(FanControl.Cluster.id, 'percentCurrent', newValue, this.airPurifier?.log);
|
|
671
671
|
}, this.airPurifier.log);
|
|
672
|
-
this.pump = new MatterbridgeEndpoint([pumpDevice, bridgedNode, powerSource], {
|
|
672
|
+
this.pump = new MatterbridgeEndpoint([pumpDevice, bridgedNode, powerSource], { id: 'Pump' }, this.config.debug)
|
|
673
673
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Pump', 'PUM00028', 0xfff1, 'Matterbridge', 'Matterbridge Pump')
|
|
674
674
|
.createDefaultIdentifyClusterServer()
|
|
675
675
|
.createOnOffClusterServer()
|
|
@@ -692,7 +692,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
692
692
|
this.pump?.addCommandHandler('moveToLevelWithOnOff', async ({ request: { level } }) => {
|
|
693
693
|
this.pump?.log.info(`Command moveToLevelWithOnOff called request: ${level}`);
|
|
694
694
|
});
|
|
695
|
-
this.valve = new MatterbridgeEndpoint([waterValve, bridgedNode, powerSource], {
|
|
695
|
+
this.valve = new MatterbridgeEndpoint([waterValve, bridgedNode, powerSource], { id: 'Water valve' }, this.config.debug)
|
|
696
696
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Water valve', 'WAV00029', 0xfff1, 'Matterbridge', 'Matterbridge Water valve')
|
|
697
697
|
.createDefaultIdentifyClusterServer()
|
|
698
698
|
.createDefaultValveConfigurationAndControlClusterServer()
|
|
@@ -701,7 +701,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
701
701
|
this.valve?.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
|
|
702
702
|
this.valve?.log.info(`Command identify called identifyTime:${identifyTime}`);
|
|
703
703
|
});
|
|
704
|
-
this.fanDefault = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], {
|
|
704
|
+
this.fanDefault = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], { id: 'Fan off low medium high auto' }, this.config.debug)
|
|
705
705
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Fan', 'FAN00030', 0xfff1, 'Matterbridge', 'Matterbridge Fan')
|
|
706
706
|
.createDefaultPowerSourceWiredClusterServer()
|
|
707
707
|
.createDefaultFanControlClusterServer()
|
|
@@ -743,7 +743,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
743
743
|
if (isValidNumber(newValue, 0, 100))
|
|
744
744
|
this.fanDefault?.setAttribute(FanControl.Cluster.id, 'percentCurrent', newValue, this.fanDefault?.log);
|
|
745
745
|
}, this.fanDefault.log);
|
|
746
|
-
this.fanBase = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], {
|
|
746
|
+
this.fanBase = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], { id: 'Fan off low medium high' }, this.config.debug)
|
|
747
747
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Fan base', 'FBA00031', 0xfff1, 'Matterbridge', 'Matterbridge Fan')
|
|
748
748
|
.createDefaultPowerSourceWiredClusterServer()
|
|
749
749
|
.createBaseFanControlClusterServer()
|
|
@@ -785,7 +785,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
785
785
|
if (isValidNumber(newValue, 0, 100))
|
|
786
786
|
this.fanBase?.setAttribute(FanControl.Cluster.id, 'percentCurrent', newValue, this.fanBase?.log);
|
|
787
787
|
}, this.fanBase.log);
|
|
788
|
-
this.fanOnHigh = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], {
|
|
788
|
+
this.fanOnHigh = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], { id: 'Fan off high' }, this.config.debug)
|
|
789
789
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Fan off high', 'FOH00032', 0xfff1, 'Matterbridge', 'Matterbridge Fan')
|
|
790
790
|
.createDefaultPowerSourceWiredClusterServer()
|
|
791
791
|
.createOnOffFanControlClusterServer()
|
|
@@ -815,7 +815,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
815
815
|
this.fanOnHigh?.setAttribute(FanControl.Cluster.id, 'percentSetting', newValue, this.fanOnHigh?.log);
|
|
816
816
|
}
|
|
817
817
|
}, this.fanOnHigh.log);
|
|
818
|
-
this.fanComplete = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], {
|
|
818
|
+
this.fanComplete = new MatterbridgeEndpoint([fanDevice, bridgedNode, powerSource], { id: 'Fan complete' }, this.config.debug)
|
|
819
819
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Fan complete', 'FCO00033', 0xfff1, 'Matterbridge', 'Matterbridge Fan')
|
|
820
820
|
.createDefaultPowerSourceWiredClusterServer()
|
|
821
821
|
.createCompleteFanControlClusterServer()
|
|
@@ -866,64 +866,65 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
866
866
|
await this.fanComplete?.subscribeAttribute(FanControl.Cluster.id, 'airflowDirection', (newValue, oldValue, context) => {
|
|
867
867
|
this.fanComplete?.log.info(`Airflow direction changed from ${this.fanDirectionLookup[oldValue]} to ${this.fanDirectionLookup[newValue]} context: ${context.offline === true ? 'offline' : 'online'}`);
|
|
868
868
|
}, this.fanComplete?.log);
|
|
869
|
-
this.waterLeak = new MatterbridgeEndpoint([waterLeakDetector, bridgedNode, powerSource], {
|
|
869
|
+
this.waterLeak = new MatterbridgeEndpoint([waterLeakDetector, bridgedNode, powerSource], { id: 'Water leak detector' }, this.config.debug)
|
|
870
870
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Water leak detector', 'WLD00034', 0xfff1, 'Matterbridge', 'Matterbridge WaterLeakDetector')
|
|
871
871
|
.createDefaultPowerSourceRechargeableBatteryClusterServer()
|
|
872
872
|
.createDefaultBooleanStateClusterServer(false)
|
|
873
873
|
.addRequiredClusterServers()
|
|
874
874
|
.addOptionalClusterServers();
|
|
875
875
|
this.waterLeak = await this.addDevice(this.waterLeak);
|
|
876
|
-
this.waterFreeze = new MatterbridgeEndpoint([waterFreezeDetector, bridgedNode, powerSource], {
|
|
876
|
+
this.waterFreeze = new MatterbridgeEndpoint([waterFreezeDetector, bridgedNode, powerSource], { id: 'Water freeze detector' }, this.config.debug)
|
|
877
877
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Water freeze detector', 'WFD00035', 0xfff1, 'Matterbridge', 'Matterbridge WaterFreezeDetector')
|
|
878
878
|
.createDefaultPowerSourceRechargeableBatteryClusterServer()
|
|
879
879
|
.createDefaultBooleanStateClusterServer(false)
|
|
880
880
|
.addRequiredClusterServers()
|
|
881
881
|
.addOptionalClusterServers();
|
|
882
882
|
this.waterFreeze = await this.addDevice(this.waterFreeze);
|
|
883
|
-
this.rain = new MatterbridgeEndpoint([rainSensor, bridgedNode, powerSource], {
|
|
883
|
+
this.rain = new MatterbridgeEndpoint([rainSensor, bridgedNode, powerSource], { id: 'Rain sensor' }, this.config.debug)
|
|
884
884
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Rain sensor', 'RAI00036', 0xfff1, 'Matterbridge', 'Matterbridge RainSensor')
|
|
885
885
|
.createDefaultPowerSourceRechargeableBatteryClusterServer()
|
|
886
886
|
.createDefaultIdentifyClusterServer()
|
|
887
887
|
.createDefaultBooleanStateClusterServer(false)
|
|
888
888
|
.createDefaultBooleanStateConfigurationClusterServer();
|
|
889
889
|
this.rain = await this.addDevice(this.rain);
|
|
890
|
-
this.smokeCo = new MatterbridgeEndpoint([smokeCoAlarm, bridgedNode, powerSource], {
|
|
890
|
+
this.smokeCo = new MatterbridgeEndpoint([smokeCoAlarm, bridgedNode, powerSource], { id: 'SmokeCo alarm sensor' }, this.config.debug)
|
|
891
891
|
.createDefaultBridgedDeviceBasicInformationClusterServer('SmokeCo alarm sensor', 'SCA00037', 0xfff1, 'Matterbridge', 'Matterbridge SmokeCoAlarm')
|
|
892
892
|
.createDefaultIdentifyClusterServer()
|
|
893
893
|
.createDefaultSmokeCOAlarmClusterServer(SmokeCoAlarm.AlarmState.Normal, SmokeCoAlarm.AlarmState.Normal)
|
|
894
894
|
.createDefaultPowerSourceReplaceableBatteryClusterServer()
|
|
895
895
|
.createDefaultCarbonMonoxideConcentrationMeasurementClusterServer(100);
|
|
896
896
|
this.smokeCo = await this.addDevice(this.smokeCo);
|
|
897
|
-
this.smokeOnly = new MatterbridgeEndpoint([smokeCoAlarm, bridgedNode, powerSource], {
|
|
897
|
+
this.smokeOnly = new MatterbridgeEndpoint([smokeCoAlarm, bridgedNode, powerSource], { id: 'Smoke alarm sensor' }, this.config.debug)
|
|
898
898
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Smoke alarm sensor', 'SAL00038', 0xfff1, 'Matterbridge', 'Matterbridge SmokeCoAlarm')
|
|
899
899
|
.createDefaultIdentifyClusterServer()
|
|
900
900
|
.createSmokeOnlySmokeCOAlarmClusterServer(SmokeCoAlarm.AlarmState.Normal)
|
|
901
901
|
.createDefaultPowerSourceReplaceableBatteryClusterServer();
|
|
902
902
|
this.smokeOnly = await this.addDevice(this.smokeOnly);
|
|
903
|
-
this.coOnly = new MatterbridgeEndpoint([smokeCoAlarm, bridgedNode, powerSource], {
|
|
903
|
+
this.coOnly = new MatterbridgeEndpoint([smokeCoAlarm, bridgedNode, powerSource], { id: 'Co alarm sensor' }, this.config.debug)
|
|
904
904
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Co alarm sensor', 'COA00039', 0xfff1, 'Matterbridge', 'Matterbridge SmokeCoAlarm')
|
|
905
905
|
.createDefaultIdentifyClusterServer()
|
|
906
906
|
.createCoOnlySmokeCOAlarmClusterServer(SmokeCoAlarm.AlarmState.Normal)
|
|
907
907
|
.createDefaultPowerSourceReplaceableBatteryClusterServer()
|
|
908
908
|
.createDefaultCarbonMonoxideConcentrationMeasurementClusterServer(100);
|
|
909
909
|
this.coOnly = await this.addDevice(this.coOnly);
|
|
910
|
-
this.airQuality = new MatterbridgeEndpoint([airQualitySensor, bridgedNode, powerSource], {
|
|
910
|
+
this.airQuality = new MatterbridgeEndpoint([airQualitySensor, bridgedNode, powerSource], { id: 'Air quality sensor' }, this.config.debug)
|
|
911
911
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Air quality sensor', 'AQS00040', 0xfff1, 'Matterbridge', 'Matterbridge Air Quality Sensor')
|
|
912
912
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(50, PowerSource.BatChargeLevel.Warning, 2900, 'CR2450', 1)
|
|
913
913
|
.addRequiredClusterServers()
|
|
914
914
|
.addClusterServers([TemperatureMeasurement.Cluster.id, RelativeHumidityMeasurement.Cluster.id])
|
|
915
|
+
.createDefaultAirQualityClusterServer(AirQuality.AirQualityEnum.Good)
|
|
915
916
|
.createDefaultCarbonMonoxideConcentrationMeasurementClusterServer(10)
|
|
916
917
|
.createDefaultCarbonDioxideConcentrationMeasurementClusterServer(400)
|
|
917
918
|
.createDefaultNitrogenDioxideConcentrationMeasurementClusterServer(1)
|
|
918
919
|
.createDefaultOzoneConcentrationMeasurementClusterServer(1)
|
|
919
|
-
.createDefaultFormaldehydeConcentrationMeasurementClusterServer(1
|
|
920
|
-
.createDefaultPm1ConcentrationMeasurementClusterServer(100
|
|
921
|
-
.createDefaultPm25ConcentrationMeasurementClusterServer(100
|
|
922
|
-
.createDefaultPm10ConcentrationMeasurementClusterServer(100
|
|
923
|
-
.createDefaultRadonConcentrationMeasurementClusterServer(100
|
|
924
|
-
.createDefaultTvocMeasurementClusterServer(100
|
|
920
|
+
.createDefaultFormaldehydeConcentrationMeasurementClusterServer(1)
|
|
921
|
+
.createDefaultPm1ConcentrationMeasurementClusterServer(100)
|
|
922
|
+
.createDefaultPm25ConcentrationMeasurementClusterServer(100)
|
|
923
|
+
.createDefaultPm10ConcentrationMeasurementClusterServer(100)
|
|
924
|
+
.createDefaultRadonConcentrationMeasurementClusterServer(100)
|
|
925
|
+
.createDefaultTvocMeasurementClusterServer(100);
|
|
925
926
|
this.airQuality = await this.addDevice(this.airQuality);
|
|
926
|
-
this.momentarySwitch = new MatterbridgeEndpoint([bridgedNode, powerSource], {
|
|
927
|
+
this.momentarySwitch = new MatterbridgeEndpoint([bridgedNode, powerSource], { id: 'Momentary switch composed' }, this.config.debug)
|
|
927
928
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Momentary switch', 'MOS00041', 0xfff1, 'Matterbridge', 'Matterbridge MomentarySwitch')
|
|
928
929
|
.createDefaultIdentifyClusterServer()
|
|
929
930
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(50, PowerSource.BatChargeLevel.Ok, 2900, 'CR2450', 1);
|
|
@@ -1005,7 +1006,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1005
1006
|
await switch6.addFixedLabel('switch', 'Switch 6');
|
|
1006
1007
|
await switch6.addFixedLabel('button', 'Button 6');
|
|
1007
1008
|
}
|
|
1008
|
-
this.latchingSwitch = new MatterbridgeEndpoint([genericSwitch, bridgedNode, powerSource], {
|
|
1009
|
+
this.latchingSwitch = new MatterbridgeEndpoint([genericSwitch, bridgedNode, powerSource], { id: 'Latching switch' }, this.config.debug)
|
|
1009
1010
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Latching switch', 'LAS00042', 0xfff1, 'Matterbridge', 'Matterbridge LatchingSwitch')
|
|
1010
1011
|
.createDefaultIdentifyClusterServer()
|
|
1011
1012
|
.createDefaultLatchingSwitchClusterServer()
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-example-dynamic-platform",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1-dev-20251111-59f5416",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge-example-dynamic-platform",
|
|
9
|
-
"version": "2.0.
|
|
9
|
+
"version": "2.0.1-dev-20251111-59f5416",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"node-ansi-logger": "3.1.1",
|