matterbridge 2.2.0-dev.7 → 2.2.0-dev.8
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 +4 -24
- package/dist/matterbridge.js +1 -1
- package/dist/shelly.js +41 -8
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -13,27 +13,7 @@ It is also available the official Matterbridge Home Assistant plugin https://git
|
|
|
13
13
|
|
|
14
14
|
Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/QX58CDe6hd.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Starting from v. 2.0.0, Matterbridge is running only in mode edge (no parameter needed and no badge in the frontend).
|
|
19
|
-
|
|
20
|
-
Starting from v. 2.1.0, the legacy old api of matter.js have been completely removed from Matterbridge and from all plugins.
|
|
21
|
-
|
|
22
|
-
For this reason there is no compatibility with the old versions of the plugins.
|
|
23
|
-
|
|
24
|
-
You need to update all plugins you use and Matterbridge in the same moment.
|
|
25
|
-
|
|
26
|
-
I suggest to first update all plugins without restarting and then to update Matterbridge so when it restarts, all versions will be the latest.
|
|
27
|
-
|
|
28
|
-
If you use docker, all plugins are already installed in the image so you just need to pull the new image.
|
|
29
|
-
|
|
30
|
-
Compatibility list:
|
|
31
|
-
matterbridge-shelly v. 1.1.5
|
|
32
|
-
matterbridge-zigbee2mqtt v. 2.4.4
|
|
33
|
-
matterbridge-somfy-tahoma v. 1.2.3
|
|
34
|
-
matterbridge-hass v. 0.0.8
|
|
35
|
-
|
|
36
|
-
## [2.2.0] - 2025-02-26
|
|
16
|
+
## [2.2.0] - 2025-02-28
|
|
37
17
|
|
|
38
18
|
### Added
|
|
39
19
|
|
|
@@ -41,11 +21,11 @@ matterbridge-hass v. 0.0.8
|
|
|
41
21
|
- [platform]: Saving in the storage the selects for faster loading of plugins.
|
|
42
22
|
- [icon]: Added matterbridge svg icon (thanks: https://github.com/robvanoostenrijk https://github.com/stuntguy3000).
|
|
43
23
|
- [pluginManager]: Refactor PluginManager to optimize memory and load time.
|
|
44
|
-
- [frontend]: Frontend v.2.4.
|
|
45
|
-
- [frontend]: Added processUptime.
|
|
24
|
+
- [frontend]: Frontend v.2.4.6. Please refresh the frontend page after the update.
|
|
25
|
+
- [frontend]: Added processUptime to SystemInfo.
|
|
46
26
|
- [frontend]: Added Share fabrics and Stop sharing to the menu. This allows to pair other controllers without the need to share from the first controller.
|
|
47
27
|
- [frontend]: Added subscriptions to QRDiv.
|
|
48
|
-
- [frontend]: Added autoScroll option for the logs.
|
|
28
|
+
- [frontend]: Added autoScroll option for the logs. Default is enabled.
|
|
49
29
|
- [utils]: Optimized memory and loading time.
|
|
50
30
|
- [shelly]: Added all shelly api to be used when matterbridge is running on the shelly matterbridge board.
|
|
51
31
|
|
package/dist/matterbridge.js
CHANGED
|
@@ -914,7 +914,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
914
914
|
async unregisterAndShutdownProcess() {
|
|
915
915
|
this.log.info('Unregistering all devices and shutting down...');
|
|
916
916
|
for (const plugin of this.plugins) {
|
|
917
|
-
await this.removeAllBridgedEndpoints(plugin.name,
|
|
917
|
+
await this.removeAllBridgedEndpoints(plugin.name, 250);
|
|
918
918
|
}
|
|
919
919
|
this.log.debug('Waiting for the MessageExchange to finish...');
|
|
920
920
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
package/dist/shelly.js
CHANGED
|
@@ -5,12 +5,12 @@ export async function getShellySysUpdate(matterbridge) {
|
|
|
5
5
|
.then(async (data) => {
|
|
6
6
|
if (data.length > 0) {
|
|
7
7
|
matterbridge.matterbridgeInformation.shellySysUpdate = true;
|
|
8
|
-
matterbridge.log.notice(`Shelly system update available: ${debugStringify(data)}`);
|
|
9
|
-
matterbridge.frontend.wssSendSnackbarMessage('Shelly system update available', 60);
|
|
10
8
|
matterbridge.frontend.wssBroadcastMessage(WS_ID_SHELLY_SYS_UPDATE, 'shelly-sys-update', { available: true });
|
|
11
9
|
for (const update of data) {
|
|
12
10
|
if (update.name)
|
|
13
|
-
matterbridge.
|
|
11
|
+
matterbridge.log.notice(`Shelly system update available: ${update.name}`);
|
|
12
|
+
if (update.name)
|
|
13
|
+
matterbridge.frontend.wssSendSnackbarMessage(`Shelly system update available: ${update.name}`, 10);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
})
|
|
@@ -29,8 +29,9 @@ export async function triggerShellySysUpdate(matterbridge) {
|
|
|
29
29
|
.finally(() => {
|
|
30
30
|
matterbridge.matterbridgeInformation.shellySysUpdate = false;
|
|
31
31
|
matterbridge.log.notice(`Installing Shelly system update...`);
|
|
32
|
-
matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly system update...',
|
|
32
|
+
matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly system update...', 15);
|
|
33
33
|
matterbridge.frontend.wssBroadcastMessage(WS_ID_SHELLY_SYS_UPDATE, 'shelly-sys-update', { available: false });
|
|
34
|
+
verifyShellyUpdate(matterbridge, '/api/updates/sys/status', 'Shelly system update');
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
37
|
export async function getShellyMainUpdate(matterbridge) {
|
|
@@ -38,12 +39,12 @@ export async function getShellyMainUpdate(matterbridge) {
|
|
|
38
39
|
.then(async (data) => {
|
|
39
40
|
if (data.length > 0) {
|
|
40
41
|
matterbridge.matterbridgeInformation.shellyMainUpdate = true;
|
|
41
|
-
matterbridge.log.notice(`Shelly software update available: ${debugStringify(data)}`);
|
|
42
|
-
matterbridge.frontend.wssSendSnackbarMessage('Shelly software update available', 60);
|
|
43
42
|
matterbridge.frontend.wssBroadcastMessage(WS_ID_SHELLY_MAIN_UPDATE, 'shelly-main-update', { available: true });
|
|
44
43
|
for (const update of data) {
|
|
45
44
|
if (update.name)
|
|
46
|
-
matterbridge.
|
|
45
|
+
matterbridge.log.notice(`Shelly software update available: ${update.name}`);
|
|
46
|
+
if (update.name)
|
|
47
|
+
matterbridge.frontend.wssSendSnackbarMessage(`Shelly software update available: ${update.name}`, 10);
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
})
|
|
@@ -62,8 +63,40 @@ export async function triggerShellyMainUpdate(matterbridge) {
|
|
|
62
63
|
.finally(() => {
|
|
63
64
|
matterbridge.matterbridgeInformation.shellyMainUpdate = false;
|
|
64
65
|
matterbridge.log.notice(`Installing Shelly software update...`);
|
|
65
|
-
matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly software update...',
|
|
66
|
+
matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly software update...', 15);
|
|
66
67
|
matterbridge.frontend.wssBroadcastMessage(WS_ID_SHELLY_MAIN_UPDATE, 'shelly-main-update', { available: false });
|
|
68
|
+
verifyShellyUpdate(matterbridge, '/api/updates/main/status', 'Shelly software update');
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async function verifyShellyUpdate(matterbridge, api, name) {
|
|
72
|
+
return new Promise((resolve) => {
|
|
73
|
+
const timeout = setTimeout(() => {
|
|
74
|
+
matterbridge.log.warn(`${name} check timed out`);
|
|
75
|
+
clearInterval(interval);
|
|
76
|
+
resolve();
|
|
77
|
+
}, 600 * 1000);
|
|
78
|
+
const interval = setInterval(() => {
|
|
79
|
+
getShelly(api, 10 * 1000)
|
|
80
|
+
.then(async (data) => {
|
|
81
|
+
if (data.updatingInProgress) {
|
|
82
|
+
matterbridge.log.notice(`${name} in progress...`);
|
|
83
|
+
matterbridge.frontend.wssSendSnackbarMessage(`${name} in progress...`, 20);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
matterbridge.log.notice(`${name} installed`);
|
|
87
|
+
matterbridge.frontend.wssSendSnackbarMessage(`${name} installed`, 20);
|
|
88
|
+
clearInterval(interval);
|
|
89
|
+
clearTimeout(timeout);
|
|
90
|
+
resolve();
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
.catch((error) => {
|
|
94
|
+
matterbridge.log.warn(`Error getting status of ${name}: ${error instanceof Error ? error.message : error}`);
|
|
95
|
+
clearInterval(interval);
|
|
96
|
+
clearTimeout(timeout);
|
|
97
|
+
resolve();
|
|
98
|
+
});
|
|
99
|
+
}, 15 * 1000);
|
|
67
100
|
});
|
|
68
101
|
}
|
|
69
102
|
export async function triggerShellyChangeIp(matterbridge, config) {
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "2.2.0-dev.
|
|
3
|
+
"version": "2.2.0-dev.8",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge",
|
|
9
|
-
"version": "2.2.0-dev.
|
|
9
|
+
"version": "2.2.0-dev.8",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@matter/main": "0.12.4",
|