matterbridge 3.0.0-edge.7 → 3.0.0
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 +52 -9
- package/README-DEV.md +4 -0
- package/README-DOCKER.md +21 -12
- package/README-SERVICE.md +27 -21
- package/README.md +80 -2
- package/dist/cli.d.ts +29 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +41 -3
- package/dist/cli.js.map +1 -0
- package/dist/cluster/export.d.ts +2 -0
- package/dist/cluster/export.d.ts.map +1 -0
- package/dist/cluster/export.js +2 -0
- package/dist/cluster/export.js.map +1 -0
- package/dist/defaultConfigSchema.d.ts +27 -0
- package/dist/defaultConfigSchema.d.ts.map +1 -0
- package/dist/defaultConfigSchema.js +23 -0
- package/dist/defaultConfigSchema.js.map +1 -0
- package/dist/deviceManager.d.ts +114 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +94 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/frontend.d.ts +222 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +443 -35
- package/dist/frontend.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -0
- package/dist/logger/export.d.ts +2 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +2 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +2 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +2 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +2 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +5 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +2 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +3 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +2 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterbridge.d.ts +431 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +800 -79
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +40 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +34 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +1514 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +33 -1
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +494 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +431 -12
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +40 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +34 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +943 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +806 -7
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +2706 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +156 -9
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +294 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +227 -9
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +187 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +24 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +271 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +262 -3
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +92 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +146 -6
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +2 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +32 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +70 -0
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +61 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +205 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +32 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +37 -1
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +38 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +42 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +31 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +40 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +53 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +65 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/export.d.ts +10 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/isvalid.d.ts +87 -0
- package/dist/utils/isvalid.d.ts.map +1 -0
- package/dist/utils/isvalid.js +86 -0
- package/dist/utils/isvalid.js.map +1 -0
- package/dist/utils/network.d.ts +69 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +76 -5
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/parameter.d.ts +58 -0
- package/dist/utils/parameter.d.ts.map +1 -0
- package/dist/utils/parameter.js +92 -7
- package/dist/utils/parameter.js.map +1 -0
- package/dist/utils/wait.d.ts +43 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +50 -5
- package/dist/utils/wait.js.map +1 -0
- package/frontend/build/asset-manifest.json +6 -6
- package/frontend/build/bmc-button.svg +22 -0
- package/frontend/build/discord.svg +5 -0
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/css/{main.ea7910e9.css → main.944b63c3.css} +2 -2
- package/frontend/build/static/css/main.944b63c3.css.map +1 -0
- package/frontend/build/static/js/{main.e11d6bb4.js → main.1d983660.js} +12 -12
- package/frontend/build/static/js/{main.e11d6bb4.js.map → main.1d983660.js.map} +1 -1
- package/npm-shrinkwrap.json +300 -362
- package/package.json +5 -4
- package/tsconfig.jest.json +8 -0
- package/README-EDGE.md +0 -74
- package/frontend/build/static/css/main.ea7910e9.css.map +0 -1
- /package/frontend/build/static/js/{main.e11d6bb4.js.LICENSE.txt → main.1d983660.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -13,10 +13,6 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
13
13
|
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.
|
|
14
14
|
It is also available the official Matterbridge Home Assistant plugin https://github.com/Luligu/matterbridge-hass.
|
|
15
15
|
|
|
16
|
-
### Discord
|
|
17
|
-
|
|
18
|
-
Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/QX58CDe6hd.
|
|
19
|
-
|
|
20
16
|
## New plugin matterbridge-webhooks
|
|
21
17
|
|
|
22
18
|
A new plugin has been added: https://github.com/Luligu/matterbridge-webhooks
|
|
@@ -31,7 +27,7 @@ Features:
|
|
|
31
27
|
|
|
32
28
|
## Breaking changes
|
|
33
29
|
|
|
34
|
-
Matter 1.4
|
|
30
|
+
This release brings Matter 1.4.
|
|
35
31
|
|
|
36
32
|
New device types:
|
|
37
33
|
|
|
@@ -42,7 +38,7 @@ Modified clusters:
|
|
|
42
38
|
|
|
43
39
|
- OccupancySensing cluster.
|
|
44
40
|
|
|
45
|
-
## [3.0.0] - 2025-04
|
|
41
|
+
## [3.0.0] - 2025-04-29
|
|
46
42
|
|
|
47
43
|
### Added
|
|
48
44
|
|
|
@@ -51,20 +47,67 @@ Modified clusters:
|
|
|
51
47
|
- [endpoint]: Added createBaseFanControlClusterServer().
|
|
52
48
|
- [endpoint]: Added createDefaultHepaFilterMonitoringClusterServer().
|
|
53
49
|
- [endpoint]: Added createDefaultActivatedCarbonFilterMonitoringClusterServer().
|
|
54
|
-
- [
|
|
55
|
-
- [deviceTypes]: Added
|
|
50
|
+
- [endpoint]: Added createDefaultThermostatUserInterfaceConfigurationClusterServer().
|
|
51
|
+
- [deviceTypes]: Added Robotic device type (please read https://github.com/Luligu/matterbridge/discussions/264).
|
|
52
|
+
- [deviceTypes]: Added Appliances device types (please read https://github.com/Luligu/matterbridge/discussions/264).
|
|
53
|
+
- [frontend]: Added the matterbridge aggregator serialNumber in the QRDiv.
|
|
54
|
+
- [frontend]: Added Power column in the Devices panel of the Home page.
|
|
55
|
+
- [frontend]: Added support for appliances and robot in IconView.
|
|
56
|
+
- [parameter]: Added getIntArrayParameter and getStringArrayParameter.
|
|
57
|
+
- [frontend]: Added the view menu to load the logs directly in the browser.
|
|
56
58
|
|
|
57
59
|
### Changed
|
|
58
60
|
|
|
59
|
-
- [
|
|
61
|
+
- [package]: Updated package.
|
|
62
|
+
- [package]: Updated express to v5.1.0.
|
|
63
|
+
- [package]: Updated dependencies.
|
|
64
|
+
- [frontend]: Frontend v.2.6.3.
|
|
65
|
+
- [frontend]: Changed icons with mdiIcons in IconView.
|
|
66
|
+
- [package]: Added tsconfig.jest.json with "isolatedModules": true for ts-jest.
|
|
67
|
+
- [deviceTypes]: Updated device types to Matter 1.4.
|
|
68
|
+
- [clusters]: Updated cluster helpers to Matter 1.4.
|
|
60
69
|
- [matter.js]: Update to 0.13.0-alpha.0-20250405-7fc7db48.
|
|
61
70
|
- [matter.js]: Update to 0.13.0-alpha.0-20250408-c916c7e8.
|
|
62
71
|
- [matter.js]: Update to 0.13.0-alpha.0-20250412-5fad64e7b.
|
|
72
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250413-d5a27700d.
|
|
73
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250415-475996bb5.
|
|
74
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250418-8cfc0b832.
|
|
75
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250420-9f45e4f77.
|
|
76
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250422-0d27f26be.
|
|
77
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250423-8917d1d1d.
|
|
78
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250424-4760af1f3.
|
|
79
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250425-94b33ff98.
|
|
80
|
+
- [matter.js]: Update to 0.13.0-alpha.0-20250427-e7df8aa45.
|
|
81
|
+
- [matter.js]: Update to 0.13.0.
|
|
82
|
+
- [help]: Updated cli help screen.
|
|
83
|
+
- [logger]: Improved frontend logger cleaning.
|
|
63
84
|
|
|
64
85
|
### Fixed
|
|
65
86
|
|
|
66
87
|
- [doorLock]: Fixed supportedOperatingModes inverted bitmap (Thanks Apollon).
|
|
67
88
|
- [DevicesIcon]: Fixed rendering of leak freeze and rain sensors.
|
|
89
|
+
- [QRCode]: Fixed rendering of QRCode panel when advertising stops.
|
|
90
|
+
- [matterbridge]: Fixed wrong message when advertising stops and the node has been paired.
|
|
91
|
+
- [frontend]: Fixed download logs that broke with express v5.1.0.
|
|
92
|
+
|
|
93
|
+
## [2.2.9] - 2025-04-18
|
|
94
|
+
|
|
95
|
+
### Added
|
|
96
|
+
|
|
97
|
+
- [deviceTypes]: Added extendedColorLight device type.
|
|
98
|
+
|
|
99
|
+
### Changed
|
|
100
|
+
|
|
101
|
+
- [package]: Update dependencies.
|
|
102
|
+
|
|
103
|
+
### Fixed
|
|
104
|
+
|
|
105
|
+
- [QRCode]: Fixed update when the server node is no more advertising.
|
|
106
|
+
- [frontend]: Fixed wrong notification when the server node has been paired.
|
|
107
|
+
|
|
108
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
109
|
+
<img src="bmc-button.svg" alt="Buy me a coffee" width="80">
|
|
110
|
+
</a>
|
|
68
111
|
|
|
69
112
|
## [2.2.8] - 2025-04-10
|
|
70
113
|
|
package/README-DEV.md
CHANGED
|
@@ -82,6 +82,10 @@ Matterbridge must be linked to the plugin in development only.
|
|
|
82
82
|
}
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
+
On the machine you use for development you should also have matterbridge installed globally or built locally and linked (npm link from the package root).
|
|
86
|
+
|
|
87
|
+
Dev and edge branches of matterbridge are not suitable for developemnt cause they are published for production without types. If you want to develop a plugin using the dev or edge branch of matterbridge, you have to clone the dev or edge branch of matterbridge, build locally and link (npm run deepCleanBuild).
|
|
88
|
+
|
|
85
89
|
# \***\*\*\*\*\***
|
|
86
90
|
|
|
87
91
|
I added some error messages when a plugin has wrong imports or configurations and the plugin will be disabled to prevent instability and crashes.
|
package/README-DOCKER.md
CHANGED
|
@@ -38,7 +38,7 @@ docker exec -it matterbridge curl -v http://localhost:8283/health
|
|
|
38
38
|
|
|
39
39
|
This will create the required directories in your home directory if they don't exist
|
|
40
40
|
|
|
41
|
-
```
|
|
41
|
+
```bash
|
|
42
42
|
cd ~
|
|
43
43
|
mkdir -p ./Matterbridge
|
|
44
44
|
mkdir -p ./.matterbridge
|
|
@@ -51,7 +51,7 @@ You may need to adapt the script to your setup.
|
|
|
51
51
|
|
|
52
52
|
If you don't want to use sudo with docker commands, run this command:
|
|
53
53
|
|
|
54
|
-
```
|
|
54
|
+
```bash
|
|
55
55
|
sudo groupadd docker
|
|
56
56
|
sudo usermod -aG docker $USER
|
|
57
57
|
```
|
|
@@ -62,7 +62,7 @@ After adding your user to the docker group, you need to log out and log back in
|
|
|
62
62
|
|
|
63
63
|
The container must have full access to the host network (needed for mdns).
|
|
64
64
|
|
|
65
|
-
```
|
|
65
|
+
```bash
|
|
66
66
|
sudo docker run --name matterbridge \
|
|
67
67
|
-v /home/<USER>/Matterbridge:/root/Matterbridge \
|
|
68
68
|
-v /home/<USER>/.matterbridge:/root/.matterbridge \
|
|
@@ -95,54 +95,63 @@ copy it in the home directory or edit the existing one to add the matterbridge s
|
|
|
95
95
|
|
|
96
96
|
Then start docker compose with:
|
|
97
97
|
|
|
98
|
-
```
|
|
98
|
+
```bash
|
|
99
99
|
docker compose up -d
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
### Stop with docker compose
|
|
103
103
|
|
|
104
|
-
```
|
|
104
|
+
```bash
|
|
105
105
|
docker compose down
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
### Update with docker compose
|
|
109
109
|
|
|
110
|
-
```
|
|
110
|
+
```bash
|
|
111
111
|
docker compose pull
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
### Inspect the container
|
|
115
115
|
|
|
116
|
-
```
|
|
116
|
+
```bash
|
|
117
117
|
docker container inspect matterbridge
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
### Start the Docker container
|
|
121
121
|
|
|
122
|
-
```
|
|
122
|
+
```bash
|
|
123
123
|
docker start matterbridge
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
### Stop the Docker container
|
|
127
127
|
|
|
128
|
-
```
|
|
128
|
+
```bash
|
|
129
129
|
docker stop matterbridge
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
### Restart the Docker container
|
|
133
133
|
|
|
134
|
-
```
|
|
134
|
+
```bash
|
|
135
135
|
docker restart matterbridge
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
### Shows the logs
|
|
139
139
|
|
|
140
|
-
```
|
|
140
|
+
```bash
|
|
141
141
|
docker logs matterbridge
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
### Shows the logs
|
|
144
|
+
### Shows the logs for a time interval
|
|
145
145
|
|
|
146
|
+
```bash
|
|
147
|
+
docker logs \
|
|
148
|
+
--since "2025-04-19T00:00:00" \
|
|
149
|
+
--until "2025-04-19T00:02:00" \
|
|
150
|
+
matterbridge
|
|
146
151
|
```
|
|
152
|
+
|
|
153
|
+
### Shows the logs real time (tail)
|
|
154
|
+
|
|
155
|
+
```bash
|
|
147
156
|
docker logs --tail 1000 -f matterbridge
|
|
148
157
|
```
|
package/README-SERVICE.md
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
This will create the required directories if they don't exist
|
|
22
22
|
|
|
23
|
-
```
|
|
23
|
+
```bash
|
|
24
24
|
cd ~
|
|
25
25
|
mkdir -p ./Matterbridge
|
|
26
26
|
mkdir -p ./.matterbridge
|
|
@@ -31,7 +31,7 @@ sudo chown -R $USER:$USER ./Matterbridge ./.matterbridge
|
|
|
31
31
|
|
|
32
32
|
Create a systemctl configuration file for Matterbridge
|
|
33
33
|
|
|
34
|
-
```
|
|
34
|
+
```bash
|
|
35
35
|
sudo nano /etc/systemd/system/matterbridge.service
|
|
36
36
|
```
|
|
37
37
|
|
|
@@ -53,8 +53,6 @@ WorkingDirectory=/home/<USER>/Matterbridge
|
|
|
53
53
|
StandardOutput=inherit
|
|
54
54
|
StandardError=inherit
|
|
55
55
|
Restart=always
|
|
56
|
-
RestartSec=10s
|
|
57
|
-
TimeoutStopSec=30s
|
|
58
56
|
User=<USER>
|
|
59
57
|
Group=<USER>
|
|
60
58
|
|
|
@@ -70,45 +68,53 @@ add this:
|
|
|
70
68
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
71
69
|
```
|
|
72
70
|
|
|
73
|
-
If you
|
|
71
|
+
If you use the matterbridge-bthome plugin add this:
|
|
74
72
|
|
|
75
73
|
```
|
|
74
|
+
[Service]
|
|
75
|
+
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_NET_ADMIN
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
If you modify it after, then run:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
76
81
|
sudo systemctl daemon-reload
|
|
82
|
+
sudo systemctl restart matterbridge.service
|
|
77
83
|
```
|
|
78
84
|
|
|
79
85
|
### Start Matterbridge
|
|
80
86
|
|
|
81
|
-
```
|
|
87
|
+
```bash
|
|
82
88
|
sudo systemctl start matterbridge
|
|
83
89
|
```
|
|
84
90
|
|
|
85
91
|
### Stop Matterbridge
|
|
86
92
|
|
|
87
|
-
```
|
|
93
|
+
```bash
|
|
88
94
|
sudo systemctl stop matterbridge
|
|
89
95
|
```
|
|
90
96
|
|
|
91
97
|
### Show Matterbridge status
|
|
92
98
|
|
|
93
|
-
```
|
|
99
|
+
```bash
|
|
94
100
|
sudo systemctl status matterbridge.service
|
|
95
101
|
```
|
|
96
102
|
|
|
97
103
|
### Enable Matterbridge to start automatically on boot
|
|
98
104
|
|
|
99
|
-
```
|
|
105
|
+
```bash
|
|
100
106
|
sudo systemctl enable matterbridge.service
|
|
101
107
|
```
|
|
102
108
|
|
|
103
109
|
### Disable Matterbridge from starting automatically on boot
|
|
104
110
|
|
|
105
|
-
```
|
|
111
|
+
```bash
|
|
106
112
|
sudo systemctl disable matterbridge.service
|
|
107
113
|
```
|
|
108
114
|
|
|
109
115
|
### View the log of Matterbridge in real time (this will show the log with colors)
|
|
110
116
|
|
|
111
|
-
```
|
|
117
|
+
```bash
|
|
112
118
|
sudo journalctl -u matterbridge.service -n 1000 -f --output cat
|
|
113
119
|
```
|
|
114
120
|
|
|
@@ -116,13 +122,13 @@ sudo journalctl -u matterbridge.service -n 1000 -f --output cat
|
|
|
116
122
|
|
|
117
123
|
Check the space used
|
|
118
124
|
|
|
119
|
-
```
|
|
125
|
+
```bash
|
|
120
126
|
sudo journalctl --disk-usage
|
|
121
127
|
```
|
|
122
128
|
|
|
123
129
|
remove all log older then 3 days
|
|
124
130
|
|
|
125
|
-
```
|
|
131
|
+
```bash
|
|
126
132
|
sudo journalctl --rotate
|
|
127
133
|
sudo journalctl --vacuum-time=3d
|
|
128
134
|
```
|
|
@@ -131,13 +137,13 @@ sudo journalctl --vacuum-time=3d
|
|
|
131
137
|
|
|
132
138
|
If you want to make the setting permanent to prevent the journal logs to grow too much, run
|
|
133
139
|
|
|
134
|
-
```
|
|
140
|
+
```bash
|
|
135
141
|
sudo nano /etc/systemd/journald.conf
|
|
136
142
|
```
|
|
137
143
|
|
|
138
144
|
add
|
|
139
145
|
|
|
140
|
-
```
|
|
146
|
+
```bash
|
|
141
147
|
Compress=yes # Compress logs
|
|
142
148
|
MaxRetentionSec=3days # Keep logs for a maximum of 3 days.
|
|
143
149
|
MaxFileSec=1day # Rotate logs daily within the 3-day retention period.
|
|
@@ -148,7 +154,7 @@ RuntimeMaxUse=100M # Limit runtime logs in /run/log/journal to 100 MB.
|
|
|
148
154
|
|
|
149
155
|
save it and run
|
|
150
156
|
|
|
151
|
-
```
|
|
157
|
+
```bash
|
|
152
158
|
sudo systemctl restart systemd-journald
|
|
153
159
|
```
|
|
154
160
|
|
|
@@ -156,7 +162,7 @@ sudo systemctl restart systemd-journald
|
|
|
156
162
|
|
|
157
163
|
Run the following command to verify if you can install Matterbridge globally without being prompted for a password:
|
|
158
164
|
|
|
159
|
-
```
|
|
165
|
+
```bash
|
|
160
166
|
sudo npm install -g matterbridge
|
|
161
167
|
```
|
|
162
168
|
|
|
@@ -164,7 +170,7 @@ If you are not prompted for a password, no further action is required.
|
|
|
164
170
|
|
|
165
171
|
If that is not the case, open the sudoers file for editing using visudo
|
|
166
172
|
|
|
167
|
-
```
|
|
173
|
+
```bash
|
|
168
174
|
sudo visudo
|
|
169
175
|
```
|
|
170
176
|
|
|
@@ -176,8 +182,8 @@ verify the presence of of a line
|
|
|
176
182
|
|
|
177
183
|
exit and create a configuration file for sudoers
|
|
178
184
|
|
|
179
|
-
```
|
|
180
|
-
sudo nano
|
|
185
|
+
```bash
|
|
186
|
+
sudo nano /etc/sudoers.d/matterbridge
|
|
181
187
|
```
|
|
182
188
|
|
|
183
189
|
add this line replacing USER with your user name (e.g. radxa ALL=(ALL) NOPASSWD: ALL)
|
|
@@ -194,6 +200,6 @@ or if you prefers to only give access to npm without password try with (e.g. rad
|
|
|
194
200
|
|
|
195
201
|
save the file and reload the settings with:
|
|
196
202
|
|
|
197
|
-
```
|
|
203
|
+
```bash
|
|
198
204
|
sudo visudo -c
|
|
199
205
|
```
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
Matterbridge is a
|
|
15
|
+
Matterbridge is a Matter plugin manager.
|
|
16
16
|
|
|
17
17
|
It allows you to have all your Matter devices up and running in a couple of minutes without
|
|
18
18
|
having to deal with the pairing process of each single device.
|
|
@@ -46,6 +46,22 @@ The project is build on top of https://github.com/project-chip/matter.js.
|
|
|
46
46
|
|
|
47
47
|
A special thank to Apollon77 for his incredible work.
|
|
48
48
|
|
|
49
|
+
## Discord
|
|
50
|
+
|
|
51
|
+
Join us in the Matterbridge Discord group https://discord.gg/QX58CDe6hd created by Tamer (https://github.com/tammeryousef1006).
|
|
52
|
+
|
|
53
|
+
## Videos
|
|
54
|
+
|
|
55
|
+
https://www.youtube.com/watch?v=goNB9Cgh_Fk
|
|
56
|
+
|
|
57
|
+
## Reviews
|
|
58
|
+
|
|
59
|
+
https://www.matteralpha.com/how-to/how-to-configure-an-open-source-matter-bridge-at-home
|
|
60
|
+
|
|
61
|
+
## Press
|
|
62
|
+
|
|
63
|
+
https://matter-smarthome.de/en/interview/an-alternative-to-the-official-matter-sdk/
|
|
64
|
+
|
|
49
65
|
## Prerequisites
|
|
50
66
|
|
|
51
67
|
To run Matterbridge, you need either a [Node.js](https://nodejs.org/en) environment or [Docker](https://docs.docker.com/get-started/get-docker/) installed on your system.
|
|
@@ -57,6 +73,10 @@ Nvm is not a good choice and should not be used for production.
|
|
|
57
73
|
|
|
58
74
|
If you don't have Docker already install, please use this method to install it on a debian device: https://docs.docker.com/desktop/setup/install/linux/debian/.
|
|
59
75
|
|
|
76
|
+
Since as stated in the Matter specifications "Matter aims to build a universal IPv6-based communication protocol for smart home devices", ipv6 should be enabled in the network.
|
|
77
|
+
|
|
78
|
+
Avoid using VLAN and firewall blocking the communications between the controller and Matterbridge.
|
|
79
|
+
|
|
60
80
|
## Installation
|
|
61
81
|
|
|
62
82
|
Follow these steps to install Matterbridge:
|
|
@@ -216,6 +236,38 @@ No hub or dedicated hardware needed.
|
|
|
216
236
|
|
|
217
237
|
Matterbridge Somfy Tahoma is a matterbridge production-level plugin that expose the Somfy Tahoma screen devices to Matter.
|
|
218
238
|
|
|
239
|
+
### Home Assistant
|
|
240
|
+
|
|
241
|
+
<a href="https://github.com/Luligu/matterbridge-hass">
|
|
242
|
+
<img src="screenshot/HomeAssistant.svg" alt="Hass logo" width="100" />
|
|
243
|
+
</a>
|
|
244
|
+
|
|
245
|
+
Matterbridge Home Assistant plugin allows you to expose the Home Assistant devices and entities to Matter.
|
|
246
|
+
|
|
247
|
+
It is the ideal companion of the official [Matterbridge Home Assistant Add-on](https://github.com/Luligu/matterbridge-home-assistant-addon/blob/main/README.md).
|
|
248
|
+
|
|
249
|
+
### Webhooks
|
|
250
|
+
|
|
251
|
+
<a href="https://github.com/Luligu/matterbridge-webhooks">
|
|
252
|
+
<img src="frontend/public/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
253
|
+
</a>
|
|
254
|
+
|
|
255
|
+
Matterbridge Webhooks plugin allows you to expose any webhooks to Matter..
|
|
256
|
+
|
|
257
|
+
### BTHome
|
|
258
|
+
|
|
259
|
+
<a href="https://github.com/Luligu/matterbridge-webhooks">
|
|
260
|
+
<img src="frontend/public/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
261
|
+
</a>
|
|
262
|
+
|
|
263
|
+
Matterbridge BTHome allows you to expose any BTHome device to Matter using the native bluetooth of the host machine.
|
|
264
|
+
|
|
265
|
+
Features:
|
|
266
|
+
|
|
267
|
+
- The bluetooth works correctly on all platforms and is based on the @stoprocent fork of noble.
|
|
268
|
+
- The discovered BTHome devices are stored with all attributes to easily restart the plugin.
|
|
269
|
+
- The plugin has also a command line to test and verify the bluetooth adapter and the ble network.
|
|
270
|
+
|
|
219
271
|
### Accessory platform example
|
|
220
272
|
|
|
221
273
|
This is an example of an accessory platform plugin.
|
|
@@ -276,6 +328,12 @@ The history works in both bridge and childbridge mode.
|
|
|
276
328
|
|
|
277
329
|
The Eve app only shows the history when the plugins run like an AccessoryPlatform in childbridge mode (this means the plugin is paired directly).
|
|
278
330
|
|
|
331
|
+
## Third-party plugins
|
|
332
|
+
|
|
333
|
+
### [Loxone](https://github.com/andrasg/matterbridge-loxone)
|
|
334
|
+
|
|
335
|
+
A matterbridge plugin that allows connecting Loxone devices to Matter.
|
|
336
|
+
|
|
279
337
|
## How to install and add a plugin with the frontend (best option)
|
|
280
338
|
|
|
281
339
|
Just open the frontend on the link provided in the log, select a plugin and click install.
|
|
@@ -406,9 +464,29 @@ All issues have been solved from the version 17.5 of the HomePod/AppleTV. Now th
|
|
|
406
464
|
|
|
407
465
|
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.
|
|
408
466
|
|
|
467
|
+
### Manufacturer Serial Number and Model
|
|
468
|
+
|
|
469
|
+
The Home app forgets about them when you restart the node.
|
|
470
|
+
|
|
471
|
+
### Appliances
|
|
472
|
+
|
|
473
|
+
As of version 18.4.x, all Appliances device types are not supported by the Home app. They don't even appear like unsupported accessories.
|
|
474
|
+
|
|
475
|
+
### Robot
|
|
476
|
+
|
|
477
|
+
As of version 18.4.x, the Robot is supported by the Home app only as a single, non-bridged device or if it is the only device in the bridge.
|
|
478
|
+
|
|
479
|
+
If a Robot is present alongside other devices in the bridge, the entire bridge becomes unstable in the Home app.
|
|
480
|
+
|
|
481
|
+
### Concentration measurements clusters
|
|
482
|
+
|
|
483
|
+
As of version 18.4.x, all cluster derived from the concentration measurement cluster hang the Home app while pairing and the entire bridge becomes unstable in the Home app.
|
|
484
|
+
|
|
485
|
+
For example: air quality sensors with TVOC measurement or co sensors with CarbonMonoxide measurement.
|
|
486
|
+
|
|
409
487
|
## Home Assistant
|
|
410
488
|
|
|
411
|
-
So far is the only controller supporting some Matter 1.2 and 1.
|
|
489
|
+
So far is the only controller supporting some Matter 1.2, 1.3 and 1.4 device type:
|
|
412
490
|
|
|
413
491
|
- airQualitySensor code 0x002c (Matter 1.2)
|
|
414
492
|
- smokesmokeCoAlarm code 0x0076 (Matter 1.2)
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* This file contains the CLI entry point of Matterbridge.
|
|
4
|
+
*
|
|
5
|
+
* @file cli.ts
|
|
6
|
+
* @author Luca Liguori
|
|
7
|
+
* @date 2023-12-29
|
|
8
|
+
* @version 2.0.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License. *
|
|
23
|
+
*/
|
|
24
|
+
import { Matterbridge } from './matterbridge.js';
|
|
25
|
+
import { EventEmitter } from 'node:events';
|
|
26
|
+
export declare const cliEmitter: EventEmitter<[never]>;
|
|
27
|
+
export declare let instance: Matterbridge | undefined;
|
|
28
|
+
export declare let lastCpuUsage: number;
|
|
29
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,UAAU,uBAAqB,CAAC;AAE7C,eAAO,IAAI,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;AAQ9C,eAAO,IAAI,YAAY,QAAI,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,17 +1,44 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* This file contains the CLI entry point of Matterbridge.
|
|
4
|
+
*
|
|
5
|
+
* @file cli.ts
|
|
6
|
+
* @author Luca Liguori
|
|
7
|
+
* @date 2023-12-29
|
|
8
|
+
* @version 2.0.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License. *
|
|
23
|
+
*/
|
|
24
|
+
// Matterbridge
|
|
2
25
|
import { Matterbridge } from './matterbridge.js';
|
|
3
26
|
import { getIntParameter, hasParameter } from './utils/export.js';
|
|
27
|
+
// AnsiLogger module
|
|
4
28
|
import { AnsiLogger, BRIGHT, CYAN, db, YELLOW } from './logger/export.js';
|
|
5
29
|
import { EventEmitter } from 'node:events';
|
|
30
|
+
import { inspect } from 'node:util';
|
|
6
31
|
export const cliEmitter = new EventEmitter();
|
|
7
32
|
export let instance;
|
|
33
|
+
// Inspectop
|
|
8
34
|
let session;
|
|
35
|
+
// Cpu and memory check
|
|
9
36
|
let memoryCheckInterval;
|
|
10
37
|
let prevCpus;
|
|
11
38
|
export let lastCpuUsage = 0;
|
|
12
39
|
let peakCpu = 0;
|
|
13
40
|
let peakRss = 0;
|
|
14
|
-
const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4
|
|
41
|
+
const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: hasParameter('debug') ? "debug" /* LogLevel.DEBUG */ : "info" /* LogLevel.INFO */ });
|
|
15
42
|
const formatMemoryUsage = (bytes) => {
|
|
16
43
|
if (bytes >= 1024 ** 3) {
|
|
17
44
|
return `${(bytes / 1024 ** 3).toFixed(2)} GB`;
|
|
@@ -44,9 +71,11 @@ async function startCpuMemoryCheck() {
|
|
|
44
71
|
prevCpus = os.cpus();
|
|
45
72
|
clearInterval(memoryCheckInterval);
|
|
46
73
|
const interval = () => {
|
|
74
|
+
// Get the os uptime
|
|
47
75
|
const systemUptime = formatOsUpTime(Math.floor(os.uptime()));
|
|
48
76
|
const processUptime = formatOsUpTime(Math.floor(process.uptime()));
|
|
49
77
|
cliEmitter.emit('uptime', systemUptime, processUptime);
|
|
78
|
+
// Get the memory usage
|
|
50
79
|
const totalMememory = formatMemoryUsage(os.totalmem());
|
|
51
80
|
const freeMemory = formatMemoryUsage(os.freemem());
|
|
52
81
|
const memoryUsageRaw = process.memoryUsage();
|
|
@@ -58,10 +87,11 @@ async function startCpuMemoryCheck() {
|
|
|
58
87
|
if (memoryUsageRaw.rss > peakRss)
|
|
59
88
|
peakRss = memoryUsageRaw.rss;
|
|
60
89
|
cliEmitter.emit('memory', totalMememory, freeMemory, rss, heapTotal, heapUsed, external, arrayBuffers);
|
|
90
|
+
// Get the cpu usage
|
|
61
91
|
const currCpus = os.cpus();
|
|
62
92
|
let cpuUsageLog;
|
|
63
93
|
if (currCpus.length !== prevCpus.length) {
|
|
64
|
-
prevCpus = currCpus;
|
|
94
|
+
prevCpus = currCpus; // Reset the previous cpus
|
|
65
95
|
log.debug(`Cpu check length failed, resetting previous cpus`);
|
|
66
96
|
return;
|
|
67
97
|
}
|
|
@@ -87,6 +117,7 @@ async function startCpuMemoryCheck() {
|
|
|
87
117
|
cliEmitter.emit('cpu', lastCpuUsage);
|
|
88
118
|
}
|
|
89
119
|
prevCpus = currCpus;
|
|
120
|
+
// Show the cpu and memory usage
|
|
90
121
|
log.debug(`***${YELLOW}${BRIGHT}Cpu usage:${db} ${CYAN}${cpuUsageLog.padStart(6, ' ')} %${db} ${YELLOW}${BRIGHT}Memory usage:${db} rss ${CYAN}${rss}${db} heapTotal ${CYAN}${heapTotal}${db} heapUsed ${CYAN}${heapUsed}${db} external ${external} arrayBuffers ${arrayBuffers}`);
|
|
91
122
|
};
|
|
92
123
|
interval();
|
|
@@ -114,6 +145,7 @@ async function stopInspector() {
|
|
|
114
145
|
return;
|
|
115
146
|
}
|
|
116
147
|
try {
|
|
148
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
117
149
|
const result = await new Promise((resolve, reject) => {
|
|
118
150
|
session?.post('HeapProfiler.stopSampling', (err, result) => (err ? reject(err) : resolve(result)));
|
|
119
151
|
});
|
|
@@ -158,6 +190,7 @@ async function restart() {
|
|
|
158
190
|
}
|
|
159
191
|
async function update() {
|
|
160
192
|
log.debug('Received update event, updating...');
|
|
193
|
+
// TODO: Implement update logic outside of matterbridge
|
|
161
194
|
instance = await Matterbridge.loadInstance(true);
|
|
162
195
|
registerHandlers();
|
|
163
196
|
}
|
|
@@ -177,6 +210,7 @@ async function main() {
|
|
|
177
210
|
log.debug(`***Matterbridge.loadInstance(true) called`);
|
|
178
211
|
instance = await Matterbridge.loadInstance(true);
|
|
179
212
|
log.debug(`***Matterbridge.loadInstance(true) exited`);
|
|
213
|
+
// Check if the instance needs to shut down from parseCommandLine()
|
|
180
214
|
if (!instance || instance.shutdown) {
|
|
181
215
|
shutdown();
|
|
182
216
|
}
|
|
@@ -184,7 +218,11 @@ async function main() {
|
|
|
184
218
|
registerHandlers();
|
|
185
219
|
}
|
|
186
220
|
}
|
|
221
|
+
// Run the main function
|
|
187
222
|
process.title = 'matterbridge';
|
|
188
223
|
main().catch((error) => {
|
|
189
|
-
|
|
224
|
+
const errorMessage = error instanceof Error ? error.message : error;
|
|
225
|
+
const errorInspect = inspect(error, { depth: 10 });
|
|
226
|
+
log.error(`Matterbridge.loadInstance() failed with error: ${errorMessage}\nstack: ${errorInspect}`);
|
|
190
227
|
});
|
|
228
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/cluster/export.ts"],"names":[],"mappings":""}
|
package/dist/cluster/export.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/cluster/export.ts"],"names":[],"mappings":";AAAA,oGAAoG"}
|