matterbridge-test 0.0.16 → 0.0.18
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 +17 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +35 -15
- package/dist/platform.js.map +1 -1
- package/matterbridge-test.schema.json +1 -1
- package/npm-shrinkwrap.json +23 -6217
- package/package.json +12 -29
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
If you like this project and find it useful, please consider giving it a star on GitHub at https://github.com/Luligu/matterbridge-mqtt and sponsoring it.
|
|
6
6
|
|
|
7
|
+
## [0.0.18] - 2024-11-10
|
|
8
|
+
|
|
9
|
+
- Update dependencies
|
|
10
|
+
- Update to matterbridge edge requirements
|
|
11
|
+
|
|
12
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
13
|
+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
|
|
14
|
+
</a>
|
|
15
|
+
|
|
16
|
+
## [0.0.17] - 2024-10-15
|
|
17
|
+
|
|
18
|
+
- Update to new package
|
|
19
|
+
|
|
20
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
21
|
+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
|
|
22
|
+
</a>
|
|
23
|
+
|
|
7
24
|
## [0.0.16] - 2024-09-30
|
|
8
25
|
|
|
9
26
|
- Update to new workflows
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAElB,2BAA2B,EAC3B,cAAc,EAWf,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,YAAa,SAAQ,2BAA2B;IAE3D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IA4BhE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EtD,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAQ3D,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAcpE,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIjC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1D"}
|
package/dist/platform.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { MatterbridgeDevice,
|
|
1
|
+
import { MatterbridgeDevice,
|
|
2
|
+
// MatterbridgeEndpoint as MatterbridgeDevice,
|
|
3
|
+
MatterbridgeDynamicPlatform, bridgedNode, electricalSensor, ElectricalPowerMeasurement, ElectricalEnergyMeasurement, onOffSwitch, onOffOutlet, ElectricalPowerMeasurementCluster, ElectricalEnergyMeasurementCluster, PowerSource, colorTemperatureLight, } from 'matterbridge';
|
|
2
4
|
import { waiter } from 'matterbridge/utils';
|
|
3
5
|
export class TestPlatform extends MatterbridgeDynamicPlatform {
|
|
4
6
|
// Config
|
|
@@ -16,6 +18,10 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
|
|
|
16
18
|
enablePowerSource = false;
|
|
17
19
|
constructor(matterbridge, log, config) {
|
|
18
20
|
super(matterbridge, log, config);
|
|
21
|
+
// Verify that Matterbridge is the correct version
|
|
22
|
+
if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('1.6.0')) {
|
|
23
|
+
throw new Error(`The test plugin requires Matterbridge version >= "1.6.0". Please update Matterbridge to the latest version in the frontend.`);
|
|
24
|
+
}
|
|
19
25
|
this.log.info('Initializing platform:', this.config.name);
|
|
20
26
|
if (config.noDevices)
|
|
21
27
|
this.noDevices = config.noDevices;
|
|
@@ -54,9 +60,15 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
|
|
|
54
60
|
if (this.config.longDelayStart)
|
|
55
61
|
await waiter('Delay start', () => false, false, 60000, 1000);
|
|
56
62
|
for (let i = 0; i < this.loadSwitches; i++) {
|
|
57
|
-
const switchDevice = new MatterbridgeDevice([onOffSwitch, bridgedNode],
|
|
63
|
+
const switchDevice = new MatterbridgeDevice([onOffSwitch, bridgedNode], { uniqueStorageKey: 'Switch' + i }, this.config.debug);
|
|
58
64
|
switchDevice.createDefaultBridgedDeviceBasicInformationClusterServer('Switch ' + i, 'serial_switch_' + i, 0xfff1, 'Test plugin', 'Matterbridge');
|
|
59
65
|
switchDevice.addDeviceTypeWithClusterServer([onOffSwitch], []);
|
|
66
|
+
switchDevice.addCommandHandler('on', async () => {
|
|
67
|
+
this.log.info('Received on command');
|
|
68
|
+
});
|
|
69
|
+
switchDevice.addCommandHandler('off', async () => {
|
|
70
|
+
this.log.info('Received off command');
|
|
71
|
+
});
|
|
60
72
|
if (this.enableElectrical)
|
|
61
73
|
this.addElectricalMeasurements(switchDevice);
|
|
62
74
|
if (this.enablePowerSource)
|
|
@@ -67,9 +79,15 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
|
|
|
67
79
|
await this.registerDevice(switchDevice);
|
|
68
80
|
}
|
|
69
81
|
for (let i = 0; i < this.loadOutlets; i++) {
|
|
70
|
-
const outletDevice = new MatterbridgeDevice([onOffOutlet, bridgedNode],
|
|
82
|
+
const outletDevice = new MatterbridgeDevice([onOffOutlet, bridgedNode], { uniqueStorageKey: 'Outlet' + i }, this.config.debug);
|
|
71
83
|
outletDevice.createDefaultBridgedDeviceBasicInformationClusterServer('Outlet ' + i, 'serial_outlet_' + i, 0xfff1, 'Test plugin', 'Matterbridge');
|
|
72
84
|
outletDevice.addDeviceTypeWithClusterServer([onOffOutlet], []);
|
|
85
|
+
outletDevice.addCommandHandler('on', async () => {
|
|
86
|
+
this.log.info('Received on command');
|
|
87
|
+
});
|
|
88
|
+
outletDevice.addCommandHandler('off', async () => {
|
|
89
|
+
this.log.info('Received off command');
|
|
90
|
+
});
|
|
73
91
|
if (this.enableElectrical)
|
|
74
92
|
this.addElectricalMeasurements(outletDevice);
|
|
75
93
|
if (this.enablePowerSource)
|
|
@@ -80,9 +98,21 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
|
|
|
80
98
|
await this.registerDevice(outletDevice);
|
|
81
99
|
}
|
|
82
100
|
for (let i = 0; i < this.loadLights; i++) {
|
|
83
|
-
const lightDevice = new MatterbridgeDevice([
|
|
101
|
+
const lightDevice = new MatterbridgeDevice([colorTemperatureLight, bridgedNode], { uniqueStorageKey: 'Light' + i }, this.config.debug);
|
|
84
102
|
lightDevice.createDefaultBridgedDeviceBasicInformationClusterServer('Light ' + i, 'serial_light_' + i, 0xfff1, 'Test plugin', 'Matterbridge');
|
|
85
|
-
lightDevice.addDeviceTypeWithClusterServer([
|
|
103
|
+
lightDevice.addDeviceTypeWithClusterServer([colorTemperatureLight], []);
|
|
104
|
+
lightDevice.addCommandHandler('on', async () => {
|
|
105
|
+
this.log.info('Received on command');
|
|
106
|
+
});
|
|
107
|
+
lightDevice.addCommandHandler('off', async () => {
|
|
108
|
+
this.log.info('Received off command');
|
|
109
|
+
});
|
|
110
|
+
lightDevice.addCommandHandler('moveToLevel', async (data) => {
|
|
111
|
+
this.log.info('Received moveTolevel command', data.request.level);
|
|
112
|
+
});
|
|
113
|
+
lightDevice.addCommandHandler('moveToLevelWithOnOff', async (data) => {
|
|
114
|
+
this.log.info('Received moveTolevel command', data.request.level);
|
|
115
|
+
});
|
|
86
116
|
if (this.enableElectrical)
|
|
87
117
|
this.addElectricalMeasurements(lightDevice);
|
|
88
118
|
if (this.enablePowerSource)
|
|
@@ -93,16 +123,6 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
|
|
|
93
123
|
await this.registerDevice(lightDevice);
|
|
94
124
|
}
|
|
95
125
|
/*
|
|
96
|
-
const electrical = new MatterbridgeDevice([electricalSensor, bridgedNode], undefined, this.config.debug as boolean);
|
|
97
|
-
electrical.createDefaultBridgedDeviceBasicInformationClusterServer('Electrical sensor', 'serial_98745631226', 0xfff1, 'Test plugin', 'electricalSensor', 2, '2.1.1');
|
|
98
|
-
electrical.addDeviceTypeWithClusterServer([electricalSensor], [ElectricalPowerMeasurement.Cluster.id, ElectricalEnergyMeasurement.Cluster.id]);
|
|
99
|
-
electrical.setAttribute(ElectricalPowerMeasurementCluster.id, 'voltage', 220 * 1000, electrical.log);
|
|
100
|
-
electrical.setAttribute(ElectricalPowerMeasurementCluster.id, 'activeCurrent', 2.5 * 1000, electrical.log);
|
|
101
|
-
electrical.setAttribute(ElectricalPowerMeasurementCluster.id, 'activePower', 220 * 2.5 * 1000, electrical.log);
|
|
102
|
-
electrical.setAttribute(ElectricalEnergyMeasurementCluster.id, 'cumulativeEnergyImported', { energy: 1.2 * 1000 }, electrical.log);
|
|
103
|
-
if (!this.noDevices) await this.registerDevice(electrical);
|
|
104
|
-
*/
|
|
105
|
-
/*
|
|
106
126
|
const energy = new MatterbridgeDevice([deviceEnergyManagement, bridgedNode], undefined, this.config.debug as boolean);
|
|
107
127
|
energy.createDefaultBridgedDeviceBasicInformationClusterServer('Device Energy Management', 'serial_98745631227', 0xfff1, 'Test plugin', 'deviceEnergyManagement', 2, '2.1.1');
|
|
108
128
|
energy.addDeviceTypeWithClusterServer([deviceEnergyManagement], [DeviceEnergyManagement.Cluster.id, DeviceEnergyManagementMode.Cluster.id]);
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|