matterbridge 1.3.12 → 1.3.28

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/dist/cli.d.ts +1 -1
  3. package/dist/cli.js +10 -7
  4. package/dist/cli.js.map +1 -1
  5. package/dist/index.d.ts +5 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +13 -6
  8. package/dist/index.js.map +1 -1
  9. package/dist/matterbridge.d.ts +157 -261
  10. package/dist/matterbridge.d.ts.map +1 -1
  11. package/dist/matterbridge.js +1395 -1611
  12. package/dist/matterbridge.js.map +1 -1
  13. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
  14. package/dist/matterbridgeAccessoryPlatform.js +1 -0
  15. package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
  16. package/dist/matterbridgeDevice.d.ts +9 -3
  17. package/dist/matterbridgeDevice.d.ts.map +1 -1
  18. package/dist/matterbridgeDevice.js +11 -4
  19. package/dist/matterbridgeDevice.js.map +1 -1
  20. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
  21. package/dist/matterbridgeDynamicPlatform.js +1 -0
  22. package/dist/matterbridgeDynamicPlatform.js.map +1 -1
  23. package/dist/matterbridgeTypes.d.ts +111 -0
  24. package/dist/matterbridgeTypes.d.ts.map +1 -0
  25. package/dist/matterbridgeTypes.js +2 -0
  26. package/dist/matterbridgeTypes.js.map +1 -0
  27. package/dist/plugins.d.ts +102 -0
  28. package/dist/plugins.d.ts.map +1 -0
  29. package/dist/plugins.js +674 -0
  30. package/dist/plugins.js.map +1 -0
  31. package/dist/utils/export.d.ts +3 -0
  32. package/dist/utils/export.d.ts.map +1 -0
  33. package/dist/utils/export.js +3 -0
  34. package/dist/utils/export.js.map +1 -0
  35. package/dist/utils/utils.d.ts +37 -2
  36. package/dist/utils/utils.d.ts.map +1 -1
  37. package/dist/utils/utils.js +79 -7
  38. package/dist/utils/utils.js.map +1 -1
  39. package/frontend/build/asset-manifest.json +6 -6
  40. package/frontend/build/index.html +1 -1
  41. package/frontend/build/static/css/{main.b4d28450.css → main.df840158.css} +2 -2
  42. package/frontend/build/static/css/main.df840158.css.map +1 -0
  43. package/frontend/build/static/js/{main.3105733e.js → main.2a46688a.js} +3 -3
  44. package/frontend/build/static/js/main.2a46688a.js.map +1 -0
  45. package/package.json +25 -20
  46. package/__mocks__/@project-chip/matter-node.js/util.js +0 -41
  47. package/dist/utils.d.ts +0 -94
  48. package/dist/utils.d.ts.map +0 -1
  49. package/dist/utils.js +0 -291
  50. package/dist/utils.js.map +0 -1
  51. package/frontend/build/static/css/main.b4d28450.css.map +0 -1
  52. package/frontend/build/static/js/main.3105733e.js.map +0 -1
  53. /package/frontend/build/static/js/{main.3105733e.js.LICENSE.txt → main.2a46688a.js.LICENSE.txt} +0 -0
@@ -20,100 +20,9 @@
20
20
  * See the License for the specific language governing permissions and
21
21
  * limitations under the License. *
22
22
  */
23
- import { NodeStorage } from 'node-persist-manager';
24
23
  import EventEmitter from 'events';
25
24
  import { MatterbridgeDevice } from './matterbridgeDevice.js';
