matterbridge 1.3.0 → 1.3.1
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 +11 -0
- package/dist/defaultConfigSchema.d.ts.map +1 -1
- package/dist/defaultConfigSchema.js +9 -1
- package/dist/defaultConfigSchema.js.map +1 -1
- package/dist/matterbridge.d.ts +8 -7
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +60 -20
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeDevice.d.ts +17 -36
- package/dist/matterbridgeDevice.d.ts.map +1 -1
- package/dist/matterbridgeDevice.js +14 -21
- package/dist/matterbridgeDevice.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.3.1] - 2024-06-20
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- [matterbridge]: Updated dependencies
|
|
9
|
+
- [matterbridge]: Refactor the loading of schemas, now they load from the plugin directory.
|
|
10
|
+
- [matterbridge]: Moved getPluginVersion to the start also for disabled plugins.
|
|
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
|
+
|
|
5
16
|
## [1.3.0] - 2024-06-16
|
|
6
17
|
|
|
7
18
|
This release is all about Matter 1.3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfigSchema.d.ts","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,kBAAkB,EAAE,cAgBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"defaultConfigSchema.d.ts","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,kBAAkB,EAAE,cAgBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAiGhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAShC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cA4EhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAY3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cA0E3B,CAAC"}
|
|
@@ -41,7 +41,7 @@ export const zigbee2mqtt_schema = {
|
|
|
41
41
|
title: 'Matterbridge zigbee2mqtt plugin',
|
|
42
42
|
description: 'matterbridge-zigbee2mqtt v. 2.0.13 by https://github.com/Luligu',
|
|
43
43
|
type: 'object',
|
|
44
|
-
required: ['
|
|
44
|
+
required: ['host', 'port', 'topic'],
|
|
45
45
|
properties: {
|
|
46
46
|
name: {
|
|
47
47
|
description: 'Plugin name',
|
|
@@ -125,6 +125,10 @@ export const zigbee2mqtt_schema = {
|
|
|
125
125
|
},
|
|
126
126
|
},
|
|
127
127
|
},
|
|
128
|
+
debug: {
|
|
129
|
+
description: 'Enable the debug for the plugin (development only)',
|
|
130
|
+
type: 'boolean',
|
|
131
|
+
},
|
|
128
132
|
unregisterOnShutdown: {
|
|
129
133
|
description: 'Unregister all devices on shutdown (development only)',
|
|
130
134
|
type: 'boolean',
|
|
@@ -208,6 +212,10 @@ export const somfytahoma_schema = {
|
|
|
208
212
|
type: 'integer',
|
|
209
213
|
},
|
|
210
214
|
},
|
|
215
|
+
debug: {
|
|
216
|
+
description: 'Enable the debug for the plugin (development only)',
|
|
217
|
+
type: 'boolean',
|
|
218
|
+
},
|
|
211
219
|
unregisterOnShutdown: {
|
|
212
220
|
description: 'Unregister all devices on shutdown (development only)',
|
|
213
221
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfigSchema.js","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,aAAa;IACpB,oBAAoB,EAAE,KAAK;IAC3B,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,sBAAsB,EAAE,EAAE;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,KAAK,EAAE,iCAAiC;IACxC,WAAW,EAAE,iEAAiE;IAC9E,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"defaultConfigSchema.js","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/matterbridge.d.ts
CHANGED
|
@@ -76,8 +76,8 @@ export interface BaseRegisteredPlugin {
|
|
|
76
76
|
addedDevices?: number;
|
|
77
77
|
qrPairingCode?: string;
|
|
78
78
|
manualPairingCode?: string;
|
|
79
|
-
configJson?:
|
|
80
|
-
schemaJson?:
|
|
79
|
+
configJson?: PlatformConfig;
|
|
80
|
+
schemaJson?: PlatformSchema;
|
|
81
81
|
}
|
|
82
82
|
interface SystemInformation {
|
|
83
83
|
macAddress: string;
|
|
@@ -247,7 +247,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
247
247
|
* Adds a bridged device to the Matterbridge.
|
|
248
248
|
* @param pluginName - The name of the plugin.
|
|
249
249
|
* @param device - The bridged device to add.
|
|
250
|
-
* @returns {Promise<void>} - A promise that resolves when the
|
|
250
|
+
* @returns {Promise<void>} - A promise that resolves when the device is added.
|
|
251
251
|
*/
|
|
252
252
|
addBridgedDevice(pluginName: string, device: MatterbridgeDevice): Promise<void>;
|
|
253
253
|
/**
|
|
@@ -286,8 +286,9 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
286
286
|
private testStartMatterBridge;
|
|
287
287
|
/**
|
|
288
288
|
* Loads the schema for a plugin.
|
|
289
|
-
* If the schema file exists, it reads the file and returns the parsed JSON data.
|
|
290
|
-
* If the schema file
|
|
289
|
+
* 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.
|
|
290
|
+
* If the schema file exists in matterbridgeDirectory, it reads the file and returns the parsed JSON data.
|
|
291
|
+
* If the schema file does not exist, it creates a new schema with the default configuration and returns it.
|
|
291
292
|
* If any error occurs during file access or creation, it logs an error and return an empty schema.
|
|
292
293
|
*
|
|
293
294
|
* @param plugin - The plugin for which to load the schema.
|
|
@@ -298,14 +299,14 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
298
299
|
* Saves the plugin configuration to a JSON file.
|
|
299
300
|
* @param plugin - The registered plugin.
|
|
300
301
|
* @param config - The platform configuration.
|
|
301
|
-
* @returns A promise that resolves when the configuration is saved successfully, or
|
|
302
|
+
* @returns A promise that resolves when the configuration is saved successfully, or with an error logged.
|
|
302
303
|
*/
|
|
303
304
|
private savePluginConfigFromJson;
|
|
304
305
|
/**
|
|
305
306
|
* Loads the configuration for a plugin.
|
|
306
307
|
* If the configuration file exists, it reads the file and returns the parsed JSON data.
|
|
307
308
|
* If the configuration file does not exist, it creates a new file with default configuration and returns it.
|
|
308
|
-
* If any error occurs during file access or creation, it logs an error and
|
|
309
|
+
* If any error occurs during file access or creation, it logs an error and return un empty config.
|
|
309
310
|
*
|
|
310
311
|
* @param plugin - The plugin for which to load the configuration.
|
|
311
312
|
* @returns A promise that resolves to the loaded or created configuration.
|
|
@@ -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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"}
|
package/dist/matterbridge.js
CHANGED
|
@@ -288,7 +288,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
288
288
|
this.nodeStorage = new NodeStorageManager({ dir: path.join(this.matterbridgeDirectory, 'storage'), logging: false });
|
|
289
289
|
this.log.debug('Creating node storage context for matterbridge');
|
|
290
290
|
this.nodeContext = await this.nodeStorage.createStorage('matterbridge');
|
|
291
|
-
// Get the plugins from node storage
|
|
291
|
+
// Get the plugins from node storage and create the plugin node storage contexts
|
|
292
292
|
this.registeredPlugins = await this.nodeContext.get('plugins', []);
|
|
293
293
|
for (const plugin of this.registeredPlugins) {
|
|
294
294
|
this.log.debug(`Creating node storage context for plugin ${plugin.name}`);
|
|
@@ -496,6 +496,9 @@ export class Matterbridge extends EventEmitter {
|
|
|
496
496
|
this.log.debug('Adding matterbridge commissioning server to matter server');
|
|
497
497
|
await this.matterServer.addCommissioningServer(this.commissioningServer, { uniqueStorageKey: 'Matterbridge' });
|
|
498
498
|
for (const plugin of this.registeredPlugins) {
|
|
499
|
+
plugin.configJson = await this.loadPluginConfig(plugin);
|
|
500
|
+
plugin.schemaJson = await this.loadPluginSchema(plugin);
|
|
501
|
+
this.getPluginLatestVersion(plugin);
|
|
499
502
|
if (!plugin.enabled) {
|
|
500
503
|
this.log.info(`Plugin ${plg}${plugin.name}${nf} not enabled`);
|
|
501
504
|
continue;
|
|
@@ -523,6 +526,9 @@ export class Matterbridge extends EventEmitter {
|
|
|
523
526
|
this.log.debug('Starting matterbridge in mode', this.bridgeMode);
|
|
524
527
|
this.matterServer = this.createMatterServer(this.storageManager);
|
|
525
528
|
for (const plugin of this.registeredPlugins) {
|
|
529
|
+
plugin.configJson = await this.loadPluginConfig(plugin);
|
|
530
|
+
plugin.schemaJson = await this.loadPluginSchema(plugin);
|
|
531
|
+
this.getPluginLatestVersion(plugin);
|
|
526
532
|
if (!plugin.enabled) {
|
|
527
533
|
this.log.info(`Plugin ${plg}${plugin.name}${nf} not enabled`);
|
|
528
534
|
continue;
|
|
@@ -907,7 +913,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
907
913
|
* Adds a bridged device to the Matterbridge.
|
|
908
914
|
* @param pluginName - The name of the plugin.
|
|
909
915
|
* @param device - The bridged device to add.
|
|
910
|
-
* @returns {Promise<void>} - A promise that resolves when the
|
|
916
|
+
* @returns {Promise<void>} - A promise that resolves when the device is added.
|
|
911
917
|
*/
|
|
912
918
|
async addBridgedDevice(pluginName, device) {
|
|
913
919
|
if (this.bridgeMode === 'bridge' && !this.matterAggregator) {
|
|
@@ -1132,15 +1138,38 @@ export class Matterbridge extends EventEmitter {
|
|
|
1132
1138
|
}
|
|
1133
1139
|
/**
|
|
1134
1140
|
* Loads the schema for a plugin.
|
|
1135
|
-
* If the schema file exists, it reads the file and returns the parsed JSON data.
|
|
1136
|
-
* If the schema file
|
|
1141
|
+
* 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.
|
|
1142
|
+
* If the schema file exists in matterbridgeDirectory, it reads the file and returns the parsed JSON data.
|
|
1143
|
+
* If the schema file does not exist, it creates a new schema with the default configuration and returns it.
|
|
1137
1144
|
* If any error occurs during file access or creation, it logs an error and return an empty schema.
|
|
1138
1145
|
*
|
|
1139
1146
|
* @param plugin - The plugin for which to load the schema.
|
|
1140
1147
|
* @returns A promise that resolves to the loaded or created schema.
|
|
1141
1148
|
*/
|
|
1142
1149
|
async loadPluginSchema(plugin) {
|
|
1143
|
-
|
|
1150
|
+
let schemaFile = plugin.path.replace('package.json', `${plugin.name}.schema.json`);
|
|
1151
|
+
try {
|
|
1152
|
+
await fs.access(schemaFile);
|
|
1153
|
+
const data = await fs.readFile(schemaFile, 'utf8');
|
|
1154
|
+
const schema = JSON.parse(data);
|
|
1155
|
+
schema.title = plugin.description;
|
|
1156
|
+
schema.description = plugin.name + ' v. ' + plugin.version + ' by ' + plugin.author;
|
|
1157
|
+
this.log.debug(`Schema file found: ${schemaFile}.`);
|
|
1158
|
+
// this.log.debug(`Schema file found: ${schemaFile}.\nSchema:${rs}\n`, schema);
|
|
1159
|
+
schemaFile = path.join(this.matterbridgeDirectory, `${plugin.name}.schema.json`);
|
|
1160
|
+
try {
|
|
1161
|
+
await fs.unlink(schemaFile);
|
|
1162
|
+
this.log.debug(`Schema file ${schemaFile} deleted.`);
|
|
1163
|
+
}
|
|
1164
|
+
catch (err) {
|
|
1165
|
+
this.log.debug(`Schema file ${schemaFile} to delete not found.`);
|
|
1166
|
+
}
|
|
1167
|
+
return schema;
|
|
1168
|
+
}
|
|
1169
|
+
catch (err) {
|
|
1170
|
+
this.log.debug(`Schema file ${schemaFile} not found.`);
|
|
1171
|
+
}
|
|
1172
|
+
schemaFile = path.join(this.matterbridgeDirectory, `${plugin.name}.schema.json`);
|
|
1144
1173
|
try {
|
|
1145
1174
|
await fs.access(schemaFile);
|
|
1146
1175
|
const data = await fs.readFile(schemaFile, 'utf8');
|
|
@@ -1178,22 +1207,28 @@ export class Matterbridge extends EventEmitter {
|
|
|
1178
1207
|
type: 'string',
|
|
1179
1208
|
readOnly: true,
|
|
1180
1209
|
},
|
|
1210
|
+
debug: {
|
|
1211
|
+
description: 'Enable the debug for the plugin (development only)',
|
|
1212
|
+
type: 'boolean',
|
|
1213
|
+
},
|
|
1181
1214
|
unregisterOnShutdown: {
|
|
1182
1215
|
description: 'Unregister all devices on shutdown (development only)',
|
|
1183
1216
|
type: 'boolean',
|
|
1184
1217
|
},
|
|
1185
1218
|
},
|
|
1186
1219
|
};
|
|
1220
|
+
return schema;
|
|
1221
|
+
/*
|
|
1187
1222
|
try {
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
}
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
return schema;
|
|
1223
|
+
await this.writeFile(schemaFile, JSON.stringify(schema, null, 2));
|
|
1224
|
+
this.log.debug(`Created schema file: ${schemaFile}.`);
|
|
1225
|
+
// this.log.debug(`Created schema file: ${schemaFile}.\nSchema:${rs}\n`, schema);
|
|
1226
|
+
return schema;
|
|
1227
|
+
} catch (err) {
|
|
1228
|
+
this.log.error(`Error creating schema file ${schemaFile}: ${err}`);
|
|
1229
|
+
return schema;
|
|
1196
1230
|
}
|
|
1231
|
+
*/
|
|
1197
1232
|
}
|
|
1198
1233
|
else {
|
|
1199
1234
|
this.log.error(`Error accessing schema file ${schemaFile}: ${err}`);
|
|
@@ -1208,17 +1243,18 @@ export class Matterbridge extends EventEmitter {
|
|
|
1208
1243
|
* Saves the plugin configuration to a JSON file.
|
|
1209
1244
|
* @param plugin - The registered plugin.
|
|
1210
1245
|
* @param config - The platform configuration.
|
|
1211
|
-
* @returns A promise that resolves when the configuration is saved successfully, or
|
|
1246
|
+
* @returns A promise that resolves when the configuration is saved successfully, or with an error logged.
|
|
1212
1247
|
*/
|
|
1213
1248
|
async savePluginConfigFromJson(plugin, config) {
|
|
1214
1249
|
if (!config.name || !config.type || config.name !== plugin.name) {
|
|
1215
|
-
this.log.error(`Error saving plugin ${plg}${plugin.name}${er} config
|
|
1250
|
+
this.log.error(`Error saving plugin ${plg}${plugin.name}${er} config. Wrong config data content.`);
|
|
1216
1251
|
return;
|
|
1217
1252
|
}
|
|
1218
1253
|
const configFile = path.join(this.matterbridgeDirectory, `${plugin.name}.config.json`);
|
|
1219
1254
|
try {
|
|
1220
1255
|
await this.writeFile(configFile, JSON.stringify(config, null, 2));
|
|
1221
|
-
|
|
1256
|
+
plugin.configJson = config;
|
|
1257
|
+
this.log.debug(`Saved config file ${configFile} for plugin ${plg}${plugin.name}${db}.\nConfig:${rs}\n`, config);
|
|
1222
1258
|
}
|
|
1223
1259
|
catch (err) {
|
|
1224
1260
|
this.log.error(`Error saving plugin ${plg}${plugin.name}${er} config: ${err}`);
|
|
@@ -1229,7 +1265,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1229
1265
|
* Loads the configuration for a plugin.
|
|
1230
1266
|
* If the configuration file exists, it reads the file and returns the parsed JSON data.
|
|
1231
1267
|
* If the configuration file does not exist, it creates a new file with default configuration and returns it.
|
|
1232
|
-
* If any error occurs during file access or creation, it logs an error and
|
|
1268
|
+
* If any error occurs during file access or creation, it logs an error and return un empty config.
|
|
1233
1269
|
*
|
|
1234
1270
|
* @param plugin - The plugin for which to load the configuration.
|
|
1235
1271
|
* @returns A promise that resolves to the loaded or created configuration.
|
|
@@ -1440,9 +1476,11 @@ export class Matterbridge extends EventEmitter {
|
|
|
1440
1476
|
plugin.loaded = true;
|
|
1441
1477
|
plugin.registeredDevices = 0;
|
|
1442
1478
|
plugin.addedDevices = 0;
|
|
1479
|
+
plugin.configJson = config;
|
|
1480
|
+
plugin.schemaJson = await this.loadPluginSchema(plugin);
|
|
1443
1481
|
// Save the updated plugin data in the node storage
|
|
1444
1482
|
await this.nodeContext?.set('plugins', await this.getBaseRegisteredPlugins());
|
|
1445
|
-
this.getPluginLatestVersion(plugin);
|
|
1483
|
+
// this.getPluginLatestVersion(plugin); moved to parseCommandLine
|
|
1446
1484
|
this.log.info(`Loaded plugin ${plg}${plugin.name}${nf} type ${typ}${platform.type} ${db}(entrypoint ${UNDERLINE}${pluginEntry}${UNDERLINEOFF})`);
|
|
1447
1485
|
if (start)
|
|
1448
1486
|
this.startPlugin(plugin, message); // No await do it asyncronously
|
|
@@ -2529,8 +2567,10 @@ export class Matterbridge extends EventEmitter {
|
|
|
2529
2567
|
registeredDevices: plugin.registeredDevices,
|
|
2530
2568
|
qrPairingCode: plugin.qrPairingCode,
|
|
2531
2569
|
manualPairingCode: plugin.manualPairingCode,
|
|
2532
|
-
configJson: includeConfigSchema ? await this.loadPluginConfig(plugin) : {},
|
|
2533
|
-
schemaJson: includeConfigSchema ? await this.loadPluginSchema(plugin) : {},
|
|
2570
|
+
// configJson: includeConfigSchema ? await this.loadPluginConfig(plugin) : {},
|
|
2571
|
+
// schemaJson: includeConfigSchema ? await this.loadPluginSchema(plugin) : {},
|
|
2572
|
+
configJson: includeConfigSchema ? plugin.configJson : {},
|
|
2573
|
+
schemaJson: includeConfigSchema ? plugin.schemaJson : {},
|
|
2534
2574
|
});
|
|
2535
2575
|
}
|
|
2536
2576
|
return baseRegisteredPlugins;
|