matterbridge-test 1.0.2 → 1.0.4

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
@@ -4,6 +4,28 @@ 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-example-dynamic-platform and sponsoring it.
6
6
 
7
+ ## [1.0.4] - 2025-01-20
8
+
9
+ ### Changed
10
+
11
+ - [package]: Updated dependencies.
12
+ - [package]: Updated package for production build.
13
+
14
+ ## [1.0.3] - 2024-12-21
15
+
16
+ ### Added
17
+
18
+ - [platform]: Added call to super.OnConfigure() and super.OnShutDown() to check endpoints numbers.
19
+
20
+ ### Changed
21
+
22
+ - [package]: Updated dependencies.
23
+ - [package]: Updated package.
24
+
25
+ <a href="https://www.buymeacoffee.com/luligugithub">
26
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
27
+ </a>
28
+
7
29
  ## [1.0.2] - 2024-12-12
8
30
 
9
31
  - [package]: Require matterbridge 1.6.6
package/dist/index.js CHANGED
@@ -1,15 +1,4 @@
1
1
  import { TestPlatform } from './platform.js';
2
- /**
3
- * This is the standard interface for Matterbridge plugins.
4
- * Each plugin should export a default function that follows this signature.
5
- *
6
- * @param {Matterbridge} matterbridge - An instance of MatterBridge. This is the main interface for interacting with the MatterBridge system.
7
- * @param {AnsiLogger} log - An instance of AnsiLogger. This is used for logging messages in a format that can be displayed with ANSI color codes.
8
- * @param {PlatformConfig} config - The platform configuration.
9
- * @returns {TestPlatform} - An instance of the SomfyTahomaPlatform. This is the main interface for interacting with the Somfy Tahoma system.
10
- *
11
- */
12
2
  export default function initializePlugin(matterbridge, log, config) {
13
3
  return new TestPlatform(matterbridge, log, config);
14
4
  }
15
- //# sourceMappingURL=index.js.map
package/dist/platform.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { MatterbridgeDevice, MatterbridgeDynamicPlatform, bridgedNode, electricalSensor, onOffSwitch, onOffOutlet, colorTemperatureLight, OnOffCluster, powerSource, ElectricalPowerMeasurementCluster, ElectricalEnergyMeasurementCluster, ModeSelectCluster, PowerSourceCluster, modeSelect, MatterbridgeEndpoint, } from 'matterbridge';
2
2
  import { waiter } from 'matterbridge/utils';
3
3
  export class TestPlatform extends MatterbridgeDynamicPlatform {
4
- // Config
5
4
  noDevices = false;
6
5
  delayStart = false;
7
6
  loadSwitches = 0;
@@ -27,9 +26,8 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
27
26
  }
28
27
  constructor(matterbridge, log, config) {
29
28
  super(matterbridge, log, config);
30
- // Verify that Matterbridge is the correct version
31
- if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('1.6.6')) {
32
- throw new Error(`The test plugin requires Matterbridge version >= "1.6.6". Please update Matterbridge to the latest version in the frontend.`);
29
+ if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('1.7.3')) {
30
+ throw new Error(`The test plugin requires Matterbridge version >= "1.7.3". Please update Matterbridge to the latest version in the frontend.`);
33
31
  }
34
32
  this.log.info('Initializing platform:', this.config.name);
35
33
  this.log.debug('- with matterbridge version ', matterbridge.matterbridgeVersion);
@@ -87,6 +85,7 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
87
85
  await waiter('Delay start', () => false, false, 60000, 1000);