26
- import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
27
- import { CommissioningServer } from '@project-chip/matter-node.js';
28
- import { FabricIndex, VendorId } from '@project-chip/matter-node.js/datatype';
29
- import { Aggregator } from '@project-chip/matter-node.js/device';
30
- import { StorageContext } from '@project-chip/matter-node.js/storage';
31
- export interface RegisteredPlugin extends BaseRegisteredPlugin {
32
- nodeContext?: NodeStorage;
33
- storageContext?: StorageContext;
34
- commissioningServer?: CommissioningServer;
35
- aggregator?: Aggregator;
36
- device?: MatterbridgeDevice;
37
- platform?: MatterbridgePlatform;
38
- }
39
- export interface BaseRegisteredPlugin {
40
- path: string;
41
- type: string;
42
- name: string;
43
- version: string;
44
- description: string;
45
- author: string;
46
- latestVersion?: string;
47
- locked?: boolean;
48
- error?: boolean;
49
- enabled?: boolean;
50
- loaded?: boolean;
51
- started?: boolean;
52
- configured?: boolean;
53
- paired?: boolean;
54
- connected?: boolean;
55
- fabricInformations?: SanitizedExposedFabricInformation[];
56
- sessionInformations?: SanitizedSessionInformation[];
57
- registeredDevices?: number;
58
- addedDevices?: number;
59
- qrPairingCode?: string;
60
- manualPairingCode?: string;
61
- configJson?: PlatformConfig;
62
- schemaJson?: PlatformSchema;
63
- }
64
- interface SystemInformation {
65
- interfaceName: string;
66
- macAddress: string;
67
- ipv4Address: string;
68
- ipv6Address: string;
69
- nodeVersion: string;
70
- hostname: string;
71
- user: string;
72
- osType: string;
73
- osRelease: string;
74
- osPlatform: string;
75
- osArch: string;
76
- totalMemory: string;
77
- freeMemory: string;
78
- systemUptime: string;
79
- }
80
- interface MatterbridgeInformation {
81
- homeDirectory: string;
82
- rootDirectory: string;
83
- matterbridgeDirectory: string;
84
- matterbridgePluginDirectory: string;
85
- globalModulesDirectory: string;
86
- matterbridgeVersion: string;
87
- matterbridgeLatestVersion: string;
88
- matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
89
- matterbridgeSessionInformations: SanitizedSessionInformation[];
90
- matterbridgePaired: boolean;
91
- matterbridgeConnected: boolean;
92
- bridgeMode: string;
93
- restartMode: string;
94
- debugEnabled: boolean;
95
- matterLoggerLevel: number;
96
- }
97
- interface SanitizedExposedFabricInformation {
98
- fabricIndex: FabricIndex;
99
- fabricId: string;
100
- nodeId: string;
101
- rootNodeId: string;
102
- rootVendorId: VendorId;
103
- rootVendorName: string;
104
- label: string;
105
- }
106
- interface SanitizedSessionInformation {
107
- name: string;
108
- nodeId: string;
109
- peerNodeId: string;
110
- fabric?: SanitizedExposedFabricInformation;
111
- isPeerActive: boolean;
112
- secure: boolean;
113
- lastInteractionTimestamp?: number;
114
- lastActiveTimestamp?: number;
115
- numberOfActiveSubscriptions: number;
116
- }
25
+ import { MatterbridgeInformation, SanitizedExposedFabricInformation, SanitizedSessionInformation, SystemInformation } from './matterbridgeTypes.js';
117
26
  /**
118
27
  * Represents the Matterbridge application.
119
28
  */
