matterbridge 3.5.2-dev-20260126-3915bc2 → 3.5.2-dev-20260129-e83daf7
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 +14 -6
- package/README-DEV.md +3 -3
- package/README-DOCKER.md +55 -58
- package/README-MACOS-PLIST.md +4 -4
- package/README-NGINX.md +3 -3
- package/README-PODMAN.md +4 -4
- package/README-SERVICE-LOCAL.md +4 -4
- package/README-SERVICE-OPT.md +4 -4
- package/README-SERVICE.md +4 -4
- package/README.md +30 -18
- package/bin/mb_health.js +3 -0
- package/dist/broadcastServerTypes.d.ts +25 -3
- package/dist/{update.js → checkUpdates.js} +10 -5
- package/dist/dgram/export.d.ts +1 -0
- package/dist/dgram/export.js +1 -0
- package/dist/frontend.js +1 -1
- package/dist/frontendTypes.d.ts +1 -1
- package/dist/helpers.js +10 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/matterbridge.d.ts +3 -2
- package/dist/matterbridge.js +41 -4
- package/dist/matterbridgeAccessoryPlatform.d.ts +2 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +2 -1
- package/dist/matterbridgePlatform.d.ts +2 -32
- package/dist/matterbridgePlatformTypes.d.ts +32 -0
- package/dist/matterbridgePlatformTypes.js +1 -0
- package/dist/matterbridgeTypes.d.ts +2 -1
- package/dist/mb_health.d.ts +10 -0
- package/dist/mb_health.js +77 -0
- package/dist/pluginManager.d.ts +2 -1
- package/dist/pluginManager.js +14 -0
- package/dist/{workers.d.ts → worker.d.ts} +0 -1
- package/dist/workerCheckUpdates.d.ts +1 -0
- package/dist/workerCheckUpdates.js +37 -0
- package/dist/workerGlobalPrefix.js +1 -1
- package/dist/workerTypes.d.ts +1 -1
- package/frontend/build/assets/index.js +4 -4
- package/frontend/package.json +1 -1
- package/npm-shrinkwrap.json +20 -2
- package/package.json +13 -8
- /package/dist/{update.d.ts → checkUpdates.d.ts} +0 -0
- /package/dist/{workers.js → worker.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge changelog
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge changelog
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ The project will evolve to a multi-threaded architecture (the CLI will become th
|
|
|
17
17
|
- all plugins in bridge mode;
|
|
18
18
|
- each plugin in childbridge mode;
|
|
19
19
|
|
|
20
|
-
- check updates;
|
|
20
|
+
- ✅ check updates;
|
|
21
21
|
- npm install;
|
|
22
22
|
- ✅ get the global node_modules directory;
|
|
23
23
|
|
|
@@ -34,14 +34,22 @@ Advantages:
|
|
|
34
34
|
|
|
35
35
|
- [matterbridge]: Added brand to MatterbridgeAccessoryPlatform and MatterbridgeDynamicPlatform.
|
|
36
36
|
- [PluginManager]: Verify brand of MatterbridgePlatform, MatterbridgeAccessoryPlatform and MatterbridgeDynamicPlatform.
|
|
37
|
+
- [PluginManager]: Added frontend message when a plugin is not added cause it is in the pluginIgnoreList or for other issues.
|
|
37
38
|
- [MatterbridgePlatform]: Verify brand of MatterbridgeEndpoint.
|
|
38
|
-
- [BasicVideoPlayer]: Added Basic Video Player class (suported by SmartThings).
|
|
39
|
+
- [BasicVideoPlayer]: Added **Basic Video Player** class (suported by SmartThings).
|
|
40
|
+
- [frontend]: Added **pluginIgnoreList** to avoid to install a plugin that is only a test or a name reservation on npm.
|
|
41
|
+
- [docker]: Added instructions about how to disable the health check when you override the frontend port.
|
|
42
|
+
- [Alexa]: Added a full review of supported device types and known issues. Thanks [Tamer Salah](https://github.com/tammeryousef1006).
|
|
43
|
+
- [virtual]: Added outlet to mounted switch device type in virtual devices (Matter .1.4.2).
|
|
44
|
+
- [package]: Added @matterbridge/thread monorepo scoped package.
|
|
39
45
|
|
|
40
46
|
### Changed
|
|
41
47
|
|
|
42
48
|
- [package]: Updated dependencies.
|
|
43
|
-
- [docker]: Clarified in
|
|
44
|
-
- [frontend]:
|
|
49
|
+
- [docker]: Clarified in [README-DOCKER.md](README-DOCKER.md) the content of the matterbridge docker images on Docker Hub.
|
|
50
|
+
- [frontend]: Bumped `frontend` version to v. 3.4.3.
|
|
51
|
+
- [frontend]: For the matterbridge docker image with tag dev, the frontend now shows the versions with the tag git.
|
|
52
|
+
- [worker]: Bumped worker module to v. 1.1.0.
|
|
45
53
|
|
|
46
54
|
<a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="80"></a>
|
|
47
55
|
|
|
@@ -58,7 +66,7 @@ Advantages:
|
|
|
58
66
|
- [mb_mdns]: Added --ip-filter params to filter incoming mDns messages by sender ip.
|
|
59
67
|
- [express]: Added a login check for internal express api. The /health and /memory api don't need a login. Thanks Rogibaer (https://github.com/Luligu/matterbridge-hass/issues/149).
|
|
60
68
|
- [readme]: Added a section with the data structure and backup/restore guidelines.
|
|
61
|
-
- [matterbridge]:
|
|
69
|
+
- [matterbridge]: Added brand to MatterbridgePlatform and MatterbridgeEndpoint.
|
|
62
70
|
|
|
63
71
|
### Changed
|
|
64
72
|
|
package/README-DEV.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge development
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge development
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
package/README-DOCKER.md
CHANGED
|
@@ -1,45 +1,41 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge Docker configuration
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
10
|
|
|
11
|
-
[](https://www.npmjs.com/package/matter-history)
|
|
12
|
+
[](https://www.npmjs.com/package/node-ansi-logger)
|
|
13
|
+
[](https://www.npmjs.com/package/node-persist-manager)
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Production configuration
|
|
18
18
|
|
|
19
|
-
## Run
|
|
19
|
+
## Run Matterbridge with Docker and Docker Compose
|
|
20
20
|
|
|
21
|
-
The Matterbridge Docker images
|
|
21
|
+
The Matterbridge Docker images (multi-arch manifest list for **linux/amd64** and **linux/arm64**) are published on [**Docker Hub**](https://hub.docker.com/r/luligu/matterbridge). If you use them, please consider starring the project on [**Docker Hub**](https://hub.docker.com/r/luligu/matterbridge).
|
|
22
22
|
|
|
23
|
-
The image (tag **latest**) includes
|
|
23
|
+
The image (tag **latest**) includes Matterbridge and all official plugins, using the latest release published on npm. It is based on `node:22-bookworm-slim`. Since all official plugins are included, you can select and add a plugin without installing anything.
|
|
24
24
|
|
|
25
|
-
The image (tag **dev**) includes
|
|
25
|
+
The image (tag **dev**) includes Matterbridge and all official plugins from the latest push on GitHub. It is based on `node:22-bookworm-slim`. Since all official plugins are included, you can select and add a plugin without installing anything. Note: if you update to the latest **dev** from the frontend, you will override the GitHub version with the latest **dev** published on npm.
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
The image (tag **ubuntu**) includes only Matterbridge, using the latest release published on npm. This image (**for test and development only**) is based on `ubuntu:latest` with Node.js 24 from NodeSource. Plugins are not included in the image; they will be installed on first run. This image preinstalls `bluetooth`, `build-essential`, and `python` packages (useful for plugins that require native builds).
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
All images integrate the health check.
|
|
29
|
+
The image (tag **alpine**) includes only Matterbridge, using the latest release published on npm. This image (**for test and development only**) is based on `node:24-alpine`. Plugins are not included in the image; they will be installed on first run.
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
With docker-compose:
|
|
31
|
+
### Docker health check
|
|
36
32
|
|
|
37
|
-
|
|
33
|
+
All images include a health check.
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
How health checks work in different scenarios:
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
- With Docker Compose: Docker monitors the health check and can restart the container (depending on your restart policy).
|
|
38
|
+
- With `docker run`: the health check still runs, but the container will not restart automatically when it becomes unhealthy.
|
|
43
39
|
|
|
44
40
|
You can manually check the health status:
|
|
45
41
|
|
|
@@ -47,9 +43,9 @@ You can manually check the health status:
|
|
|
47
43
|
docker exec -it matterbridge curl -v http://localhost:8283/health
|
|
48
44
|
```
|
|
49
45
|
|
|
50
|
-
###
|
|
46
|
+
### Create the Matterbridge directories first
|
|
51
47
|
|
|
52
|
-
This
|
|
48
|
+
This creates the required directories in your home directory (if they don't already exist):
|
|
53
49
|
|
|
54
50
|
```bash
|
|
55
51
|
cd ~
|
|
@@ -59,9 +55,9 @@ mkdir -p ~/.mattercert
|
|
|
59
55
|
sudo chown -R $USER:$USER ~/Matterbridge ~/.matterbridge ~/.mattercert
|
|
60
56
|
```
|
|
61
57
|
|
|
62
|
-
You may need to adapt the
|
|
58
|
+
You may need to adapt the paths to your setup.
|
|
63
59
|
|
|
64
|
-
### Add your user to docker group
|
|
60
|
+
### Add your user to the docker group
|
|
65
61
|
|
|
66
62
|
If you don't want to use sudo with docker commands, run this command:
|
|
67
63
|
|
|
@@ -70,11 +66,11 @@ sudo groupadd docker
|
|
|
70
66
|
sudo usermod -aG docker $USER
|
|
71
67
|
```
|
|
72
68
|
|
|
73
|
-
After adding your user to the docker group,
|
|
69
|
+
After adding your user to the `docker` group, log out and log back in so your current session picks up the new group membership.
|
|
74
70
|
|
|
75
|
-
### Run the
|
|
71
|
+
### Run the container
|
|
76
72
|
|
|
77
|
-
The container must have full access to the host network (needed for
|
|
73
|
+
The container must have full access to the host network (needed for mDNS and the Matter protocol).
|
|
78
74
|
|
|
79
75
|
```bash
|
|
80
76
|
sudo docker run --name matterbridge \
|
|
@@ -84,9 +80,9 @@ sudo docker run --name matterbridge \
|
|
|
84
80
|
--network host --restart always -d luligu/matterbridge:latest
|
|
85
81
|
```
|
|
86
82
|
|
|
87
|
-
You may need to adapt the
|
|
83
|
+
You may need to adapt the paths to your setup.
|
|
88
84
|
|
|
89
|
-
### Run the
|
|
85
|
+
### Run the container with extra parameters (e.g. frontend on port 8585)
|
|
90
86
|
|
|
91
87
|
```bash
|
|
92
88
|
sudo docker run --name matterbridge \
|
|
@@ -97,18 +93,20 @@ sudo docker run --name matterbridge \
|
|
|
97
93
|
matterbridge --docker --frontend 8585
|
|
98
94
|
```
|
|
99
95
|
|
|
100
|
-
If you override, always
|
|
96
|
+
If you override the command, always start it with `matterbridge --docker`.
|
|
101
97
|
|
|
102
|
-
|
|
98
|
+
**If you change the frontend port, overriding the default command of the images, docker will report the container unhealty unless you add the --no-healthcheck param**.
|
|
103
99
|
|
|
104
|
-
|
|
100
|
+
### Run with Docker Compose
|
|
101
|
+
|
|
102
|
+
The `docker-compose.yml` file is available in the `docker` directory of this repository:
|
|
105
103
|
|
|
106
104
|
```yaml
|
|
107
105
|
services:
|
|
108
106
|
matterbridge:
|
|
109
107
|
container_name: matterbridge
|
|
110
108
|
image: luligu/matterbridge:latest # Matterbridge image with the tag latest
|
|
111
|
-
network_mode: host # Ensures the Matter
|
|
109
|
+
network_mode: host # Ensures the Matter mDNS works
|
|
112
110
|
restart: always # Ensures the container always restarts automatically
|
|
113
111
|
volumes:
|
|
114
112
|
- "${HOME}/Matterbridge:/root/Matterbridge" # Mounts the Matterbridge plugin directory
|
|
@@ -116,21 +114,21 @@ services:
|
|
|
116
114
|
- "${HOME}/.mattercert:/root/.mattercert" # Mounts the Matterbridge certificate directory
|
|
117
115
|
```
|
|
118
116
|
|
|
119
|
-
Copy it
|
|
117
|
+
Copy it to your home directory or edit your existing compose file to add the Matterbridge service.
|
|
120
118
|
|
|
121
|
-
Then start
|
|
119
|
+
Then start Docker Compose with:
|
|
122
120
|
|
|
123
121
|
```bash
|
|
124
122
|
docker compose up -d
|
|
125
123
|
```
|
|
126
124
|
|
|
127
|
-
|
|
125
|
+
Or start only the Matterbridge container with:
|
|
128
126
|
|
|
129
127
|
```bash
|
|
130
128
|
docker compose up -d matterbridge
|
|
131
129
|
```
|
|
132
130
|
|
|
133
|
-
If you need to start
|
|
131
|
+
If you need to start Matterbridge with extra parameters (e.g. frontend on port 8585), override the default command by adding a `command` line to the service:
|
|
134
132
|
|
|
135
133
|
```yaml
|
|
136
134
|
services:
|
|
@@ -139,17 +137,24 @@ services:
|
|
|
139
137
|
command: ["matterbridge", "--docker", "--frontend", "8585"]
|
|
140
138
|
```
|
|
141
139
|
|
|
142
|
-
If you override, always
|
|
140
|
+
If you override the command, always start it with `["matterbridge", "--docker"]`.
|
|
143
141
|
|
|
144
|
-
|
|
142
|
+
**If you change the frontend port, overriding the default command of the images, docker will report the container unhealty unless you add:**.
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
healthcheck:
|
|
146
|
+
disable: true
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Stop with Docker Compose
|
|
145
150
|
|
|
146
151
|
```bash
|
|
147
152
|
docker compose down
|
|
148
153
|
```
|
|
149
154
|
|
|
150
|
-
### Update with
|
|
155
|
+
### Update with Docker Compose
|
|
151
156
|
|
|
152
|
-
This
|
|
157
|
+
This pulls the new Matterbridge image and restarts only the Matterbridge container:
|
|
153
158
|
|
|
154
159
|
```bash
|
|
155
160
|
docker compose pull matterbridge
|
|
@@ -180,13 +185,13 @@ docker stop matterbridge
|
|
|
180
185
|
docker restart matterbridge
|
|
181
186
|
```
|
|
182
187
|
|
|
183
|
-
###
|
|
188
|
+
### Show the logs
|
|
184
189
|
|
|
185
190
|
```bash
|
|
186
191
|
docker logs matterbridge
|
|
187
192
|
```
|
|
188
193
|
|
|
189
|
-
###
|
|
194
|
+
### Show the logs for a time interval
|
|
190
195
|
|
|
191
196
|
```bash
|
|
192
197
|
docker logs \
|
|
@@ -195,15 +200,15 @@ docker logs \
|
|
|
195
200
|
matterbridge
|
|
196
201
|
```
|
|
197
202
|
|
|
198
|
-
###
|
|
203
|
+
### Show the logs in real time (tail)
|
|
199
204
|
|
|
200
205
|
```bash
|
|
201
206
|
docker logs --tail 1000 -f matterbridge
|
|
202
207
|
```
|
|
203
208
|
|
|
204
|
-
### Prevent
|
|
209
|
+
### Prevent log growth
|
|
205
210
|
|
|
206
|
-
If you want to prevent
|
|
211
|
+
If you want to prevent Docker logs from growing too much, you can configure Docker's logging options globally.
|
|
207
212
|
|
|
208
213
|
**Warning**: This will restart Docker and affect all running containers.
|
|
209
214
|
|
|
@@ -211,7 +216,7 @@ If you want to prevent the docker logs to grow too much, you can configure Docke
|
|
|
211
216
|
sudo nano /etc/docker/daemon.json
|
|
212
217
|
```
|
|
213
218
|
|
|
214
|
-
Add or update the logging configuration in
|
|
219
|
+
Add or update the logging configuration in `daemon.json`:
|
|
215
220
|
|
|
216
221
|
```json
|
|
217
222
|
{
|
|
@@ -234,12 +239,4 @@ Save the file and restart Docker:
|
|
|
234
239
|
sudo systemctl restart docker
|
|
235
240
|
```
|
|
236
241
|
|
|
237
|
-
**Note**: This configuration applies to new containers. Existing containers
|
|
238
|
-
|
|
239
|
-
## Development images
|
|
240
|
-
|
|
241
|
-
On [**Docker Hub**](https://hub.docker.com/r/luligu/matterbridge) are also published **for test and development** the Matterbridge ubuntu and alpine images, which include a manifest list for the linux/amd64, linux/arm64 architectures and are based on node 24.x.
|
|
242
|
-
|
|
243
|
-
The image (tag **ubuntu**) includes only matterbridge with the latest release (as published on npm). The plugins are not included in the image but they will be reinstalled on the first run. This image has preinstalled bluetooth essentials and python (it can be used with plugins that require bluetooth, build-essential and python).
|
|
244
|
-
|
|
245
|
-
The image (tag **alpine**) includes only matterbridge with the latest release (as published on npm). The plugins are not included in the image but they will be reinstalled on the first run.
|
|
242
|
+
**Note**: This configuration applies to new containers. Existing containers must be recreated to use the new logging settings.
|
package/README-MACOS-PLIST.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge launchctl configuration (macOS)
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge launchctl configuration (macOS)
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Production configuration
|
|
18
18
|
|
|
19
19
|
## Run matterbridge as system service with launchctl (macOS) and its own global node_modules directory
|
|
20
20
|
|
package/README-NGINX.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge NGINX configuration
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge NGINX configuration
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
package/README-PODMAN.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge Podman configuration
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge Podman configuration
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Production configuration
|
|
18
18
|
|
|
19
19
|
## Install Podman if it is not already installed
|
|
20
20
|
|
package/README-SERVICE-LOCAL.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge systemd configuration with local global node_modules
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge systemd configuration with local global node_modules
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Production advanced configuration
|
|
18
18
|
|
|
19
19
|
## Run matterbridge as a daemon with systemctl (Linux only) with local global node_modules
|
|
20
20
|
|
package/README-SERVICE-OPT.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge systemd configuration with private global node_modules
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge systemd configuration with private global node_modules
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Production advanced configuration
|
|
18
18
|
|
|
19
19
|
## Run matterbridge as a daemon with systemctl (Linux only) with user matterbridge and private global node_modules
|
|
20
20
|
|
package/README-SERVICE.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge systemd configuration
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge systemd configuration
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Production configuration
|
|
18
18
|
|
|
19
19
|
## Run matterbridge as a daemon with systemctl (Linux only)
|
|
20
20
|
|
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge
|
|
1
|
+
# <img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px"> Matterbridge
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge)
|
|
5
|
-
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
@@ -39,7 +39,7 @@ It runs perfectly on Linux, macOS and Windows.
|
|
|
39
39
|
|
|
40
40
|
If you like this project and find it useful, please consider giving it a star on [GitHub](https://github.com/Luligu/matterbridge) and sponsoring it.
|
|
41
41
|
|
|
42
|
-
<a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/bmc-button.svg" alt="Buy me a coffee" width="120"></a>
|
|
42
|
+
<a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="120"></a>
|
|
43
43
|
|
|
44
44
|
## Acknowledgements
|
|
45
45
|
|
|
@@ -282,7 +282,7 @@ It is the ideal companion of the official [Matterbridge Home Assistant Add-on](h
|
|
|
282
282
|
### Webhooks
|
|
283
283
|
|
|
284
284
|
<a href="https://github.com/Luligu/matterbridge-webhooks">
|
|
285
|
-
<img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
285
|
+
<img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
286
286
|
</a>
|
|
287
287
|
|
|
288
288
|
Matterbridge Webhooks plugin allows you to expose any webhooks to Matter.
|
|
@@ -290,7 +290,7 @@ Matterbridge Webhooks plugin allows you to expose any webhooks to Matter.
|
|
|
290
290
|
### BTHome
|
|
291
291
|
|
|
292
292
|
<a href="https://github.com/Luligu/matterbridge-webhooks">
|
|
293
|
-
<img src="https://matterbridge.io/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
293
|
+
<img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
294
294
|
</a>
|
|
295
295
|
|
|
296
296
|
Matterbridge BTHome allows you to expose any BTHome device to Matter using the native bluetooth of the host machine.
|
|
@@ -553,11 +553,15 @@ In Matter spec the Window Covering cluster uses:
|
|
|
553
553
|
- 10000 = fully closed
|
|
554
554
|
- 0 = fully opened
|
|
555
555
|
|
|
556
|
-
So
|
|
556
|
+
So you should see 100% for fully closed and 0% for fully open.
|
|
557
557
|
|
|
558
|
-
Some controllers
|
|
558
|
+
Some controllers interpret the position the other way around (they show “open” as “closed” and vice versa). If the percentages look reversed, it’s a controller-specific UI behavior. Alexa is a common example.
|
|
559
559
|
|
|
560
|
-
##
|
|
560
|
+
## How to disable Restart matterbridge and update matterbridge
|
|
561
|
+
|
|
562
|
+
In the settings page of the frontend, set virtual devices to Disabled.
|
|
563
|
+
|
|
564
|
+
## Data structure for backup and restore
|
|
561
565
|
|
|
562
566
|
Matterbridge uses three directories. These are the default locations (some advanced setups may change them, so check your configuration):
|
|
563
567
|
|
|
@@ -641,14 +645,22 @@ Install Google Home on an iPhone and complete the commissioning there. Once set
|
|
|
641
645
|
|
|
642
646
|
## Alexa
|
|
643
647
|
|
|
644
|
-
Tested by Tamer Salah
|
|
645
|
-
|
|
646
|
-
Alexa
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
648
|
+
Tested by [Tamer Salah](https://github.com/tammeryousef1006).
|
|
649
|
+
|
|
650
|
+
Alexa integrates with Matterbridge to locally control non-native devices by acting as a Matter Controller. While Amazon has expanded support to include core categories like lighting, plugs, thermostats, locks, and sensors, many advanced or specialized device types defined in the latest Matter specifications are not yet recognized by the Alexa ecosystem.
|
|
651
|
+
Alexa Support vs. Matterbridge Test Results
|
|
652
|
+
During testing, Alexa successfully managed most standard smart home categories but failed to recognize or fully support the following types exposed via Matterbridge:
|
|
653
|
+
Appliances & Kitchen: Cooktop, Microwave Oven, Oven, Refrigerator, Laundry Washer/Dryer, and Extractor Hood.
|
|
654
|
+
Energy & Utilities: Battery Storage, EVSE (Electric Vehicle Supply Equipment), and Solar Power.
|
|
655
|
+
Water & Infrastructure: Water Valve, Water Heater, Water Leak/Freeze sensors, Pump, and Rain Sensor.
|
|
656
|
+
Media & Controls: Basic Video Player and Speaker.
|
|
657
|
+
Specialized Sensors/Inputs: Heat Pump, Latching Switch, Flow, and Pressure.
|
|
658
|
+
Limited Support: Cover Lift and Tilt devices only functioned for lift operations, with tilt functionality unsupported.
|
|
659
|
+
Integration Limitations
|
|
660
|
+
Even when a device is recognized, Alexa may face specific bridge-related limitations:
|
|
661
|
+
Device Caps: Alexa currently supports a maximum of 50 bridged devices per connection; exceeding this limit may cause devices to disappear from the Alexa App.
|
|
662
|
+
Latency: While Matter is designed for local control, status updates in the Alexa app may occasionally lag if the app remains open during external state changes.
|
|
663
|
+
Feature Gaps: Advanced features for certain types, such as unlocking specific smart locks, may be disabled by default for security and require manual activation within the app
|
|
652
664
|
|
|
653
665
|
Known issues:
|
|
654
666
|
|
|
@@ -687,7 +699,7 @@ On my side I sponsor the packages that I use in this project and single develope
|
|
|
687
699
|
Click on the badge below to get started:
|
|
688
700
|
|
|
689
701
|
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
690
|
-
<img src="https://matterbridge.io/bmc-button.svg" alt="Buy me a coffee" width="120">
|
|
702
|
+
<img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="120">
|
|
691
703
|
</a>
|
|
692
704
|
|
|
693
705
|
Thank you for your support!
|
package/bin/mb_health.js
ADDED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LogLevel } from 'node-ansi-logger';
|
|
2
2
|
import { EndpointNumber } from '@matter/types/datatype';
|
|
3
|
-
import { RefreshRequiredChanged, WsMessageBroadcast } from './frontendTypes.js';
|
|
4
|
-
import type { PlatformConfig, PlatformSchema } from './
|
|
5
|
-
import type { ApiMatter, ApiPlugin, BaseDevice, Plugin, StoragePlugin } from './matterbridgeTypes.js';
|
|
3
|
+
import type { RefreshRequiredChanged, WsMessageBroadcast } from './frontendTypes.js';
|
|
4
|
+
import type { PlatformConfig, PlatformMatterbridge, PlatformSchema } from './matterbridgePlatformTypes.js';
|
|
5
|
+
import type { ApiMatter, ApiPlugin, BaseDevice, Plugin, SharedMatterbridge, StoragePlugin } from './matterbridgeTypes.js';
|
|
6
6
|
export type WorkerSrcType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates';
|
|
7
7
|
export type WorkerDstType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates' | 'all';
|
|
8
8
|
type NormalizeRequest<T> = T extends {
|
|
@@ -184,6 +184,28 @@ export type WorkerMessageTypes = {
|
|
|
184
184
|
};
|
|
185
185
|
};
|
|
186
186
|
};
|
|
187
|
+
'matterbridge_platform': {
|
|
188
|
+
request: {
|
|
189
|
+
params: undefined;
|
|
190
|
+
};
|
|
191
|
+
response: {
|
|
192
|
+
result: {
|
|
193
|
+
data: PlatformMatterbridge;
|
|
194
|
+
success: true;
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
'matterbridge_shared': {
|
|
199
|
+
request: {
|
|
200
|
+
params: undefined;
|
|
201
|
+
};
|
|
202
|
+
response: {
|
|
203
|
+
result: {
|
|
204
|
+
data: SharedMatterbridge;
|
|
205
|
+
success: true;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
};
|
|
187
209
|
'matter_start': {
|
|
188
210
|
request: {
|
|
189
211
|
params: {
|