88
86
  for (let i = 0; i < this.loadSwitches; i++) {
89
87
  const switchDevice = await this.createMutableDevice([onOffSwitch, bridgedNode], { uniqueStorageKey: 'Switch' + i }, this.config.debug);
88
+ switchDevice.log.logName = 'Switch' + i;
90
89
  switchDevice.createDefaultBridgedDeviceBasicInformationClusterServer('Switch ' + i, 'serial_switch_' + i, 0xfff1, 'Matterbridge', 'Matterbridge test plugin', parseInt(this.version.replace(/\D/g, '')), this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
91
90
  switchDevice.addDeviceTypeWithClusterServer([onOffSwitch], []);
92
91
  switchDevice.addCommandHandler('identify', async (data) => {
@@ -114,6 +113,7 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
114
113
  }
115
114
  for (let i = 0; i < this.loadOutlets; i++) {
116
115
  const outletDevice = await this.createMutableDevice([onOffOutlet, bridgedNode], { uniqueStorageKey: 'Outlet' + i }, this.config.debug);
116
+ outletDevice.log.logName = 'Outlet' + i;
117
117
  outletDevice.createDefaultBridgedDeviceBasicInformationClusterServer('Outlet ' + i, 'serial_outlet_' + i, 0xfff1, 'Matterbridge', 'Matterbridge test plugin', parseInt(this.version.replace(/\D/g, '')), this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
118
118
  outletDevice.addDeviceTypeWithClusterServer([onOffOutlet], []);
119
119
  outletDevice.addCommandHandler('identify', async (data) => {
@@ -141,6 +141,7 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
141
141
  }
142
142
  for (let i = 0; i < this.loadLights; i++) {
143
143
  const lightDevice = await this.createMutableDevice([colorTemperatureLight, bridgedNode], { uniqueStorageKey: 'Light' + i }, this.config.debug);
144
+ lightDevice.log.logName = 'Light' + i;
144
145
  lightDevice.createDefaultBridgedDeviceBasicInformationClusterServer('Light ' + i, 'serial_light_' + i, 0xfff1, 'Matterbridge', 'Matterbridge test plugin', parseInt(this.version.replace(/\D/g, '')), this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
145
146
  lightDevice.addDeviceTypeWithClusterServer([colorTemperatureLight], []);
146
147
  lightDevice.addCommandHandler('identify', async (data) => {
@@ -187,16 +188,6 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
187
188
  await this.registerDevice(lightDevice);
188
189
  this.bridgedDevices.set('Light' + i, lightDevice);
189
190
  }
190
- /*
191
- const energy = new MatterbridgeDevice([deviceEnergyManagement, bridgedNode], undefined, this.config.debug as boolean);
192
- energy.createDefaultBridgedDeviceBasicInformationClusterServer('Device Energy Management', 'serial_98745631227', 0xfff1, 'Test plugin', 'deviceEnergyManagement', 2, '2.1.1');
193
- energy.addDeviceTypeWithClusterServer([deviceEnergyManagement], [DeviceEnergyManagement.Cluster.id, DeviceEnergyManagementMode.Cluster.id]);
194
- energy.addCommandHandler('changeToMode', async ({ request: { newMode }, attributes: { currentMode } }) => {
195
- this.log.info('Received changeToMode command with mode:', newMode, 'current mode:', currentMode.getLocal());
196
- energy.setAttribute(DeviceEnergyManagementModeCluster.id, 'currentMode', newMode, energy.log);
197
- });
198
- if (!this.noDevices) await this.registerDevice(energy);
199
- */
200
191
  }
201
192
  addElectricalMeasurements(device) {
202
193
  device.addDeviceType(electricalSensor);
@@ -216,6 +207,7 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
216
207
  device.addClusterServer(device.getDefaultPowerSourceReplaceableBatteryClusterServer(100));
217
208
  }
218
209
  async onConfigure() {
210
+ await super.onConfigure();
219
211
  this.log.info('onConfigure called');
220
212
  if (this.throwConfigure)
221
213
  throw new Error('Throwing error in configure');
@@ -295,6 +287,7 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
295
287
  }, this.setUpdateInterval * 1000);
296
288
  }
297
289
  async onShutdown(reason) {
290
+ await super.onShutdown(reason);
298
291
  this.log.info('onShutdown called with reason:', reason ?? 'none');
299
292
  if (this.interval)
300
293
  clearInterval(this.interval);
@@ -303,4 +296,3 @@ export class TestPlatform extends MatterbridgeDynamicPlatform {
303
296
  throw new Error('Throwing error in shutdown');
304
297
  }
305
298
  }
306
- //# sourceMappingURL=platform.js.map
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge-test",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge-test",
9
- "version": "1.0.2",
9
+ "version": "1.0.4",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "node-ansi-logger": "3.0.0",
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "matterbridge-test",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Matterbridge test plugin",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
- "types": "dist/index.d.ts",
10
9
  "repository": {
11
10
  "type": "git",
12
11
  "url": "git+https://github.com/Luligu/matterbridge-test.git"
package/dist/index.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { Matterbridge, PlatformConfig } from 'matterbridge';
2
- import { AnsiLogger } from 'matterbridge/logger';
3
- import { TestPlatform } from './platform.js';
4
- /**
5
- * This is the standard interface for Matterbridge plugins.
6
- * Each plugin should export a default function that follows this signature.
7
- *
8
- * @param {Matterbridge} matterbridge - An instance of MatterBridge. This is the main interface for interacting with the MatterBridge system.
9
- * @param {AnsiLogger} log - An instance of AnsiLogger. This is used for logging messages in a format that can be displayed with ANSI color codes.
10
- * @param {PlatformConfig} config - The platform configuration.
11
- * @returns {TestPlatform} - An instance of the SomfyTahomaPlatform. This is the main interface for interacting with the Somfy Tahoma system.
12
- *
13
- */
14
- export default function initializePlugin(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig): TestPlatform;
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,CAE1H"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAA0B,EAAE,GAAe,EAAE,MAAsB;IAC1G,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
@@ -1,28 +0,0 @@
1
- import { Matterbridge, MatterbridgeDevice, MatterbridgeDynamicPlatform, PlatformConfig, DeviceTypeDefinition, EndpointOptions, AtLeastOne } from 'matterbridge';
2
- import { AnsiLogger } from 'matterbridge/logger';
3
- export declare class TestPlatform extends MatterbridgeDynamicPlatform {
4
- private noDevices;
5
- private delayStart;
6
- private loadSwitches;
7
- private loadOutlets;
8
- private loadLights;
9
- private setUpdateInterval;
10
- private throwLoad;
11
- private throwStart;
12
- private throwConfigure;
13
- private throwShutdown;
14
- private enableElectrical;
15
- private enableModeSelect;
16
- private enablePowerSource;
17
- private interval;
18
- bridgedDevices: Map<string, MatterbridgeDevice>;
19
- createMutableDevice(definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: EndpointOptions, debug?: boolean): Promise<MatterbridgeDevice>;
20
- constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig);
21
- onStart(reason?: string): Promise<void>;
22
- addElectricalMeasurements(device: MatterbridgeDevice): void;
23
- addModeSelect(device: MatterbridgeDevice, description: string): void;
24
- addPowerSource(device: MatterbridgeDevice): void;
25
- onConfigure(): Promise<void>;
26
- onShutdown(reason?: string): Promise<void>;
27
- }
28
- //# sourceMappingURL=platform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,cAAc,EAMd,oBAAoB,EACpB,eAAe,EACf,UAAU,EASX,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,iBAAiB,CAAK;IAC9B,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;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,cAAc,kCAAyC;IAEjD,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAE,eAAoB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBAO7J,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IA6ChE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoJtD,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAO3D,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAepE,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAKjC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgG5B,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}