@matterbridge/core 3.6.1-dev-20260310-7887380 → 3.6.1-dev-20260311-8b3e31c
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/dist/cli.js
CHANGED
|
@@ -175,7 +175,7 @@ function help() {
|
|
|
175
175
|
--delay [seconds]: set a delay in seconds before starting Matterbridge in the first 5 minutes from a reboot (default 120)
|
|
176
176
|
--fixed_delay [seconds]: set a fixed delay in seconds before starting Matterbridge (default 120)
|
|
177
177
|
--no-ansi: disable ANSI color output in the logs
|
|
178
|
-
--
|
|
178
|
+
--reset-sessions: reset sessions and resumption records on shutdown (use only if your controller has issue reconnecting on restart)
|
|
179
179
|
`);
|
|
180
180
|
process.exit(0);
|
|
181
181
|
}
|
|
@@ -71,7 +71,7 @@ export declare let log: AnsiLogger;
|
|
|
71
71
|
export declare function setupTest(name: string, debug?: boolean): Promise<void>;
|
|
72
72
|
export declare function setDebug(debug: boolean): Promise<void>;
|
|
73
73
|
export declare function startMatterbridge(bridgeMode?: 'bridge' | 'childbridge' | 'controller' | '', frontendPort?: number, matterPort?: number, passcode?: number, discriminator?: number, pluginSize?: number, devicesSize?: number): Promise<Matterbridge>;
|
|
74
|
-
export declare function stopMatterbridge(cleanupPause?: number, destroyPause?: number): Promise<void>;
|
|
74
|
+
export declare function stopMatterbridge(cleanupPause?: number, destroyPause?: number, closeMdns?: boolean): Promise<void>;
|
|
75
75
|
export declare function createMatterbridgeEnvironment(name: string, createOnly?: boolean): Promise<Matterbridge>;
|
|
76
76
|
export declare function startMatterbridgeEnvironment(port?: number, createOnly?: boolean): Promise<[ServerNode<ServerNode.RootEndpoint>, Endpoint<AggregatorEndpoint>]>;
|
|
77
77
|
export declare function addMatterbridgePlatform(platform: MatterbridgePlatform, name?: string): void;
|
|
@@ -247,8 +247,8 @@ export async function startMatterbridge(bridgeMode = 'bridge', frontendPort = 82
|
|
|
247
247
|
}
|
|
248
248
|
return matterbridge;
|
|
249
249
|
}
|
|
250
|
-
export async function stopMatterbridge(cleanupPause = 10, destroyPause = 250) {
|
|
251
|
-
await destroyMatterbridgeEnvironment(cleanupPause, destroyPause);
|
|
250
|
+
export async function stopMatterbridge(cleanupPause = 10, destroyPause = 250, closeMdns = true) {
|
|
251
|
+
await destroyMatterbridgeEnvironment(cleanupPause, destroyPause, closeMdns);
|
|
252
252
|
}
|
|
253
253
|
export async function createMatterbridgeEnvironment(name, createOnly = false) {
|
|
254
254
|
log = new AnsiLogger({ logName: name, logTimestampFormat: 4, logLevel: "debug" });
|
package/dist/matterNode.js
CHANGED
|
@@ -333,7 +333,7 @@ export class MatterNode extends EventEmitter {
|
|
|
333
333
|
await storageContext.set('productId', productId);
|
|
334
334
|
await storageContext.set('productName', productName.slice(0, 32));
|
|
335
335
|
await storageContext.set('nodeLabel', productName.slice(0, 32));
|
|
336
|
-
await storageContext.set('productLabel', productName.slice(0, 32));
|
|
336
|
+
await storageContext.set('productLabel', productName.replace(vendorName, '').trim().slice(0, 32));
|
|
337
337
|
await storageContext.set('serialNumber', await storageContext.get('serialNumber', serialNumber ? serialNumber.slice(0, 32) : 'SN' + random));
|
|
338
338
|
await storageContext.set('uniqueId', await storageContext.get('uniqueId', uniqueId ? uniqueId.slice(0, 32) : 'UI' + random));
|
|
339
339
|
await storageContext.set('softwareVersion', isValidNumber(parseVersionString(this.matterbridge.matterbridgeVersion), 0, UINT32_MAX) ? parseVersionString(this.matterbridge.matterbridgeVersion) : 1);
|
package/dist/matterbridge.js
CHANGED
|
@@ -124,7 +124,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
124
124
|
aggregatorVendorId = VendorId(getIntParameter('vendorId') ?? 0xfff1);
|
|
125
125
|
aggregatorVendorName = getParameter('vendorName') ?? 'Matterbridge';
|
|
126
126
|
aggregatorProductId = getIntParameter('productId') ?? 0x8000;
|
|
127
|
-
aggregatorProductName = getParameter('productName') ?? 'Matterbridge
|
|
127
|
+
aggregatorProductName = getParameter('productName') ?? 'Matterbridge Aggregator';
|
|
128
128
|
aggregatorDeviceType = DeviceTypeId(getIntParameter('deviceType') ?? bridge.code);
|
|
129
129
|
aggregatorSerialNumber = getParameter('serialNumber');
|
|
130
130
|
aggregatorUniqueId = getParameter('uniqueId');
|
|
@@ -132,7 +132,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
132
132
|
controllerVendorId = VendorId(getIntParameter('vendorId') ?? 0xfff1);
|
|
133
133
|
controllerVendorName = getParameter('vendorName') ?? 'Matterbridge';
|
|
134
134
|
controllerProductId = getIntParameter('productId') ?? 0x8000;
|
|
135
|
-
controllerProductName = getParameter('productName') ?? 'Matterbridge
|
|
135
|
+
controllerProductName = getParameter('productName') ?? 'Matterbridge Controller';
|
|
136
136
|
advertisingNodes = new Map();
|
|
137
137
|
server;
|
|
138
138
|
verbose = hasParameter('verbose');
|
|
@@ -251,7 +251,8 @@ export class Matterbridge extends EventEmitter {
|
|
|
251
251
|
if (msg.result && msg.result.success && msg.result.packageCommand === 'install') {
|
|
252
252
|
this.restartRequired = true;
|
|
253
253
|
this.fixedRestartRequired = true;
|
|
254
|
-
|
|
254
|
+
const packageName = msg.result.packageName.replace(/@.*$/, '');
|
|
255
|
+
if (packageName === 'matterbridge') {
|
|
255
256
|
this.log.info('Matterbridge has been updated. Full restart required.');
|
|
256
257
|
if (this.restartMode !== '')
|
|
257
258
|
await this.cleanup('updating...', false);
|
|
@@ -1188,7 +1189,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1188
1189
|
catch {
|
|
1189
1190
|
}
|
|
1190
1191
|
}
|
|
1191
|
-
if (
|
|
1192
|
+
if (hasParameter('reset-sessions')) {
|
|
1192
1193
|
this.log.debug(`Cleaning matter storage context for ${GREEN}Matterbridge${db}...`);
|
|
1193
1194
|
unlinkSafe(path.join(this.matterbridgeDirectory, MATTER_STORAGE_NAME, 'Matterbridge', 'sessions.resumptionRecords'), this.log);
|
|
1194
1195
|
unlinkSafe(path.join(this.matterbridgeDirectory, MATTER_STORAGE_NAME, 'Matterbridge', 'root.subscriptions.subscriptions'), this.log);
|
|
@@ -1515,7 +1516,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1515
1516
|
await this.controllerContext.set('vendorName', this.controllerVendorName.slice(0, 32));
|
|
1516
1517
|
await this.controllerContext.set('productId', this.controllerProductId);
|
|
1517
1518
|
await this.controllerContext.set('productName', this.controllerProductName.slice(0, 32));
|
|
1518
|
-
await this.controllerContext.set('productLabel', this.controllerProductName.slice(0, 32));
|
|
1519
|
+
await this.controllerContext.set('productLabel', this.controllerProductName.replace(this.controllerVendorName, '').trim().slice(0, 32));
|
|
1519
1520
|
await this.controllerContext.set('nodeLabel', storeId.slice(0, 32));
|
|
1520
1521
|
await this.controllerContext.set('serialNumber', await this.controllerContext.get('serialNumber', 'SN' + random));
|
|
1521
1522
|
await this.controllerContext.set('uniqueId', await this.controllerContext.get('uniqueId', 'UI' + random));
|
|
@@ -1791,7 +1792,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1791
1792
|
await storageContext.set('vendorName', vendorName.slice(0, 32));
|
|
1792
1793
|
await storageContext.set('productId', productId);
|
|
1793
1794
|
await storageContext.set('productName', productName.slice(0, 32));
|
|
1794
|
-
await storageContext.set('productLabel', productName.slice(0, 32));
|
|
1795
|
+
await storageContext.set('productLabel', productName.replace(vendorName, '').trim().slice(0, 32));
|
|
1795
1796
|
await storageContext.set('nodeLabel', deviceName.slice(0, 32));
|
|
1796
1797
|
await storageContext.set('serialNumber', await storageContext.get('serialNumber', serialNumber ? serialNumber.slice(0, 32) : 'SN' + random));
|
|
1797
1798
|
await storageContext.set('uniqueId', await storageContext.get('uniqueId', uniqueId ? uniqueId.slice(0, 32) : 'UI' + random));
|
|
@@ -1860,7 +1861,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1860
1861
|
vendorName: await storageContext.get('vendorName'),
|
|
1861
1862
|
productId: await storageContext.get('productId'),
|
|
1862
1863
|
productName: await storageContext.get('productName'),
|
|
1863
|
-
productLabel: await storageContext.get('
|
|
1864
|
+
productLabel: await storageContext.get('productLabel'),
|
|
1864
1865
|
serialNumber: await storageContext.get('serialNumber'),
|
|
1865
1866
|
uniqueId: await storageContext.get('uniqueId'),
|
|
1866
1867
|
softwareVersion: await storageContext.get('softwareVersion'),
|
|
@@ -506,7 +506,7 @@ export class MatterbridgeEndpoint extends Endpoint {
|
|
|
506
506
|
vendorName: vendorName.slice(0, 32),
|
|
507
507
|
productName: productName.slice(0, 32),
|
|
508
508
|
productUrl: this.productUrl.slice(0, 256),
|
|
509
|
-
productLabel: productName.slice(0, 64),
|
|
509
|
+
productLabel: productName.replace(vendorName, '').trim().slice(0, 64),
|
|
510
510
|
nodeLabel: deviceName.slice(0, 32),
|
|
511
511
|
serialNumber: serialNumber.slice(0, 32),
|
|
512
512
|
uniqueId: this.uniqueId.slice(0, 32),
|
package/dist/pluginManager.js
CHANGED
|
@@ -238,17 +238,17 @@ export class PluginManager extends EventEmitter {
|
|
|
238
238
|
case 'manager_spawn_response':
|
|
239
239
|
if (msg.result && msg.result.packageCommand === 'install') {
|
|
240
240
|
if (msg.result.success) {
|
|
241
|
-
|
|
242
|
-
if (
|
|
243
|
-
if (!this.has(
|
|
244
|
-
await this.add(
|
|
245
|
-
const plugin = this.get(
|
|
241
|
+
const packageName = msg.result.packageName.replace(/@.*$/, '');
|
|
242
|
+
if (packageName !== 'matterbridge') {
|
|
243
|
+
if (!this.has(packageName))
|
|
244
|
+
await this.add(packageName);
|
|
245
|
+
const plugin = this.get(packageName);
|
|
246
246
|
if (plugin && !plugin.loaded) {
|
|
247
247
|
await this.load(plugin);
|
|
248
248
|
this.server.request({ type: 'frontend_refreshrequired', src: 'plugins', dst: 'frontend', params: { changed: 'plugins' } });
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
this.log.info(`Installed plugin ${plg}${
|
|
251
|
+
this.log.info(`Installed plugin ${plg}${packageName}${db} successfully`);
|
|
252
252
|
}
|
|
253
253
|
else {
|
|
254
254
|
this.log.error(`Failed to install plugin ${plg}${msg.result.packageName}${er}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matterbridge/core",
|
|
3
|
-
"version": "3.6.1-dev-
|
|
3
|
+
"version": "3.6.1-dev-20260311-8b3e31c",
|
|
4
4
|
"description": "Matterbridge core library",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"homepage": "https://matterbridge.io/",
|
|
@@ -121,11 +121,11 @@
|
|
|
121
121
|
"CHANGELOG.md"
|
|
122
122
|
],
|
|
123
123
|
"dependencies": {
|
|
124
|
-
"@matter/main": "0.
|
|
125
|
-
"@matterbridge/dgram": "3.6.1-dev-
|
|
126
|
-
"@matterbridge/thread": "3.6.1-dev-
|
|
127
|
-
"@matterbridge/types": "3.6.1-dev-
|
|
128
|
-
"@matterbridge/utils": "3.6.1-dev-
|
|
124
|
+
"@matter/main": "0.17.0-alpha.0-20260309-33bcd9eab",
|
|
125
|
+
"@matterbridge/dgram": "3.6.1-dev-20260311-8b3e31c",
|
|
126
|
+
"@matterbridge/thread": "3.6.1-dev-20260311-8b3e31c",
|
|
127
|
+
"@matterbridge/types": "3.6.1-dev-20260311-8b3e31c",
|
|
128
|
+
"@matterbridge/utils": "3.6.1-dev-20260311-8b3e31c",
|
|
129
129
|
"archiver": "7.0.1",
|
|
130
130
|
"express": "5.2.1",
|
|
131
131
|
"glob": "13.0.6",
|