matterbridge 1.5.10 → 1.6.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 +42 -4
- package/README-SERVICE.md +1 -1
- package/README.md +11 -7
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/cluster/export.js +1 -1
- package/dist/cluster/export.js.map +1 -1
- package/dist/defaultConfigSchema.d.ts +1 -1
- package/dist/defaultConfigSchema.d.ts.map +1 -1
- package/dist/defaultConfigSchema.js +10 -2
- package/dist/defaultConfigSchema.js.map +1 -1
- package/dist/deviceManager.d.ts +1 -1
- package/dist/deviceManager.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/matterbridge.d.ts +92 -56
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +290 -155
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +1 -1
- package/dist/matterbridgeAccessoryPlatform.js +1 -1
- package/dist/matterbridgeController.d.ts +1 -1
- package/dist/matterbridgeController.js +1 -1
- package/dist/matterbridgeDevice.d.ts +137 -1029
- package/dist/matterbridgeDevice.d.ts.map +1 -1
- package/dist/matterbridgeDevice.js +55 -361
- package/dist/matterbridgeDevice.js.map +1 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +1 -1
- package/dist/matterbridgeDynamicPlatform.js +1 -1
- package/dist/matterbridgeEdge.d.ts +90 -0
- package/dist/matterbridgeEdge.d.ts.map +1 -0
- package/dist/matterbridgeEdge.js +555 -0
- package/dist/matterbridgeEdge.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +5164 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +2196 -0
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +1 -1
- package/dist/matterbridgePlatform.js +1 -1
- package/dist/matterbridgeTypes.d.ts +5 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -1
- package/dist/matterbridgeTypes.js.map +1 -1
- package/dist/matterbridgeWebsocket.d.ts +49 -0
- package/dist/matterbridgeWebsocket.d.ts.map +1 -0
- package/dist/matterbridgeWebsocket.js +181 -0
- package/dist/matterbridgeWebsocket.js.map +1 -0
- package/dist/pluginManager.d.ts +135 -2
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +146 -13
- package/dist/pluginManager.js.map +1 -1
- package/dist/utils/colorUtils.d.ts +1 -1
- package/dist/utils/colorUtils.js +1 -1
- package/dist/utils/utils.d.ts +21 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +57 -1
- package/dist/utils/utils.js.map +1 -1
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.96d6324b.js → main.045d08f7.js} +3 -3
- package/frontend/build/static/js/main.045d08f7.js.map +1 -0
- package/npm-shrinkwrap.json +816 -6210
- package/package.json +2 -78
- package/dist/history/export.d.ts +0 -2
- package/dist/history/export.d.ts.map +0 -1
- package/dist/history/export.js +0 -2
- package/dist/history/export.js.map +0 -1
- package/frontend/build/static/js/main.96d6324b.js.map +0 -1
- /package/frontend/build/static/js/{main.96d6324b.js.LICENSE.txt → main.045d08f7.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -8,17 +8,55 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
8
8
|
|
|
9
9
|
The Home Assistant Community Add-ons and plugins are not verified to work with Matterbridge. I strongly advise against using them. If you do use them and encounter an issue (which is likely because some do not meet the Matterbridge guidelines), please do not open an issue in the Matterbridge repository.
|
|
10
10
|
|
|
11
|
-
If you want to run Matterbridge in Home Assistant please use the official add-on https://github.com/Luligu/matterbridge-home-assistant-addon.
|
|
11
|
+
If you want to run Matterbridge in Home Assistant please use the official add-on https://github.com/Luligu/matterbridge-home-assistant-addon that also has Ingress and side panel.
|
|
12
12
|
|
|
13
|
-
### New Apple firmware v. 18.
|
|
13
|
+
### New Apple firmware v. 18.x
|
|
14
14
|
|
|
15
15
|
Please read this: https://github.com/Luligu/matterbridge/discussions/135
|
|
16
16
|
|
|
17
17
|
### Discord
|
|
18
18
|
|
|
19
|
-
Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/
|
|
19
|
+
Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/QX58CDe6hd.
|
|
20
20
|
|
|
21
|
-
Feel free to join!
|
|
21
|
+
Feel free to join (the link is now permanent)!
|
|
22
|
+
|
|
23
|
+
## [1.6.1] - 2024-11-02
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- [matterbridge]: Added automatic recovery for matterbridge node storage when it gets corrupted for a power outage or hardware failure. Unattended setups can automatically recover restoring the previous automatic backup.
|
|
28
|
+
- [matterbridge]: Added automatic recovery for matter storage when it gets corrupted for a power outage or hardware failure. Unattended setups can automatically recover restoring the previous automatic backup.
|
|
29
|
+
- [matterbridge]: Added parameter "-norestore" to avoid to restore automatically. In this case you need to manually restore the storages from a full backup made from the frontend.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- [loggers]: Logging on file keeps the logger level of the logger (matterbridge and matter logs).
|
|
34
|
+
- [matterbridge]: Added more api to WebSocket for the Matterbridge cockpit dashboard (Shelly gateway).
|
|
35
|
+
- [package]: Update dependencies.
|
|
36
|
+
|
|
37
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
38
|
+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
|
|
39
|
+
</a>
|
|
40
|
+
|
|
41
|
+
## [1.6.0] - 2024-10-28
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- [matterbridge]: Added WebSocket for the Matetrbridge cockpit dashboard (Shelly gateway).
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- [discord]: Discord group link: https://discord.gg/QX58CDe6hd.
|
|
50
|
+
- [matterbridge]: Completed phase 1 of transition to edge (matter.js new API).
|
|
51
|
+
- [matterbridgeDevice]: Refactor Thermostat cluster method to accept minHeatSetpointLimit, maxHeatSetpointLimit, minCoolSetpointLimit and maxCoolSetpointLimit.
|
|
52
|
+
- [config]: The plugins config is rewritten only after onStart and no more after onConfigure (after the plugin starts is possible to change the plugins config and it will not be rewritten after the plugin configuration).
|
|
53
|
+
- [matterbridgeDevice]: Removed deprecated methods of ColorControl cluster.
|
|
54
|
+
- [package]: Removed EveHistory (it will be used only by single plugins).
|
|
55
|
+
- [package]: Update dependencies.
|
|
56
|
+
|
|
57
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
58
|
+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
|
|
59
|
+
</a>
|
|
22
60
|
|
|
23
61
|
## [1.5.10] - 2024-10-01
|
|
24
62
|
|
package/README-SERVICE.md
CHANGED
|
@@ -100,7 +100,7 @@ sudo systemctl disable matterbridge.service
|
|
|
100
100
|
### View the log of Matterbridge in real time (this will show the log with colors)
|
|
101
101
|
|
|
102
102
|
```
|
|
103
|
-
sudo journalctl -u matterbridge.service -f --output cat
|
|
103
|
+
sudo journalctl -u matterbridge.service -n 1000 -f --output cat
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
### Delete the logs older then 3 days (all of them not only the ones of Matterbridge!)
|
package/README.md
CHANGED
|
@@ -51,13 +51,13 @@ To run Matterbridge, you need either a [Node.js](https://nodejs.org/en/download/
|
|
|
51
51
|
Follow these steps to install Matterbridge:
|
|
52
52
|
|
|
53
53
|
```
|
|
54
|
-
npm install -g matterbridge
|
|
54
|
+
npm install -g matterbridge --omit=dev
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
on Linux you may need the necessary permissions:
|
|
58
58
|
|
|
59
59
|
```
|
|
60
|
-
sudo npm install -g matterbridge
|
|
60
|
+
sudo npm install -g matterbridge --omit=dev
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
Test the installation with:
|
|
@@ -68,7 +68,7 @@ matterbridge
|
|
|
68
68
|
|
|
69
69
|
Now it is possible to open the frontend at the link provided in the log (e.g. http://MATTERBIDGE-IPV4-ADDRESS:8283).
|
|
70
70
|
|
|
71
|
-
You can then change the bridge mode from the frontend.
|
|
71
|
+
You can then change the bridge mode and other parameters from the frontend.
|
|
72
72
|
|
|
73
73
|
## Usage
|
|
74
74
|
|
|
@@ -128,19 +128,19 @@ Config editor:
|
|
|
128
128
|
|
|
129
129
|
### Run matterbridge as a daemon with systemctl (Linux only)
|
|
130
130
|
|
|
131
|
-
[
|
|
131
|
+
[Service configurations](https://github.com/Luligu/matterbridge/blob/main/README-SERVICE.md)
|
|
132
132
|
|
|
133
133
|
### Run matterbridge with docker and docker compose
|
|
134
134
|
|
|
135
|
-
[
|
|
135
|
+
[Docker configurations](https://github.com/Luligu/matterbridge/blob/main/README-DOCKER.md)
|
|
136
136
|
|
|
137
137
|
### Run matterbridge with podman
|
|
138
138
|
|
|
139
|
-
[
|
|
139
|
+
[Podman configurations](https://github.com/Luligu/matterbridge/blob/main/README-PODMAN.md)
|
|
140
140
|
|
|
141
141
|
### Run matterbridge as an home assistant add-on with the official add-on
|
|
142
142
|
|
|
143
|
-
[
|
|
143
|
+
[Home assistant add-on configurations](https://github.com/Luligu/matterbridge-home-assistant-addon)
|
|
144
144
|
|
|
145
145
|
### Other Home Assistant Community Add-ons
|
|
146
146
|
|
|
@@ -380,6 +380,8 @@ The HomePods, being a WiFi devices, sometimes pruduce message trasmission errors
|
|
|
380
380
|
|
|
381
381
|
All issues have been solved from the version 17.5 of the HomePod/AppleTV. Now they are stable.
|
|
382
382
|
|
|
383
|
+
If you have more then one Apple TV or Home Pod, you can herve better results setting to disabled "Automatic Selection" in "Home Setting", "Home Hubs & Bridges". When "Automatic selection" is disabled, select your Apple Tv if you have one or any of your Home Pod. In this way you should not have anymore more then one session for fabric.
|
|
384
|
+
|
|
383
385
|
## Home Assistant
|
|
384
386
|
|
|
385
387
|
So far is the only controller supporting some Matter 1.2 and 1.3 device type:
|
|
@@ -409,6 +411,8 @@ Other supported cluster:
|
|
|
409
411
|
|
|
410
412
|
If you face a problem pairing to Google Home from Ios app the solution is there https://github.com/Luligu/matterbridge/issues/61.
|
|
411
413
|
|
|
414
|
+
If you face a problem changing the brightness check this for the explanation: https://github.com/Luligu/matterbridge-zigbee2mqtt/issues/80
|
|
415
|
+
|
|
412
416
|
No other issues reported so far.
|
|
413
417
|
|
|
414
418
|
## Alexa
|
package/dist/cli.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @date 2023-12-29
|
|
8
8
|
* @version 1.0.11
|
|
9
9
|
*
|
|
10
|
-
* Copyright 2023, 2024 Luca Liguori.
|
|
10
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
11
|
*
|
|
12
12
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
13
|
* you may not use this file except in compliance with the License.
|
package/dist/cli.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @date 2023-12-29
|
|
8
8
|
* @version 1.0.11
|
|
9
9
|
*
|
|
10
|
-
* Copyright 2023, 2024 Luca Liguori.
|
|
10
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
11
|
*
|
|
12
12
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
13
|
* you may not use this file except in compliance with the License.
|
|
@@ -59,10 +59,12 @@ async function restart() {
|
|
|
59
59
|
async function update() {
|
|
60
60
|
if (process.argv.includes('-debug'))
|
|
61
61
|
console.log(cli + 'CLI: received update event, updating...' + rs);
|
|
62
|
+
// TODO: Implement update logic outside of matterbridge
|
|
62
63
|
instance = await Matterbridge.loadInstance(true);
|
|
63
64
|
registerHandlers();
|
|
64
65
|
}
|
|
65
66
|
process.title = 'matterbridge';
|
|
67
|
+
// Run the main function
|
|
66
68
|
main().catch((error) => {
|
|
67
69
|
console.error(er + `CLI: Matterbridge.loadInstance() failed with error: ${error}` + rs);
|
|
68
70
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+BAA+B;AAC/B,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,IAAI,QAAkC,CAAC;AACvC,MAAM,GAAG,GAAG,YAAY,CAAC;AACzB,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC5B,MAAM,EAAE,GAAG,cAAc,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;IACvG,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;IACnB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0CAA0C,GAAG,EAAE,CAAC,CAAC;IACxG,cAAc;IACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;IACvG,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;IACvG,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;AAE/B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,uDAAuD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+BAA+B;AAC/B,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,IAAI,QAAkC,CAAC;AACvC,MAAM,GAAG,GAAG,YAAY,CAAC;AACzB,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC5B,MAAM,EAAE,GAAG,cAAc,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;IACvG,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;IACnB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0CAA0C,GAAG,EAAE,CAAC,CAAC;IACxG,cAAc;IACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;IACvG,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yCAAyC,GAAG,EAAE,CAAC,CAAC;IACvG,uDAAuD;IACvD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;AAE/B,wBAAwB;AACxB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,uDAAuD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC"}
|
package/dist/cluster/export.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/cluster/export.ts"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/cluster/export.ts"],"names":[],"mappings":";AAAA,8BAA8B"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @date 2024-05-07
|
|
7
7
|
* @version 1.0.1
|
|
8
8
|
*
|
|
9
|
-
* Copyright 2024 Luca Liguori.
|
|
9
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
10
10
|
*
|
|
11
11
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
12
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfigSchema.d.ts","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,cAiBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAWhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"defaultConfigSchema.d.ts","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,cAiBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAWhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAgC3B,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @date 2024-05-07
|
|
7
7
|
* @version 1.0.1
|
|
8
8
|
*
|
|
9
|
-
* Copyright 2024 Luca Liguori.
|
|
9
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
10
10
|
*
|
|
11
11
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
12
|
* you may not use this file except in compliance with the License.
|
|
@@ -56,11 +56,19 @@ export const shelly_config = {
|
|
|
56
56
|
username: '',
|
|
57
57
|
password: '',
|
|
58
58
|
exposeSwitch: 'switch',
|
|
59
|
+
switchList: [],
|
|
60
|
+
lightList: [],
|
|
61
|
+
outletList: [],
|
|
59
62
|
exposeInput: 'momentary',
|
|
63
|
+
inputContactList: [],
|
|
64
|
+
inputMomentaryList: [],
|
|
65
|
+
inputLatchingList: [],
|
|
60
66
|
exposeInputEvent: 'momentary',
|
|
61
|
-
|
|
67
|
+
inputEventList: [],
|
|
68
|
+
exposePowerMeter: 'matter13',
|
|
62
69
|
blackList: [],
|
|
63
70
|
whiteList: [],
|
|
71
|
+
nocacheList: [],
|
|
64
72
|
deviceIp: {},
|
|
65
73
|
enableMdnsDiscover: true,
|
|
66
74
|
enableStorageDiscover: true,
|
|
@@ -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,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;IAC1B,KAAK,EAAE,KAAK;IACZ,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,EAAE;IACpB,KAAK,EAAE,KAAK;IACZ,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,WAAW;IACxB,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,KAAK;CAC5B,CAAC"}
|
|
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,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;IAC1B,KAAK,EAAE,KAAK;IACZ,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,EAAE;IACpB,KAAK,EAAE,KAAK;IACZ,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,WAAW;IACxB,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,EAAE;IACtB,iBAAiB,EAAE,EAAE;IACrB,gBAAgB,EAAE,WAAW;IAC7B,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE;IACZ,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,KAAK;CAC5B,CAAC"}
|
package/dist/deviceManager.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @date 2024-07-26
|
|
7
7
|
* @version 1.0.8
|
|
8
8
|
*
|
|
9
|
-
* Copyright 2024, 2025 Luca Liguori.
|
|
9
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
10
10
|
*
|
|
11
11
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
12
|
* you may not use this file except in compliance with the License.
|
package/dist/deviceManager.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @date 2024-07-26
|
|
7
7
|
* @version 1.0.8
|
|
8
8
|
*
|
|
9
|
-
* Copyright 2024, 2025 Luca Liguori.
|
|
9
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
10
10
|
*
|
|
11
11
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
12
|
* you may not use this file except in compliance with the License.
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @date 2023-12-29
|
|
7
7
|
* @version 1.0.6
|
|
8
8
|
*
|
|
9
|
-
* Copyright 2023, 2024 Luca Liguori.
|
|
9
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
10
10
|
*
|
|
11
11
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
12
|
* you may not use this file except in compliance with the License.
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @date 2023-12-29
|
|
7
7
|
* @version 1.0.6
|
|
8
8
|
*
|
|
9
|
-
* Copyright 2023, 2024 Luca Liguori.
|
|
9
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
10
10
|
*
|
|
11
11
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
12
|
* you may not use this file except in compliance with the License.
|
package/dist/matterbridge.d.ts
CHANGED
|
@@ -21,9 +21,17 @@
|
|
|
21
21
|
* limitations under the License. *
|
|
22
22
|
*/
|
|
23
23
|
import EventEmitter from 'events';
|
|
24
|
+
import WebSocket from 'ws';
|
|
25
|
+
import { NodeStorageManager, NodeStorage } from 'node-persist-manager';
|
|
24
26
|
import { AnsiLogger } from 'node-ansi-logger';
|
|
25
27
|
import { MatterbridgeDevice } from './matterbridgeDevice.js';
|
|
26
|
-
import { MatterbridgeInformation, SanitizedExposedFabricInformation, SanitizedSessionInformation, SystemInformation } from './matterbridgeTypes.js';
|
|
28
|
+
import { BaseRegisteredPlugin, MatterbridgeInformation, SanitizedExposedFabricInformation, SanitizedSessionInformation, SystemInformation } from './matterbridgeTypes.js';
|
|
29
|
+
import { PluginManager } from './pluginManager.js';
|
|
30
|
+
import { DeviceManager } from './deviceManager.js';
|
|
31
|
+
import { CommissioningController, CommissioningServer, MatterServer } from '@project-chip/matter-node.js';
|
|
32
|
+
import { DeviceTypeId, VendorId } from '@project-chip/matter-node.js/datatype';
|
|
33
|
+
import { Aggregator } from '@project-chip/matter-node.js/device';
|
|
34
|
+
import { StorageContext, StorageManager } from '@project-chip/matter-node.js/storage';
|
|
27
35
|
/**
|
|
28
36
|
* Represents the Matterbridge application.
|
|
29
37
|
*/
|
|
@@ -47,44 +55,47 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
47
55
|
restartMode: 'service' | 'docker' | '';
|
|
48
56
|
profile: string | undefined;
|
|
49
57
|
log: AnsiLogger;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
protected matterbrideLoggerFile: string;
|
|
59
|
+
protected matterLoggerFile: string;
|
|
60
|
+
protected plugins: PluginManager;
|
|
61
|
+
protected devices: DeviceManager;
|
|
62
|
+
protected nodeStorage: NodeStorageManager | undefined;
|
|
63
|
+
protected nodeContext: NodeStorage | undefined;
|
|
64
|
+
protected matterStorageName: string;
|
|
65
|
+
protected nodeStorageName: string;
|
|
58
66
|
private hasCleanupStarted;
|
|
59
67
|
private initialized;
|
|
60
68
|
private execRunningCount;
|
|
61
69
|
private startMatterInterval;
|
|
62
|
-
private cleanupTimeout1;
|
|
63
|
-
private cleanupTimeout2;
|
|
64
70
|
private checkUpdateInterval;
|
|
65
71
|
private configureTimeout;
|
|
66
72
|
private reachabilityTimeout;
|
|
67
73
|
private sigintHandler;
|
|
68
74
|
private sigtermHandler;
|
|
75
|
+
private exceptionHandler;
|
|
76
|
+
private rejectionHandler;
|
|
69
77
|
private expressApp;
|
|
70
78
|
private httpServer;
|
|
71
79
|
private httpsServer;
|
|
72
80
|
private webSocketServer;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
protected mdnsInterface: string | undefined;
|
|
82
|
+
protected ipv4address: string | undefined;
|
|
83
|
+
protected ipv6address: string | undefined;
|
|
84
|
+
protected port: number;
|
|
85
|
+
protected passcode?: number;
|
|
86
|
+
protected discriminator?: number;
|
|
87
|
+
protected storageManager: StorageManager | undefined;
|
|
88
|
+
protected matterbridgeContext: StorageContext | undefined;
|
|
89
|
+
protected mattercontrollerContext: StorageContext | undefined;
|
|
90
|
+
protected matterServer: MatterServer | undefined;
|
|
91
|
+
protected matterAggregator: Aggregator | undefined;
|
|
92
|
+
protected commissioningServer: CommissioningServer | undefined;
|
|
93
|
+
protected commissioningController: CommissioningController | undefined;
|
|
94
|
+
protected aggregatorVendorId: VendorId;
|
|
95
|
+
protected aggregatorProductId: number;
|
|
96
|
+
protected static instance: Matterbridge | undefined;
|
|
97
|
+
protected constructor();
|
|
98
|
+
matterbridgeMessageHandler: (client: WebSocket, message: WebSocket.RawData) => Promise<void>;
|
|
88
99
|
/** ***********************************************************************************************************************************/
|
|
89
100
|
/** loadInstance() and cleanup() methods */
|
|
90
101
|
/** ***********************************************************************************************************************************/
|
|
@@ -120,14 +131,23 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
120
131
|
*/
|
|
121
132
|
private parseCommandLine;
|
|
122
133
|
/**
|
|
123
|
-
*
|
|
134
|
+
* Asynchronously loads and starts the registered plugins.
|
|
135
|
+
*
|
|
136
|
+
* This method is responsible for initializing and staarting all enabled plugins.
|
|
137
|
+
* It ensures that each plugin is properly loaded and started before the ridge starts.
|
|
138
|
+
*
|
|
139
|
+
* @returns {Promise<void>} A promise that resolves when all plugins have been loaded and started.
|
|
140
|
+
*/
|
|
141
|
+
private startPlugins;
|
|
142
|
+
/**
|
|
143
|
+
* Registers the process handlers for uncaughtException, unhandledRejection, SIGINT and SIGTERM.
|
|
124
144
|
* When either of these signals are received, the cleanup method is called with an appropriate message.
|
|
125
145
|
*/
|
|
126
|
-
private
|
|
146
|
+
private registerProcessHandlers;
|
|
127
147
|
/**
|
|
128
|
-
* Deregisters the SIGINT and SIGTERM signal handlers.
|
|
148
|
+
* Deregisters the process uncaughtException, unhandledRejection, SIGINT and SIGTERM signal handlers.
|
|
129
149
|
*/
|
|
130
|
-
private
|
|
150
|
+
private deregisterProcesslHandlers;
|
|
131
151
|
/**
|
|
132
152
|
* Logs the node and system information.
|
|
133
153
|
*/
|
|
@@ -177,15 +197,15 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
177
197
|
/**
|
|
178
198
|
* Update matterbridge and cleanup.
|
|
179
199
|
*/
|
|
180
|
-
|
|
200
|
+
protected updateProcess(): Promise<void>;
|
|
181
201
|
/**
|
|
182
202
|
* Restarts the process by spawning a new process and exiting the current process.
|
|
183
203
|
*/
|
|
184
|
-
|
|
204
|
+
protected restartProcess(): Promise<void>;
|
|
185
205
|
/**
|
|
186
206
|
* Shut down the process by exiting the current process.
|
|
187
207
|
*/
|
|
188
|
-
|
|
208
|
+
protected shutdownProcess(): Promise<void>;
|
|
189
209
|
/**
|
|
190
210
|
* Shut down the process and reset.
|
|
191
211
|
*/
|
|
@@ -204,7 +224,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
204
224
|
* @param restart - Indicates whether to restart the instance after cleanup. Default is `false`.
|
|
205
225
|
* @returns A promise that resolves when the cleanup is completed.
|
|
206
226
|
*/
|
|
207
|
-
|
|
227
|
+
protected cleanup(message: string, restart?: boolean): Promise<void>;
|
|
208
228
|
/**
|
|
209
229
|
* Adds a bridged device to the Matterbridge.
|
|
210
230
|
* @param pluginName - The name of the plugin.
|
|
@@ -226,25 +246,24 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
226
246
|
* @returns A promise that resolves when all devices have been removed.
|
|
227
247
|
*/
|
|
228
248
|
removeAllBridgedDevices(pluginName: string): Promise<void>;
|
|
229
|
-
private startTest;
|
|
230
249
|
/**
|
|
231
250
|
* Starts the Matterbridge in bridge mode.
|
|
232
251
|
* @private
|
|
233
252
|
* @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
|
|
234
253
|
*/
|
|
235
|
-
|
|
254
|
+
protected startBridge(): Promise<void>;
|
|
236
255
|
/**
|
|
237
256
|
* Starts the Matterbridge in childbridge mode.
|
|
238
257
|
* @private
|
|
239
258
|
* @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
|
|
240
259
|
*/
|
|
241
|
-
|
|
260
|
+
protected startChildbridge(): Promise<void>;
|
|
242
261
|
/**
|
|
243
262
|
* Starts the Matterbridge controller.
|
|
244
263
|
* @private
|
|
245
264
|
* @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
|
|
246
265
|
*/
|
|
247
|
-
|
|
266
|
+
protected startController(): Promise<void>;
|
|
248
267
|
/** ***********************************************************************************************************************************/
|
|
249
268
|
/** Matter.js methods */
|
|
250
269
|
/** ***********************************************************************************************************************************/
|
|
@@ -254,40 +273,47 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
254
273
|
* @param {string} storageName - The name of the storage file.
|
|
255
274
|
* @returns {Promise<void>} - A promise that resolves when the storage process is started.
|
|
256
275
|
*/
|
|
257
|
-
|
|
276
|
+
protected startMatterStorage(storageType: string, storageName: string): Promise<void>;
|
|
258
277
|
/**
|
|
259
278
|
* Makes a backup copy of the specified matter JSON storage file.
|
|
260
279
|
*
|
|
261
280
|
* @param storageName - The name of the JSON storage file to be backed up.
|
|
262
281
|
* @param backupName - The name of the backup file to be created.
|
|
263
282
|
*/
|
|
264
|
-
|
|
283
|
+
protected backupMatterStorage(storageName: string, backupName: string): Promise<void>;
|
|
284
|
+
/**
|
|
285
|
+
* Restore the specified matter JSON storage file.
|
|
286
|
+
*
|
|
287
|
+
* @param backupName - The name of the backup file to restore from.
|
|
288
|
+
* @param storageName - The name of the JSON storage file to restored.
|
|
289
|
+
*/
|
|
290
|
+
protected restoreMatterStorage(backupName: string, storageName: string): Promise<void>;
|
|
265
291
|
/**
|
|
266
292
|
* Stops the matter storage.
|
|
267
293
|
* @returns {Promise<void>} A promise that resolves when the storage is stopped.
|
|
268
294
|
*/
|
|
269
|
-
|
|
295
|
+
protected stopMatterStorage(): Promise<void>;
|
|
270
296
|
/**
|
|
271
297
|
* Creates a Matter server using the provided storage manager and the provided mdnsInterface.
|
|
272
298
|
* @param storageManager The storage manager to be used by the Matter server.
|
|
273
299
|
*
|
|
274
300
|
*/
|
|
275
|
-
|
|
301
|
+
protected createMatterServer(storageManager: StorageManager): MatterServer;
|
|
276
302
|
/**
|
|
277
303
|
* Starts the Matter server.
|
|
278
304
|
* If the Matter server is not initialized, it logs an error and performs cleanup.
|
|
279
305
|
*/
|
|
280
|
-
|
|
306
|
+
protected startMatterServer(): Promise<void>;
|
|
281
307
|
/**
|
|
282
308
|
* Stops the Matter server, commissioningServer and commissioningController.
|
|
283
309
|
*/
|
|
284
|
-
|
|
310
|
+
protected stopMatterServer(): Promise<void>;
|
|
285
311
|
/**
|
|
286
312
|
* Creates a Matter Aggregator.
|
|
287
313
|
* @param {StorageContext} context - The storage context.
|
|
288
314
|
* @returns {Aggregator} - The created Matter Aggregator.
|
|
289
315
|
*/
|
|
290
|
-
|
|
316
|
+
protected createMatterAggregator(context: StorageContext, pluginName: string): Promise<Aggregator>;
|
|
291
317
|
/**
|
|
292
318
|
* Creates a matter commissioning server.
|
|
293
319
|
*
|
|
@@ -295,7 +321,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
295
321
|
* @param {string} pluginName - The name of the commissioning server.
|
|
296
322
|
* @returns {CommissioningServer} The created commissioning server.
|
|
297
323
|
*/
|
|
298
|
-
|
|
324
|
+
protected createCommisioningServer(context: StorageContext, pluginName: string): Promise<CommissioningServer>;
|
|
299
325
|
/**
|
|
300
326
|
* Creates a commissioning server storage context.
|
|
301
327
|
*
|
|
@@ -314,7 +340,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
314
340
|
* @param hardwareVersionString - The hardware version string of the device (optional).
|
|
315
341
|
* @returns The storage context for the commissioning server.
|
|
316
342
|
*/
|
|
317
|
-
|
|
343
|
+
protected createCommissioningServerContext(pluginName: string, deviceName: string, deviceType: DeviceTypeId, vendorId: number, vendorName: string, productId: number, productName: string): Promise<StorageContext>;
|
|
318
344
|
/**
|
|
319
345
|
* Imports the commissioning server context for a specific plugin and device.
|
|
320
346
|
* @param pluginName - The name of the plugin.
|
|
@@ -322,7 +348,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
322
348
|
* @returns The commissioning server context.
|
|
323
349
|
* @throws Error if the BasicInformationCluster is not found.
|
|
324
350
|
*/
|
|
325
|
-
|
|
351
|
+
protected importCommissioningServerContext(pluginName: string, device: MatterbridgeDevice): Promise<StorageContext>;
|
|
326
352
|
/**
|
|
327
353
|
* Shows the commissioning server QR code for a given plugin.
|
|
328
354
|
* @param {CommissioningServer} commissioningServer - The commissioning server instance.
|
|
@@ -331,7 +357,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
331
357
|
* @param {string} pluginName - The name of the plugin of Matterbridge in bridge mode.
|
|
332
358
|
* @returns {Promise<void>} - A promise that resolves when the QR code is shown.
|
|
333
359
|
*/
|
|
334
|
-
|
|
360
|
+
protected showCommissioningQRCode(commissioningServer: CommissioningServer | undefined, storageContext: StorageContext | undefined, nodeContext: NodeStorage | undefined, pluginName: string): Promise<void>;
|
|
335
361
|
/**
|
|
336
362
|
* Sanitizes the fabric information by converting bigint properties to string cause res.json doesn't know bigint.
|
|
337
363
|
*
|
|
@@ -352,33 +378,33 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
352
378
|
* @param {CommissioningServer} commissioningServer - The commissioning server to set the reachability for.
|
|
353
379
|
* @param {boolean} reachable - The new reachability status.
|
|
354
380
|
*/
|
|
355
|
-
|
|
381
|
+
protected setCommissioningServerReachability(commissioningServer: CommissioningServer, reachable: boolean): void;
|
|
356
382
|
/**
|
|
357
383
|
* Sets the reachability of the specified matter aggregator and its bridged devices and trigger.
|
|
358
384
|
* @param {Aggregator} matterAggregator - The matter aggregator to set the reachability for.
|
|
359
385
|
* @param {boolean} reachable - A boolean indicating the reachability status to set.
|
|
360
386
|
*/
|
|
361
|
-
|
|
387
|
+
protected setAggregatorReachability(matterAggregator: Aggregator, reachable: boolean): void;
|
|
362
388
|
/**
|
|
363
389
|
* Sets the reachability of a device and trigger.
|
|
364
390
|
*
|
|
365
391
|
* @param {MatterbridgeDevice} device - The device to set the reachability for.
|
|
366
392
|
* @param {boolean} reachable - The new reachability status of the device.
|
|
367
393
|
*/
|
|
368
|
-
|
|
394
|
+
protected setDeviceReachability(device: MatterbridgeDevice, reachable: boolean): void;
|
|
369
395
|
private getVendorIdName;
|
|
370
396
|
/**
|
|
371
397
|
* Retrieves the base registered plugins sanitized for res.json().
|
|
372
398
|
* @returns {BaseRegisteredPlugin[]} A promise that resolves to an array of BaseRegisteredPlugin objects.
|
|
373
399
|
*/
|
|
374
|
-
|
|
400
|
+
protected getBaseRegisteredPlugins(): Promise<BaseRegisteredPlugin[]>;
|
|
375
401
|
/**
|
|
376
402
|
* Spawns a child process with the given command and arguments.
|
|
377
403
|
* @param {string} command - The command to execute.
|
|
378
404
|
* @param {string[]} args - The arguments to pass to the command (default: []).
|
|
379
|
-
* @returns {Promise<
|
|
405
|
+
* @returns {Promise<boolean>} A promise that resolves when the child process exits successfully, or rejects if there is an error.
|
|
380
406
|
*/
|
|
381
|
-
|
|
407
|
+
protected spawnCommand(command: string, args?: string[]): Promise<boolean>;
|
|
382
408
|
/**
|
|
383
409
|
* Sends a WebSocket message to all connected clients.
|
|
384
410
|
*
|
|
@@ -388,6 +414,16 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
388
414
|
* @param {string} message - The content of the message.
|
|
389
415
|
*/
|
|
390
416
|
private wssSendMessage;
|
|
417
|
+
/**
|
|
418
|
+
* Sends a need to refresh WebSocket message to all connected clients.
|
|
419
|
+
*
|
|
420
|
+
*/
|
|
421
|
+
private wssSendRefreshRequired;
|
|
422
|
+
/**
|
|
423
|
+
* Sends a need to restart WebSocket message to all connected clients.
|
|
424
|
+
*
|
|
425
|
+
*/
|
|
426
|
+
private wssSendRestartRequired;
|
|
391
427
|
/**
|
|
392
428
|
* Initializes the frontend of Matterbridge.
|
|
393
429
|
*
|
|
@@ -399,7 +435,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
399
435
|
* @param {MatterbridgeDevice} device - The MatterbridgeDevice object.
|
|
400
436
|
* @returns {string} The attributes description of the cluster servers in the device.
|
|
401
437
|
*/
|
|
402
|
-
|
|
438
|
+
protected getClusterTextFromDevice(device: MatterbridgeDevice): string;
|
|
403
439
|
/**
|
|
404
440
|
* Initializes the Matterbridge instance as extension for zigbee2mqtt.
|
|
405
441
|
* @deprecated This method is deprecated and will be removed in a future version.
|