matterbridge-example-dynamic-platform 2.0.13-dev-20260303-d110404 → 2.0.13-dev-20260303-224d0bf
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 +3 -2
- package/README.md +2 -1
- package/dist/module.js +8 -5
- package/matterbridge-example-dynamic-platform.schema.json +6 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -35,10 +35,11 @@ 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
|
|
38
|
+
- [BridgedOutlet]: Add a bridged outlet with four individually named plugs.
|
|
39
39
|
- [onOffMountedLegacy]: Add an onOff Mounted Switch legacy device.
|
|
40
40
|
- [dimmerMountedLegacy]: Add a dimmer Mounted Switch legacy device.
|
|
41
|
-
- [solarPower]: Add four panels.
|
|
41
|
+
- [solarPower]: Add four panels to the Solar Power.
|
|
42
|
+
- [soilSensor]: Add a Soil Sensor (Matter 1.5.0).
|
|
42
43
|
|
|
43
44
|
### Changed
|
|
44
45
|
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
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 67 virtual devices:
|
|
28
28
|
|
|
29
29
|
- a door contact sensor
|
|
30
30
|
- a motion sensor
|
|
@@ -33,6 +33,7 @@ It exposes 66 virtual devices:
|
|
|
33
33
|
- a humidity sensor
|
|
34
34
|
- a pressure sensor
|
|
35
35
|
- a flow sensor
|
|
36
|
+
- a soil sensor
|
|
36
37
|
- a climate sensor with temperature, humidity and pressure
|
|
37
38
|
- a mode select device
|
|
38
39
|
- a switch with onOff cluster
|
package/dist/module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
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';
|
|
2
|
-
import { AirConditioner, BasicVideoPlayer, BatteryStorage, Cooktop, Dishwasher, Evse, ExtractorHood, HeatPump, LaundryDryer, LaundryWasher, MicrowaveOven, Oven, Refrigerator, RoboticVacuumCleaner, SolarPower, Speaker, WaterHeater, } from 'matterbridge/devices';
|
|
2
|
+
import { AirConditioner, BasicVideoPlayer, BatteryStorage, Cooktop, Dishwasher, Evse, ExtractorHood, HeatPump, 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';
|
|
5
5
|
import { AirQuality, BooleanState, BridgedDeviceBasicInformation, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, ColorControl, Descriptor, DeviceEnergyManagement, DoorLock, ElectricalEnergyMeasurement, ElectricalPowerMeasurement, EnergyEvse, EnergyEvseMode, FanControl, FlowMeasurement, FormaldehydeConcentrationMeasurement, IlluminanceMeasurement, LevelControl, NitrogenDioxideConcentrationMeasurement, OccupancySensing, OnOff, OnOffCluster, OperationalState, OvenMode, OzoneConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm25ConcentrationMeasurement, PowerSource, PressureMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, RvcCleanMode, RvcOperationalState, RvcRunMode, SmokeCoAlarm, TemperatureMeasurement, Thermostat, ThermostatCluster, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, } from 'matterbridge/matter/clusters';
|
|
@@ -31,6 +31,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
31
31
|
humidity;
|
|
32
32
|
pressure;
|
|
33
33
|
flow;
|
|
34
|
+
soil;
|
|
34
35
|
select;
|
|
35
36
|
climate;
|
|
36
37
|
switch;
|
|
@@ -160,6 +161,8 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
160
161
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(80, PowerSource.BatChargeLevel.Ok, 3050, 'AA', 1, PowerSource.BatReplaceability.UserReplaceable)
|
|
161
162
|
.addRequiredClusterServers();
|
|
162
163
|
this.flow = await this.addDevice(this.flow);
|
|
164
|
+
this.soil = new SoilSensor('Soil Sensor', 'SOI000067', { soilMoistureMeasuredValue: 45 });
|
|
165
|
+
this.soil = await this.addDevice(this.soil);
|
|
163
166
|
this.climate = new MatterbridgeEndpoint([bridgedNode, powerSource], { id: 'Climate' }, this.config.debug)
|
|
164
167
|
.createDefaultBridgedDeviceBasicInformationClusterServer('Climate', 'CLI00008', 0xfff1, 'Matterbridge', 'Matterbridge Climate')
|
|
165
168
|
.createDefaultPowerSourceReplaceableBatteryClusterServer(90, PowerSource.BatChargeLevel.Ok, 2990, '2 x AA', 2, PowerSource.BatReplaceability.UserReplaceable)
|
|
@@ -1366,10 +1369,10 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
|
|
|
1366
1369
|
], EnergyEvse.State.PluggedInCharging, EnergyEvse.SupplyState.ChargingEnabled, EnergyEvse.FaultState.NoError, 220_000, 10_000, 2_200_000, 1_000_000, 500_000, 32_000_000);
|
|
1367
1370
|
this.evse = await this.addDevice(this.evse);
|
|
1368
1371
|
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',
|
|
1370
|
-
this.solarPower.addPanel('Panel 2',
|
|
1371
|
-
this.solarPower.addPanel('Panel 3',
|
|
1372
|
-
this.solarPower.addPanel('Panel 4',
|
|
1372
|
+
this.solarPower.addPanel('Panel 1', NumberTag.One);
|
|
1373
|
+
this.solarPower.addPanel('Panel 2', NumberTag.Two);
|
|
1374
|
+
this.solarPower.addPanel('Panel 3', NumberTag.Three);
|
|
1375
|
+
this.solarPower.addPanel('Panel 4', NumberTag.Four);
|
|
1373
1376
|
this.solarPower = (await this.addDevice(this.solarPower));
|
|
1374
1377
|
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);
|
|
1375
1378
|
this.batteryStorage = await this.addDevice(this.batteryStorage);
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"ui:widget": "hidden"
|
|
18
18
|
},
|
|
19
19
|
"whiteList": {
|
|
20
|
+
"title": "White List",
|
|
20
21
|
"description": "Only the devices in the list will be exposed. If the list is empty, all the devices will be exposed.",
|
|
21
22
|
"type": "array",
|
|
22
23
|
"items": {
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
"selectFrom": "name"
|
|
27
28
|
},
|
|
28
29
|
"blackList": {
|
|
30
|
+
"title": "Black List",
|
|
29
31
|
"description": "The devices in the list will not be exposed. If the list is empty, no devices will be excluded.",
|
|
30
32
|
"type": "array",
|
|
31
33
|
"items": {
|
|
@@ -35,21 +37,25 @@
|
|
|
35
37
|
"selectFrom": "name"
|
|
36
38
|
},
|
|
37
39
|
"useInterval": {
|
|
40
|
+
"title": "Use Interval",
|
|
38
41
|
"description": "Use interval to refresh the devices",
|
|
39
42
|
"type": "boolean",
|
|
40
43
|
"default": true
|
|
41
44
|
},
|
|
42
45
|
"enableServerRvc": {
|
|
46
|
+
"title": "Enable Server RVC",
|
|
43
47
|
"description": "Enable the Robot Vacuum Cleaner in server mode (Apple Home will crash unless you use this mode!)",
|
|
44
48
|
"type": "boolean",
|
|
45
49
|
"default": true
|
|
46
50
|
},
|
|
47
51
|
"debug": {
|
|
52
|
+
"title": "Debug",
|
|
48
53
|
"description": "Enable the debug for the plugin (development only)",
|
|
49
54
|
"type": "boolean",
|
|
50
55
|
"default": false
|
|
51
56
|
},
|
|
52
57
|
"unregisterOnShutdown": {
|
|
58
|
+
"title": "Unregister on Shutdown",
|
|
53
59
|
"description": "Unregister all devices on shutdown (development only)",
|
|
54
60
|
"type": "boolean",
|
|
55
61
|
"default": false
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-example-dynamic-platform",
|
|
3
|
-
"version": "2.0.13-dev-20260303-
|
|
3
|
+
"version": "2.0.13-dev-20260303-224d0bf",
|
|
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-20260303-
|
|
9
|
+
"version": "2.0.13-dev-20260303-224d0bf",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"node-ansi-logger": "3.2.0",
|
package/package.json
CHANGED