@@ -128,27 +37,38 @@ export declare class Matterbridge extends EventEmitter {
128
37
  matterbridgeVersion: string;
129
38
  matterbridgeLatestVersion: string;
130
39
  matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
40
+ matterbridgeSessionInformations: SanitizedSessionInformation[];
131
41
  matterbridgePaired: boolean;
132
42
  matterbridgeConnected: boolean;
133
- matterbridgeSessionInformations: SanitizedSessionInformation[];
134
- private checkUpdateInterval?;
135
43
  bridgeMode: 'bridge' | 'childbridge' | 'controller' | '';
136
44
  restartMode: 'service' | 'docker' | '';
137
45
  debugEnabled: boolean;
138
- private mdnsInterface;
139
- private port;
140
- private passcode?;
141
- private discriminator?;
46
+ profile: string | undefined;
142
47
  private log;
143
- private hasCleanupStarted;
144
- private registeredPlugins;
48
+ private plugins;
145
49
  private registeredDevices;
146
50
  private nodeStorage;
147
51
  private nodeContext;
52
+ private matterStorageName;
53
+ private nodeStorageName;
54
+ private hasCleanupStarted;
55
+ private initialized;
56
+ private execRunningCount;
57
+ private cleanupTimeout1;
58
+ private cleanupTimeout2;
59
+ private checkUpdateInterval;
60
+ private configureTimeout;
61
+ private reachabilityTimeout;
62
+ private sigintHandler;
63
+ private sigtermHandler;
148
64
  private expressApp;
149
65
  private httpServer;
150
66
  private httpsServer;
151
67
  private webSocketServer;
68
+ private mdnsInterface;
69
+ private port;
70
+ private passcode?;
71
+ private discriminator?;
152
72
  private storageManager;
153
73
  private matterbridgeContext;
154
74
  private mattercontrollerContext;
@@ -158,6 +78,9 @@ export declare class Matterbridge extends EventEmitter {
158
78
  private commissioningController;
159
79
  private static instance;
160
80
  private constructor();
81
+ /** ***********************************************************************************************************************************/
82
+ /** loadInstance() and cleanup() methods */
83
+ /** ***********************************************************************************************************************************/
161
84
  /**
162
85
  * Loads an instance of the Matterbridge class.
163
86
  * If an instance already exists, return that instance.
@@ -167,32 +90,11 @@ export declare class Matterbridge extends EventEmitter {
167
90
  */
168
91
  static loadInstance(initialize?: boolean): Promise<Matterbridge>;
169
92
  /**
170
- * Call shutdownProcess.
171
- * @deprecated This method is deprecated and is only used for jest.
93
+ * Call cleanup().
94
+ * @deprecated This method is deprecated and is only used for jest tests.
172
95
  *
173
96
  */
174
97
  destroyInstance(): Promise<void>;
175
- /**
176
- * Initializes the Matterbridge instance as extension for zigbee2mqtt.
177
- * @deprecated This method is deprecated and will be removed in a future version.
178
- *
179
- * @returns A Promise that resolves when the initialization is complete.
180
- */
181
- startExtension(dataPath: string, debugEnabled: boolean, extensionVersion: string, port?: number): Promise<boolean>;
182
- /**
183
- * Close the Matterbridge instance as extension for zigbee2mqtt.
184
- * @deprecated This method is deprecated and will be removed in a future version.
185
- *
186
- * @returns A Promise that resolves when the initialization is complete.
187
- */
188
- stopExtension(): Promise<void>;
189
- /**
190
- * Checks if the extension is commissioned.
191
- * @deprecated This method is deprecated and will be removed in a future version.
192
- *
193
- * @returns {boolean} Returns true if the extension is commissioned, false otherwise.
194
- */
195
- isExtensionCommissioned(): boolean;
196
98
  /**
197
99
  * Initializes the Matterbridge application.
198
100
  *
@@ -210,28 +112,49 @@ export declare class Matterbridge extends EventEmitter {
210
112
  * @returns {Promise<void>} A promise that resolves when the command line arguments have been processed, or the process exits.
211
113
  */
212
114
  private parseCommandLine;
213
- private savePluginsToStorage;
214
- private loadPluginsFromStorage;
215
115
  /**
216
- * Resolves the name of a plugin by loading and parsing its package.json file.
217
- * @param pluginPath - The path to the plugin or the path to the plugin's package.json file.
218
- * @returns The path to the resolved package.json file, or null if the package.json file is not found or does not contain a name.
116
+ * Registers the signal handlers for SIGINT and SIGTERM.
117
+ * When either of these signals are received, the cleanup method is called with an appropriate message.
219
118
  */
220
- private resolvePluginName;
119
+ private registerSignalHandlers;
221
120
  /**
222
- * Loads a plugin from the specified package.json file path.
223
- * @param packageJsonPath - The path to the package.json file of the plugin.
224
- * @param mode - The mode of operation. Possible values are 'add', 'remove', 'enable', 'disable'.
225
- * @returns A Promise that resolves when the plugin is loaded successfully, or rejects with an error if loading fails.
121
+ * Deregisters the SIGINT and SIGTERM signal handlers.
226
122
  */
227
- private executeCommandLine;
123
+ private deregisterSignalHandlers;
228
124
  /**
229
- * Registers the signal handlers for SIGINT and SIGTERM.
230
- * When either of these signals are received, the cleanup method is called with an appropriate message.
125
+ * Logs the node and system information.
231
126
  */
232
- private registerSignalHandlers;
127
+ private logNodeAndSystemInfo;
233
128
  /**
234
- * Update matterbridge.
129
+ * Retrieves the latest version of a package from the npm registry.
130
+ * @param packageName - The name of the package.
131
+ * @returns A Promise that resolves to the latest version of the package.
132
+ */
133
+ private getLatestVersion;
134
+ /**
135
+ * Retrieves the path to the global Node.js modules directory.
136
+ * @returns A promise that resolves to the path of the global Node.js modules directory.
137
+ */
138
+ private getGlobalNodeModules;
139
+ /**
140
+ * Retrieves the latest version of Matterbridge and performs necessary actions based on the version comparison.
141
+ * @private
142
+ * @returns {Promise<void>} A promise that resolves when the latest version is retrieved and actions are performed.
143
+ */
144
+ private getMatterbridgeLatestVersion;
145
+ /**
146
+ * Retrieves the latest version of a plugin and updates the plugin's latestVersion property.
147
+ * If the plugin's version is different from the latest version, logs a warning message.
148
+ * If the plugin's version is the same as the latest version, logs an info message.
149
+ * If there is an error retrieving the latest version, logs an error message.
150
+ *
151
+ * @private
152
+ * @param {RegisteredPlugin} plugin - The plugin for which to retrieve the latest version.
153
+ * @returns {Promise<void>} A promise that resolves when the latest version is retrieved and actions are performed.
154
+ */
155
+ private getPluginLatestVersion;
156
+ /**
157
+ * Update matterbridge and cleanup.
235
158
  */
236
159
  private updateProcess;
237
160
  /**
@@ -282,26 +205,6 @@ export declare class Matterbridge extends EventEmitter {
282
205
  * @returns A promise that resolves when all devices have been removed.
283
206
  */
284
207
  removeAllBridgedDevices(pluginName: string): Promise<void>;
285
- /**
286
- * Starts the storage process based on the specified storage type and name.
287
- * @param {string} storageType - The type of storage to start (e.g., 'disk', 'json').
288
- * @param {string} storageName - The name of the storage file.
289
- * @returns {Promise<void>} - A promise that resolves when the storage process is started.
290
- */
291
- private startStorage;
292
- /**
293
- * Makes a backup copy of the specified JSON storage file.
294
- *
295
- * @param storageName - The name of the JSON storage file to be backed up.
296
- * @param backupName - The name of the backup file to be created.
297
- */
298
- private backupJsonStorage;
299
- /**
300
- * Stops the storage.
301
- * @returns {Promise<void>} A promise that resolves when the storage is stopped.
302
- */
303
- private stopStorage;
304
- private testStartMatterBridge;
305
208
  /**
306
209
  * Loads the schema for a plugin.
307
210
  * If the schema file exists in the plugin directory, it reads the file and returns the parsed JSON data and delete the schema form .matterbridge.
@@ -311,13 +214,6 @@ export declare class Matterbridge extends EventEmitter {
311
214
  * @returns A promise that resolves to the loaded or created schema.
312
215
  */
313
216
  private loadPluginSchema;
314
- /**
315
- * Saves the plugin configuration to a JSON file.
316
- * @param plugin - The registered plugin.
317
- * @param config - The platform configuration.
318
- * @returns A promise that resolves when the configuration is saved successfully, or with an error logged.
319
- */
320
- private savePluginConfigFromJson;
321
217
  /**
322
218
  * Loads the configuration for a plugin.
323
219
  * If the configuration file exists, it reads the file and returns the parsed JSON data.
@@ -343,6 +239,15 @@ export declare class Matterbridge extends EventEmitter {
343
239
  * @returns {Promise<void>} - A promise that resolves when the data is successfully written to the file.
344
240
  */
345
241
  private writeFile;
242
+ /**
243
+ * Loads a plugin and returns the corresponding MatterbridgePlatform instance.
244
+ * @param plugin - The plugin to load.
245
+ * @param start - Optional flag indicating whether to start the plugin after loading. Default is false.
246
+ * @param message - Optional message to pass to the plugin when starting.
247
+ * @returns A Promise that resolves to the loaded MatterbridgePlatform instance.
248
+ * @throws An error if the plugin is not enabled, already loaded, or fails to load.
249
+ */
250
+ private loadPlugin;
346
251
  /**
347
252
  * Starts a plugin.
348
253
  *
@@ -359,50 +264,76 @@ export declare class Matterbridge extends EventEmitter {
359
264
  * @returns {Promise<void>} A promise that resolves when the plugin is configured successfully, or rejects with an error if configuration fails.
360
265
  */
361
266
  private configurePlugin;
267
+ private startTest;
362
268
  /**
363
- * Loads and parse the plugin package.json and returns it.
364
- * @param plugin - The plugin to load the package from.
365
- * @returns A Promise that resolves to the package.json object or undefined if the package.json could not be loaded.
269
+ * Starts the Matterbridge in bridge mode.
270
+ * @private
271
+ * @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
366
272
  */
367
- private parsePlugin;
273
+ private startBridge;
368
274
  /**
369
- * Loads a plugin and returns the corresponding MatterbridgePlatform instance.
370
- * @param plugin - The plugin to load.
371
- * @param start - Optional flag indicating whether to start the plugin after loading. Default is false.
372
- * @param message - Optional message to pass to the plugin when starting.
373
- * @returns A Promise that resolves to the loaded MatterbridgePlatform instance.
374
- * @throws An error if the plugin is not enabled, already loaded, or fails to load.
275
+ * Starts the Matterbridge in childbridge mode.
276
+ * @private
277
+ * @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
375
278
  */
376
- private loadPlugin;
279
+ private startChildbridge;
377
280
  /**
378
281
  * Starts the Matterbridge controller.
379
282
  * @private
380
283
  * @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
381
284
  */
382
- private startMattercontroller;
285
+ private startController;
286
+ /** ***********************************************************************************************************************************/
287
+ /** Matter.js methods */
288
+ /** ***********************************************************************************************************************************/
383
289
  /**
384
- * Starts the Matterbridge based on the bridge mode.
385
- * If the bridge mode is 'bridge', it creates a commissioning server, matter aggregator,
386
- * and starts the matter server.
387
- * If the bridge mode is 'childbridge', it starts the plugins, creates commissioning servers,
388
- * and starts the matter server when all plugins are loaded and started.
389
- * @private
390
- * @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
290
+ * Starts the matter storage process based on the specified storage type and name.
291
+ * @param {string} storageType - The type of storage to start (e.g., 'disk', 'json').
292
+ * @param {string} storageName - The name of the storage file.
293
+ * @returns {Promise<void>} - A promise that resolves when the storage process is started.
294
+ */
295
+ private startStorage;
296
+ /**
297
+ * Makes a backup copy of the specified matter JSON storage file.
298
+ *
299
+ * @param storageName - The name of the JSON storage file to be backed up.
300
+ * @param backupName - The name of the backup file to be created.
301
+ */
302
+ private backupJsonStorage;
303
+ /**
304
+ * Stops the matter storage.
305
+ * @returns {Promise<void>} A promise that resolves when the storage is stopped.
306
+ */
307
+ private stopStorage;
308
+ /**
309
+ * Creates a Matter server using the provided storage manager and the provided mdnsInterface.
310
+ * @param storageManager The storage manager to be used by the Matter server.
311
+ *
391
312
  */
392
- private startMatterbridge;
313
+ private createMatterServer;
393
314
  /**
394
315
  * Starts the Matter server.
395
316
  * If the Matter server is not initialized, it logs an error and performs cleanup.
396
317
  */
397
318
  private startMatterServer;
398
319
  /**
399
- * Imports the commissioning server context for a specific plugin and device.
400
- * @param pluginName - The name of the plugin.
401
- * @param device - The MatterbridgeDevice object representing the device.
402
- * @returns The commissioning server context.
403
- * @throws Error if the BasicInformationCluster is not found.
320
+ * Stops the Matter server, commissioningServer and commissioningController.
404
321
  */
405
- private importCommissioningServerContext;
322
+ private stopMatterServer;
323
+ /**
324
+ * Creates a Matter Aggregator.
325
+ * @param {StorageContext} context - The storage context.
326
+ * @returns {Aggregator} - The created Matter Aggregator.
327
+ */
328
+ private createMatterAggregator;
329
+ /**
330
+ * Creates a matter commissioning server.
331
+ *
332
+ * @param {StorageContext} context - The storage context.
333
+ * @param {string} pluginName - The name of the commissioning server.
334
+ * @returns {CommissioningServer} The created commissioning server.
335
+ */
336
+ private createCommisioningServer;
406
337
  /**
407
338
  * Creates a commissioning server storage context.
408
339
  *
@@ -423,11 +354,19 @@ export declare class Matterbridge extends EventEmitter {
423
354
  */
424
355
  private createCommissioningServerContext;
425
356
  /**
426
- * Shows the commissioning QR code for a given plugin.
357
+ * Imports the commissioning server context for a specific plugin and device.
358
+ * @param pluginName - The name of the plugin.
359
+ * @param device - The MatterbridgeDevice object representing the device.
360
+ * @returns The commissioning server context.
361
+ * @throws Error if the BasicInformationCluster is not found.
362
+ */
363
+ private importCommissioningServerContext;
364
+ /**
365
+ * Shows the commissioning server QR code for a given plugin.
427
366
  * @param {CommissioningServer} commissioningServer - The commissioning server instance.
428
367
  * @param {StorageContext} storageContext - The storage context instance.
429
368
  * @param {NodeStorage} nodeContext - The node storage instance.
430
- * @param {string} pluginName - The name of the plugin.
369
+ * @param {string} pluginName - The name of the plugin of Matterbridge in bridge mode.
431
370
  * @returns {Promise<void>} - A promise that resolves when the QR code is shown.
432
371
  */
433
372
  private showCommissioningQRCode;
@@ -445,13 +384,6 @@ export declare class Matterbridge extends EventEmitter {
445
384
  * @returns An array of sanitized session information objects.
446
385
  */
447
386
  private sanitizeSessionInformation;
448
- /**
449
- * Finds a plugin by its name.
450
- *
451
- * @param pluginName - The name of the plugin to find.
452
- * @returns The found plugin, or undefined if not found.
453
- */
454
- private findPlugin;
455
387
  /**
456
388
  * Sets the reachability of a commissioning server and trigger.
457
389
  *
@@ -474,65 +406,9 @@ export declare class Matterbridge extends EventEmitter {
474
406
  private setDeviceReachability;
475
407
  private getVendorIdName;
476
408
  /**
477
- * Creates a matter commissioning server.
478
- *
479
- * @param {StorageContext} context - The storage context.
480
- * @param {string} pluginName - The name of the commissioning server.
481
- * @returns {CommissioningServer} The created commissioning server.
482
- */
483
- private createCommisioningServer;
484
- /**
485
- * Creates a Matter server using the provided storage manager and the provided mdnsInterface.
486
- * @param storageManager The storage manager to be used by the Matter server.
487
- *
488
- */
489
- private createMatterServer;
490
- /**
491
- * Creates a Matter Aggregator.
492
- * @param {StorageContext} context - The storage context.
493
- * @returns {Aggregator} - The created Matter Aggregator.
494
- */
495
- private createMatterAggregator;
496
- /**
497
- * Stops the Matter server and associated controllers.
498
- */
499
- private stopMatter;
500
- /**
501
- * Retrieves the latest version of a package from the npm registry.
502
- * @param packageName - The name of the package.
503
- * @returns A Promise that resolves to the latest version of the package.
504
- */
505
- private getLatestVersion;
506
- /**
507
- * Retrieves the path to the global Node.js modules directory.
508
- * @returns A promise that resolves to the path of the global Node.js modules directory.
509
- */
510
- private getGlobalNodeModules;
511
- /**
512
- * Logs the node and system information.
513
- */
514
- private logNodeAndSystemInfo;
515
- /**
516
- * Retrieves the latest version of Matterbridge and performs necessary actions based on the version comparison.
517
- * @private
518
- * @returns {Promise<void>} A promise that resolves when the latest version is retrieved and actions are performed.
519
- */
520
- private getMatterbridgeLatestVersion;
521
- /**
522
- * Retrieves the latest version of a plugin and updates the plugin's latestVersion property.
523
- * If the plugin's version is different from the latest version, logs a warning message.
524
- * If the plugin's version is the same as the latest version, logs an info message.
525
- * If there is an error retrieving the latest version, logs an error message.
526
- *
527
- * @private
528
- * @param {RegisteredPlugin} plugin - The plugin for which to retrieve the latest version.
529
- * @returns {Promise<void>} A promise that resolves when the latest version is retrieved and actions are performed.
530
- */
531
- private getPluginLatestVersion;
532
- /**
533
- * Retrieves an array of base registered plugins.
534
- *
535
- * @returns {BaseRegisteredPlugin[]} An array of base registered plugins.
409
+ * Retrieves the base registered plugins sanitized for res.json().
410
+ * @param {boolean} includeAll - Whether to include all information for each plugin.
411
+ * @returns {BaseRegisteredPlugin[]} A promise that resolves to an array of BaseRegisteredPlugin objects.
536
412
  */
537
413
  private getBaseRegisteredPlugins;
538
414
  /**
@@ -553,7 +429,7 @@ export declare class Matterbridge extends EventEmitter {
553
429
  /**
554
430
  * Initializes the frontend of Matterbridge.
555
431
  *
556
- * @param port The port number to run the frontend server on. Default is 3000.
432
+ * @param port The port number to run the frontend server on. Default is 8283.
557
433
  */
558
434
  initializeFrontend(port?: number): Promise<void>;
559
435
  /**
@@ -562,6 +438,26 @@ export declare class Matterbridge extends EventEmitter {
562
438
  * @returns The attributes of the cluster servers in the device.
563
439
  */
564
440
  private getClusterTextFromDevice;
441
+ /**
442
+ * Initializes the Matterbridge instance as extension for zigbee2mqtt.
443
+ * @deprecated This method is deprecated and will be removed in a future version.
444
+ *
445
+ * @returns A Promise that resolves when the initialization is complete.
446
+ */
447
+ startExtension(dataPath: string, debugEnabled: boolean, extensionVersion: string, port?: number): Promise<boolean>;
448
+ /**
449
+ * Close the Matterbridge instance as extension for zigbee2mqtt.
450
+ * @deprecated This method is deprecated and will be removed in a future version.
451
+ *
452
+ * @returns A Promise that resolves when the initialization is complete.
453
+ */
454
+ stopExtension(): Promise<void>;
455
+ /**
456
+ * Checks if the extension is commissioned.
457
+ * @deprecated This method is deprecated and will be removed in a future version.
458
+ *
459
+ * @returns {boolean} Returns true if the extension is commissioned, false otherwise.
460
+ */
461
+ isExtensionCommissioned(): boolean;
565
462
  }
566
- export {};
567
463
  //# sourceMappingURL=matterbridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}