luligu / matterbridge Goto Github PK
View Code? Open in Web Editor NEWMatterbridge plugin manager for Matter
Home Page: https://github.com/Luligu/matterbridge/blob/main/README.md
License: Apache License 2.0
Matterbridge plugin manager for Matter
Home Page: https://github.com/Luligu/matterbridge/blob/main/README.md
License: Apache License 2.0
It would be nice to have an API to extend the matter bridge without having to write a plugin in javascript. Maybe because bindings to whatever you want to add only exist in other languages or (in my case) for people who do not know Javascript.
Similar to the home assistant matter server there could be a JSON websocket API to add/remove devices, change their state and receive notifications from a matter controller. Or an MQTT plugin independent of zigbee2mqtt to add external devices.
Hello, I found that Matterbridge cannot connect to Tuya/smartlife and Aqara, and an error will be prompted. I guess could it be the reason that there is no Matter certification? Are there any other solutions?
After updating to 1.4.0, everything is still working with Alexa but when I go to the devices page nothing is shown. I'm not sure if this is more on the plugin side (t0bst4r/matterbridge-home-assistant#215), but this error is being thrown from the main matterbridge.js:
Jul 24 18:31:31 chip matterbridge[160]: TypeError: clusterServer.getCurrentHueAttribute is not a function
Jul 24 18:31:31 chip matterbridge[160]: at file:///home/mb/node_modules/matterbridge/dist/matterbridge.js:3089:64
Jul 24 18:31:31 chip matterbridge[160]: at Array.forEach (<anonymous>)
Jul 24 18:31:31 chip matterbridge[160]: at Matterbridge.getClusterTextFromDevice (file:///home/mb/node_modules/matterbridge/dist/matterbridge.js:3074:24)
Jul 24 18:31:31 chip matterbridge[160]: at file:///home/mb/node_modules/matterbridge/dist/matterbridge.js:2751:38
Jul 24 18:31:31 chip matterbridge[160]: at Array.forEach (<anonymous>)
Jul 24 18:31:31 chip matterbridge[160]: at file:///home/mb/node_modules/matterbridge/dist/matterbridge.js:2741:36
Jul 24 18:31:31 chip matterbridge[160]: at Layer.handle [as handle_request] (/home/mb/node_modules/express/lib/router/layer.js:95:5)
Jul 24 18:31:31 chip matterbridge[160]: at next (/home/mb/node_modules/express/lib/router/route.js:149:13)
Jul 24 18:31:31 chip matterbridge[160]: at Route.dispatch (/home/mb/node_modules/express/lib/router/route.js:119:3)
Jul 24 18:31:31 chip matterbridge[160]: at Layer.handle [as handle_request] (/home/mb/node_modules/express/lib/router/layer.js:95:5)
Plugins:
Note: the install is a little different using this package.json workaround
Hi,
I'm not sure wether it's a Matter issue, or maybe Apple/matterbridge/zigbee2mqtt, but I'm experiencing an issue where the Shutters are always showing "opening..." or "closing...". it seems like the status is reported correctly in z2m and also in Home Assistant integrated with matterbridge, I even tried to export the 2 shutters I have from homeassistant (via matterbridge) back to HomeKit and than I get the status reported correctly with the opening/closing state stuck.
do you think it's something you could look into?
do you need anything from me?
The matterbridge -add
commands expects globalModulesDirectory
to be already set when adding a new plugin.
This blocks adding plugins before starting the bridge for the first time.
I am currently building an alpine docker image using my newly created matterbridge-home-assistant
plugin.
Therefore I want to install and add the plugin before starting the bridge.
At the moment I have two options to solve this:
run timeout 5s matterbridge -bridge
during the docker build process. This starts the bridge and creates all the storage files. After 5 seconds it gets killed. Then the globalModulesDirectory
is available.
Create the storage entry by hand using
RUN mkdir -p /root/.matterbridge/storage/.matterbridge
RUN echo '{"key":"globalModulesDirectory","value":"/usr/local/lib/node_modules"}' > /root/.matterbridge/storage/.matterbridge/d01917a070027b55bce538a96fa2004f061de6fe1644f402a321c6db8c71b9ba
Instead matterbridge should be able to add plugins before starting for the first time. This will probably implicitly work, when the globalModulesDirectory
is determined correctly.
For me it looks like having an await here could already fix the problem.
hi and many thanks for this great work , is there a way to run matter bridge without seeing the log ? when i run matterbridge -bridge it keep showing the output which is normal i know , but can i run the command without seeing output so that i can still be able to use the terminal ?
Hello, I actually don't really know if this issue should goes here or I have to create it in python matter server repository.
Given:
Home Assistant 2024.5
Python matter server 6.0.1
Yeelight matter hub
Moes matter hub
MatterBridge 1.2.17
MatterBridge zigbee2mqtt plugin 2.0.14
When I power-off / power-on yeelight or moes matter hubs then they reconnect to HA matter server without any problem
When I restart MatterBridge, then MatterBridge and provided devices becomes unavailable until I manually restart HA Matter Server.
After HA Matter Server restart devices are back and works fine until MatterBridge restart, I've tested they are worked without any issues for at least a weak
Hey @Luligu,
I just wanted to let you know, that I am currently working on a Home Assistant Integration, which was requested in the home assistant community.
It currently supports the following devices:
light.
) including on-off, brightness and hue & saturation controlswitch.
) including on-off controlmedia_player.
) are mapped to Switches and currently only support on-off controlNext step will be to build a docker image (or add my plugin to yours?) and then wrap it into a ready-to-use HomeAssistant AddOn.
Hi, I have followed the exact steps to install matterbridge as a daemon in Linux but I get an error, see the screenshot attached. The WEB UI is also not available. If I ssh and run matterbridge -bridge everything works and I can access the GUI but once I hit ctrl-c to stop it in the terminal it becomes unresponsive.
Unable to update MatterBridge from the web interface. Installed via tteck proxmox help script. Selecting the update button starts the process and either crashes the WebUI, requiring a restart of the LXC or refreshes the screen without update installed.
additionally from the console of the LXC running the command update is stated to be an additional method to update, however, this has also never worked for me. Error message below:
place matterbridge-1.3.8/yellow-button.png? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
mv: 'matterbridge-1.3.8' and '/opt/matterbridge/matterbridge-1.3.8' are the same file[ERROR] in line 69: exit code 0: while executing command mv matterbridge-${RELEASE} /opt/matterbridge
I can install and update plugins, using matterbridge-shelly and have successfully updated via Webui through multiple versions.
At the moment the "-debug" flag seems to have the following effects:
defaultLogLevel
for the Logger
from matter.js (example here)logDebug
for the AnsiLogger
(example here)Anyway every log written to this.log.debug
gets printed, even when -debug
is not set.
It would be nice if:
-log [debug|info|warn|error]
option could be added which configures BOTH loggers properlyThank you!
Originally posted by jpadie April 26, 2024
z2m configured and working fine for ages.
matterbridge installs ok. idem the plugin.
plugin configured with mqtt details.
however in the matterbridge front end the z2m plugin is showing zero devices, although two are registered on the z2m front end. messages come in via mqtt and are shown in the logs as warnings.
took a few minutes for the devices in z2m to be found by matterbridge. in the meantime mqtt messages showed in the logs as warning.
the two devices on the coordinator are a sonoff temp and humidity sensor and a 2-gang dimmer module.
the temp and humidity module correctly shows its data on the matterbridge front end. but alexa only sees the temperature. despite alexa docs there is a good device ui available for atmospheric information sensors since this module can be paired directly to alexa and is represented on a reasonable gui rather than as two separate devices.
the coordinator appears to be shown in alexa and in the matterbridge front end as a door lock. clearly this is not correct. there is no reason for the coordinator to be published in alexa at all, imo.
the 2 gang dimmer module is exposed to alexa as two lights; one responsive device that has no dimmer capability and one device that is unresponsive. matterbridge describes the module as a "bridgedevice-0x00013" and shows no useful information in the cluster column. both gangs work perfectly with Z2M. this is a TuYa device, by the way.
so there are two devices in Z2M. matterbridge records 3 and reports to alexa that there are 5. that probably makes sense if the matterbridge is reporting the temp and humidity sensor as two separate clusters rather than combined (alexa does support combined devices now, from memory).
happy to provide more material if that is helpful in debugging. will try to convert this to an issue.
Will macOS be added at some point? so that it can be installed as a service.
sudo journalctl -f -u containerd
Apr 25 16:52:06 pi3 containerd[1010]: time="2024-04-25T16:52:06.114888515-04:00" level=warning msg="cleanup warnings time="2024-04-25T16:52:06-04:00" level=info msg="starting signal loop" namespace=moby pid=22000 runtime=io.containerd.runc.v2\n"
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.183769555-04:00" level=info msg="loading plugin "io.containerd.event.v1.publisher"..." runtime=io.containerd.runc.v2 type=io.containerd.event.v1
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.184311455-04:00" level=info msg="loading plugin "io.containerd.internal.v1.shutdown"..." runtime=io.containerd.runc.v2 type=io.containerd.internal.v1
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.184375454-04:00" level=info msg="loading plugin "io.containerd.ttrpc.v1.task"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.185146481-04:00" level=info msg="starting signal loop" namespace=moby path=/run/containerd/io.containerd.runtime.v2.task/moby/3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217 pid=22344 runtime=io.containerd.runc.v2
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.381230782-04:00" level=warning msg="error from *cgroupsv2.Manager.EventChan" error="failed to add inotify watch for "/sys/fs/cgroup/system.slice/docker-3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217.scope/memory.events": no such file or directory"
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.438649971-04:00" level=info msg="shim disconnected" id=3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.439030651-04:00" level=warning msg="cleaning up after shim disconnected" id=3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217 namespace=moby
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.439094853-04:00" level=info msg="cleaning up dead shim"
Apr 25 16:53:06 pi3 containerd[1010]: time="2024-04-25T16:53:06.468233201-04:00" level=warning msg="cleanup warnings time="2024-04-25T16:53:06-04:00" level=info msg="starting signal loop" namespace=moby pid=22386 runtime=io.containerd.runc.v2\n"
Apr 25 16:54:08 pi3 containerd[1010]: time="2024-04-25T16:54:08.041648455-04:00" level=info msg="loading plugin "io.containerd.event.v1.publisher"..." runtime=io.containerd.runc.v2 type=io.containerd.event.v1
Apr 25 16:54:08 pi3 containerd[1010]: time="2024-04-25T16:54:08.042233466-04:00" level=info msg="loading plugin "io.containerd.internal.v1.shutdown"..." runtime=io.containerd.runc.v2 type=io.containerd.internal.v1
Apr 25 16:54:08 pi3 containerd[1010]: time="2024-04-25T16:54:08.042306039-04:00" level=info msg="loading plugin "io.containerd.ttrpc.v1.task"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
Apr 25 16:54:08 pi3 containerd[1010]: time="2024-04-25T16:54:08.043167231-04:00" level=info msg="starting signal loop" namespace=moby path=/run/containerd/io.containerd.runtime.v2.task/moby/3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217 pid=22721 runtime=io.containerd.runc.v2
Apr 25 16:54:08 pi3 containerd[1010]: time="2024-04-25T16:54:08.878390714-04:00" level=warning msg="error from *cgroupsv2.Manager.EventChan" error="failed to add inotify watch for "/sys/fs/cgroup/system.slice/docker-3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217.scope/memory.events": no such file or directory"
Apr 25 16:54:09 pi3 containerd[1010]: time="2024-04-25T16:54:09.423631174-04:00" level=info msg="shim disconnected" id=3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217
Apr 25 16:54:09 pi3 containerd[1010]: time="2024-04-25T16:54:09.479496544-04:00" level=warning msg="cleaning up after shim disconnected" id=3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217 namespace=moby
Apr 25 16:54:09 pi3 containerd[1010]: time="2024-04-25T16:54:09.479554673-04:00" level=info msg="cleaning up dead shim"
Apr 25 16:54:09 pi3 containerd[1010]: time="2024-04-25T16:54:09.510272977-04:00" level=warning msg="cleanup warnings time="2024-04-25T16:54:09-04:00" level=info msg="starting signal loop" namespace=moby pid=22764 runtime=io.containerd.runc.v2\n"
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.621137720-04:00" level=info msg="loading plugin "io.containerd.event.v1.publisher"..." runtime=io.containerd.runc.v2 type=io.containerd.event.v1
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.621646658-04:00" level=info msg="loading plugin "io.containerd.internal.v1.shutdown"..." runtime=io.containerd.runc.v2 type=io.containerd.internal.v1
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.621713268-04:00" level=info msg="loading plugin "io.containerd.ttrpc.v1.task"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.622509739-04:00" level=info msg="starting signal loop" namespace=moby path=/run/containerd/io.containerd.runtime.v2.task/moby/3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217 pid=23095 runtime=io.containerd.runc.v2
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.836823972-04:00" level=warning msg="error from *cgroupsv2.Manager.EventChan" error="failed to add inotify watch for "/sys/fs/cgroup/system.slice/docker-3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217.scope/memory.events": no such file or directory"
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.889898394-04:00" level=info msg="shim disconnected" id=3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.890086484-04:00" level=warning msg="cleaning up after shim disconnected" id=3db9f248d6a14f9a83dcfef5f619edecfee6b20fca2818bd083d33da21191217 namespace=moby
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.890177798-04:00" level=info msg="cleaning up dead shim"
Apr 25 16:55:09 pi3 containerd[1010]: time="2024-04-25T16:55:09.923019441-04:00" level=warning msg="cleanup warnings time="2024-04-25T16:55:09-04:00" level=info msg="starting signal loop" namespace=moby pid=23140 runtime=io.containerd.runc.v2\n"
Hey I'm getting startup crashes with the latest releases, going back to 1.3.4 resolves it:
Jun 30 08:16:32 chip matterbridge[6899]: [08:16:32.575] [Matterbridge] Matter server started
Jun 30 08:16:32 chip matterbridge[6899]: [08:16:32.576] [Matterbridge] The commissioning server on port 5541 for matterbridge-zigbee2mqtt is already commissioned. Waiting for controllers to connect ...
Jun 30 08:16:32 chip matterbridge[6899]: [08:16:32.576] [Matterbridge] Commissioned fabric information:
Jun 30 08:16:32 chip matterbridge[6899]: [08:16:32.576] [Matterbridge] - fabric index 1 id <snip> vendor 4631 (Alexa) Alexa-1
Jun 30 08:16:32 chip matterbridge[6899]: /usr/lib/node_modules/matterbridge/node_modules/node-persist/src/local-storage.js:449
Jun 30 08:16:32 chip matterbridge[6899]: return this.options.stringify(obj);
Jun 30 08:16:32 chip matterbridge[6899]: ^
Jun 30 08:16:32 chip matterbridge[6899]: TypeError: Do not know how to serialize a BigInt
Jun 30 08:16:32 chip matterbridge[6899]: at Object.stringify (<anonymous>)
Jun 30 08:16:32 chip matterbridge[6899]: at LocalStorage.stringify (/usr/lib/node_modules/matterbridge/node_modules/node-persist/src/local-storage.js:449:23)
Jun 30 08:16:32 chip matterbridge[6899]: at LocalStorage.copy (/usr/lib/node_modules/matterbridge/node_modules/node-persist/src/local-storage.js:469:26)
Jun 30 08:16:32 chip matterbridge[6899]: at LocalStorage.setItem (/usr/lib/node_modules/matterbridge/node_modules/node-persist/src/local-storage.js:179:20)
Jun 30 08:16:32 chip matterbridge[6899]: at NodeStorage.set (file:///usr/lib/node_modules/matterbridge/node_modules/node-persist-manager/dist/nodeStorage.js:148:35)
Jun 30 08:16:32 chip matterbridge[6899]: at Matterbridge.showCommissioningQRCode (file:///usr/lib/node_modules/matterbridge/dist/matterbridge.js:1969:37)
Jun 30 08:16:32 chip matterbridge[6899]: at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Jun 30 08:16:32 chip matterbridge[6899]: at async Timeout.<anonymous> (file:///usr/lib/node_modules/matterbridge/dist/matterbridge.js:1799:21)
After getting that it then can't restart at all:
Jun 30 08:17:23 chip matterbridge[7099]: CLI: Matterbridge.loadInstance() failed with error: Error: [node-persist][readFile] /home/mb/.matterbridge/storage/.matterbridge/c6724947ca70506d3d4794dd710813af1a1ef8e646852dba3fe0dea6a2aa7911 does not look like a valid storage file!
The file is 0 bytes, after deleting it and going back to 1.3.4 it contains:
{"key":"matterbridgeLatestVersion","value":"1.3.7"}
I'm running in childbridge mode with the latest matterbridge-zigbee2mqtt (2.1.4) and matterbridge-home-assistant (1.3.6) plugins. I don't see any obvious BigInt changes, let me know any other info you need.
I've deployed matterbridge (specifically, matterbridge-home-assistant) with a helm chart. The web interface comes up no problem, however, it cannot connect to the web socket. The wssHost is set to the pod IP address, not the service or load balancer or ingress. There doesn't seem to be a way to override this.
Can you provide any guidance on how I would go about configuring this correctly?
matterbridge.json is often saved as a zero length file necessitating replacing it with matterbridge.backup.json.
I don't know the reason this happens but can it be fixed so it does not happen? Might be related to installing updates?
Kevin
I see that in your screenshots it does not seem to happen, but on my machine the text below QR is overflowing it's container. I'm guessing that is maybe cause I'm on a mac and a different font family is used on my system due to this:
Here is what it looks like on my machine:
I think just removing the height: 40px
here should be enough to just let the components flow as intended.
matterbridge/frontend/src/App.css
Line 265 in 0452b2e
With it removed:
I see that an insecure websocket connection is opened from WebSocketUse.js
regardless of whether the application is accessed over SSL or not. Instead this is decided by a value returned from the call to /api/settings
.
This causes a problem when accessing over a reverse proxy via SSL. Can we use the window.location.protocol
to determine whether to use ws://
or wss://
?
After following the setup instructions, I was able to add the MatterBridge Aggregrator in Google Home.
However, even though no errors are displaying in the MatterBridge interface, the devices themselves stay offline in the Google Home app:
(For now I'm using whitelist to expose only 1 Zigbee device for testing)
MatterBridge WebUI:
I'm not sure how to debug this issue, if its a configuration problem or a bug? Happy to provide more debug logs if required.
Hello,
I would like to know if it would be possible to implement MatterBridge as a Home Assistant add-on...
I have a Raspberry Pi 4 running HAOS, and I would like to also run matterbridge alongside HA, which would be possible by using an add-on.
Best regards
Aaron Eisele
I am missing information on how to install the existing Homebridge Plugin. As stated in Readme, we can use the existing Homebridge plugin without any code modification. I have tried using the NPMjs plugin path to install the plugin but with no success.
Kindly share More information on this, please
When trying to install matterbridge on raspbian I get: npm ERR! Cannot set properties of null (setting 'dev')
Here are the details from the log file:
471 timing build:link:node_modules/matterbridge Completed in 20ms
472 timing build:link Completed in 22ms
473 timing build:deps Completed in 65ms
474 timing build:queue Completed in 1ms
475 timing build:links Completed in 1ms
476 timing build Completed in 72ms
477 timing reify:build Completed in 77ms
478 timing reify:trash Completed in 1184ms
479 timing command:install Completed in 41885ms
480 verbose stack TypeError: Cannot set properties of null (setting 'dev')
480 verbose stack at calcDepFlagsStep (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js:34:21)
480 verbose stack at visit (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js:12:20)
480 verbose stack at visitNode (/usr/lib/node_modules/npm/node_modules/treeverse/lib/depth-descent.js:58:25)
480 verbose stack at next (/usr/lib/node_modules/npm/node_modules/treeverse/lib/depth-descent.js:44:19)
480 verbose stack at depth (/usr/lib/node_modules/npm/node_modules/treeverse/lib/depth-descent.js:83:10)
480 verbose stack at depth (/usr/lib/node_modules/npm/node_modules/treeverse/lib/depth.js:27:12)
480 verbose stack at calcDepFlags (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js:10:15)
480 verbose stack at [copyIdealToActual] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:1551:7)
480 verbose stack at Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:172:35)
480 verbose stack at async Install.exec (/usr/lib/node_modules/npm/lib/commands/install.js:153:5)
481 verbose cwd /home/pi
482 verbose Linux 5.10.103-v7+
483 verbose node v18.17.1
484 verbose npm v10.5.0
485 error Cannot set properties of null (setting 'dev')
486 verbose exit 1
Hey we're stirring up interest with the addition of the home assistant plugin and it's working well for people so far. I was asking about potential support for fans and realized that may need to be added here first. Is that the case or could it be implemented directly in a plugin?
Thanks again!
reopening issue 17. issue remains unresolved.
recap:
2 gang zigbee dimmer module is recognised perfectly by Z2M. on/off and dimmer functionality is available.
matterbridge-z2m ingests the device as a composed light and assigns a device type of 0x0013.
the composed device is then picked up by alexa as a composed pair of lights however no dimmer functionality is exposed.
Have you had any thought of merging them together? Implementing all of the matter functionality into Homebridge so a developer could update their plugin to use either or?
Originally posted on the home assistant plugin repo, but it's a problem even with no plugins so posting it here
t0bst4r/matterbridge-home-assistant#93
I've set up matterbridge and all my HA devices show up, but when trying to add it to Google Home with my iPhone, it fails.
Debug logs attached (they didn't fit)
matterbridge-logs.txt
using latest version pulled today from the repo.
alexa cannot find the matter bridge from the QR code and I can see on the raspberry pi that port 5540 is not being bound by matterbridge (nor by any other device).
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 12768 622/dhcpcd
udp 0 0 0.0.0.0:5550 0.0.0.0:* 1000 21927 624/matterbridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1000 22360 624/matterbridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1000 22358 624/matterbridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1000 22356 624/matterbridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1000 21915 624/matterbridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1000 21907 624/matterbridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 108 10550 238/avahi-daemon: r
udp 0 0 0.0.0.0:33819 0.0.0.0:* 108 10552 238/avahi-daemon: r
udp6 0 0 :::52844 :::* 108 10553 238/avahi-daemon: r
udp6 0 0 :::5550 :::* 1000 21926 624/matterbridge
udp6 0 0 :::5353 :::* 1000 22361 624/matterbridge
udp6 0 0 :::5353 :::* 1000 22359 624/matterbridge
udp6 0 0 :::5353 :::* 1000 22357 624/matterbridge
udp6 0 0 :::5353 :::* 1000 21916 624/matterbridge
udp6 0 0 :::5353 :::* 1000 21908 624/matterbridge
udp6 0 0 :::5353 :::* 108 10551 238/avahi-daemon: r
Sometimes I cannot start matterbridge. I get the following error:
CLI: Matterbridge.loadInstance() failed with error: Error: [node-persist][readFile] /home/dirk/.matterbridge/storage/.matterbridge/92cd10e6b8b068a931196d1d73a032543d5ca1a5bf445e27a1af74258254517c does not look like a valid storage file!
The file is 0 bytes. If I delete the empty file, matterbridge starts but misses its only plugin zigbee2mqtt.
I do not have any useful debug from the previous session. I start matterbridge with systemd and the colored output is not readable with systemd status.
Hi, I'm trying to pair the bridge with Google Home after I got it paired with Apple Home.
I've turned on pairing mode in Apple Home and when trying to pair from Google I see the following error in the logs:
2024-04-11 15:23:26.393 ERROR InteractionMessenger RetransmissionLimitReachedError
at MessageExchange.retransmitMessage (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/MessageExchange.js:274:36)
at TimerNode.callback (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/MessageExchange.js:294:20)
at Timeout._onTimeout (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter-node.js/dist/esm/time/TimeNode.js:51:12)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7)
2024-04-11 15:23:26.395 ERROR ExchangeManager The previous message has not been acked yet, cannot send a new message.
at MessageExchange.send (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/MessageExchange.js:182:13)
at InteractionServerMessenger.send (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/interaction/InteractionMessenger.js:61:26)
at InteractionServerMessenger.sendStatus (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/interaction/InteractionMessenger.js:64:17)
at InteractionServerMessenger.handleRequest (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/interaction/InteractionMessenger.js:158:20)
at async InteractionServer.onNewExchange (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/interaction/InteractionServer.js:72:5)
at async ExchangeManager.onMessage (file:///usr/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/protocol/ExchangeManager.js:173:9)
In the app it says that I might need to restart the bridge.
Hi, I'm having issues deploying versions from 1.3.5 to 1.3.10. (I haven't tested earlier versions).
Here are my logs:
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
CLI: Matterbridge.loadInstance() failed with error: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
I also attach my docker-compose.yaml file:
version: "3"
services:
matter-bridge:
image: luligu/matterbridge:${VERSION-latest}
container_name: matter-bridge
restart: always
volumes:
- ${PLUGIN_PATH}:/Matterbridge
- ${STORAGE_PATH}:/.matterbridge
environment:
PUID: ${PUID-1000}
PGID: ${PGID-1000}
user: ${PUID-1000}:${PGID-1000}
network_mode: host
Upon reviewing the generated folders, I found only the following file with this content:
File: 0d0a2ac6163e36f3f2349c77671004edfe3d5e1abbef93cbb583acec8d01481b
Content:
{"key":"storageNames","value":["matterbridge"]}
I've installed the latest version of matterbridge with the latest version of npm and it starts perfectly fine.
No addons have been installed yet but when I try to add the bridge to HomeKit I'm presented with an "Accessory not found" error - I've tried the following
Using the following devices
Has anyone developed a working docker-compose.yml ?
When docker compose recreates my container (for example after editing the environment variables or command), the plugins break, seemingly because the node_modules
folder was reset
matterbridge:
environment:
HOME_ASSISTANT_URL: 'http://192.168.2.4:8123'
HOME_ASSISTANT_ACCESS_TOKEN: "*********"
HOME_ASSISTANT_CLIENT_CONFIG: |
{
"includeDomains": ["light", "fan"],
"includePatterns": ["switch.sound_machine", "binary_sensor.*_door"]
}
container_name: matterbridge
command: ["matterbridge", "-bridge", "-docker", "-mdnsinterface eno1"]
image: luligu/matterbridge:latest # Matterbridge image with the latest tag
network_mode: host # Ensures the Matter mdns works
restart: always # Ensures the container always restarts automatically
volumes:
- "${HOME}/homeassistant/config/matterbridge/plugins:/root/Matterbridge" # Mounts the Matterbridge plugin directory
- "${HOME}/homeassistant/config/matterbridge/storage:/root/.matterbridge" # Mounts the Matterbridge storage directory
Error logs:
[00:10:35.749] [Matterbridge] Matterbridge version 1.3.9 mode bridge restart mode docker running on Linux 6.1.0-21-amd64 linux x64
[00:10:35.818] [Matterbridge] The frontend http server is listening on http://172.19.0.1:8283
[00:10:35.819] [Matterbridge] The WebSocketServer is listening on ws://172.19.0.1:8283
[00:10:35.826] [Matterbridge] Loading plugin matterbridge-home-assistant type DynamicPlatform
[00:10:35.829] [Matterbridge] Failed to load plugin matterbridge-home-assistant: Error: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/matterbridge-home-assistant/package.json'
[00:10:36.376] [Matterbridge] The plugin matterbridge-home-assistant is up to date. Current version: 1.5.2, Latest version: 1.5.2
[00:10:36.827] [Matterbridge] The plugin matterbridge-home-assistant is in error state.
[00:10:36.827] [Matterbridge] The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.
[00:10:36.827] [Matterbridge] If you want to start the bridge disable the plugin in error state and restart.
this is the msg i got from log upon starting
(The commissioning server for Matterbridge is already commissioned. Waiting for controllers to connect)
is there anyway to force commission again ?
many thanks bro
I get this error now with :dev. What do I have to do?
matterbridge | [23:29:22.680] [Matterbridge] Matterbridge version 1.2.13 mode bridge restart mode docker running on Linux 6.1.28-v8+ linux arm
matterbridge | [23:29:22.694] [Matterbridge] Storage initialize() error!
matterbridge | [23:29:22.697] [Matterbridge] Storage initialize() error!
matterbridge | file:///app/node_modules/@project-chip/matter.js/dist/esm/storage/StorageManager.js:28
matterbridge | throw new StorageError("The storage needs to be initialized first!");
matterbridge | ^
matterbridge |
matterbridge | StorageError: The storage needs to be initialized first!
matterbridge | at StorageManager.createContext (file:///app/node_modules/@project-chip/matter.js/dist/esm/storage/StorageManager.js:28:13)
matterbridge | at Matterbridge.createCommissioningServerContext (file:///app/dist/matterbridge.js:1763:52)
matterbridge | at Matterbridge.parseCommandLine (file:///app/dist/matterbridge.js:377:47)
matterbridge |
matterbridge | Node.js v20.12.2
pi@pi3:~/.matterbridge $ ll
total 32
-rw-r--r-- 1 root root 8077 May 3 16:57 matterbridge.backup.json
-rw-r--r-- 1 root root 68 Apr 28 13:19 matterbridge-eve-door.config.json
-rw-r--r-- 1 root root 70 Apr 28 13:19 matterbridge-eve-energy.config.json
-rw-r--r-- 1 root root 70 Apr 28 13:19 matterbridge-eve-motion.config.json
-rw-r--r-- 1 root root 68 Apr 28 13:19 matterbridge-eve-room.config.json
-rw-r--r-- 1 root root 71 Apr 28 13:19 matterbridge-eve-weather.config.json
-rw-r--r-- 1 root root 0 May 3 23:05 matterbridge.json
drwxr-xr-x 8 root root 4096 Apr 28 11:30 storage
pi@pi3:~/matterbridge $ ll
total 4
-rw-r--r-- 1 pi pi 466 Apr 28 11:02 docker-compose.yml
services:
matterbridge:
container_name: matterbridge
image: luligu/matterbridge:dev # Matterbridge image with the latest tag
network_mode: host # Ensures the Matter mdns works
restart: always # Ensures the container always restarts automatically
volumes:
- "${HOME}/matterbridge:/root/matterbridge" # Mounts the Matterbridge plugin directory
- "${HOME}/.matterbridge:/root/.matterbridge" # Mounts the Matterbridge storage directory
Hello,
I just have discovered your app and wanted to test it with my new WebOS G4 Series with Matter Hub build in.
I have only exposed a Bulb and tried to connect it to the TV.
Unfortunaly the LG Thinq app says "device not supported".
Is there anything I can do against it? It seems like I'm the first person who tries matterbridge with an LG OLED TV.
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.