Giter VIP home page Giter VIP logo

matterbridge's People

Contributors

dlo9 avatar luligu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

matterbridge's Issues

[Feature Request] Remote API

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.

[Bug] Empty devices page with lights supporting color

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:

  • matterbridge-zigbee2mqtt 2.1.8
  • matterbridge-home-assistant 2.1.0

Note: the install is a little different using this package.json workaround

Shutter opening/closing state in Apple Home

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?

Configuration of globalModulesDirectory is not timed properly

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:

  1. 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.

  2. 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.

running matter

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 ?

MatterBridge didn't reconnect to home Assistant matter server after restart

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

Home Assistant Integration

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 entities (light.) including on-off, brightness and hue & saturation control
  • Switch entities (switch.) including on-off control
  • Media Players (media_player.) are mapped to Switches and currently only support on-off control

Next 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.

Error installing matterbridge as a daemon

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.
Error

Unable to update MatterBridge

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.
Screenshot 2024-07-02 at 9 44 41 AM

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.

Set log level of AnsiLogger to "INFO" when "-debug" is not set

At the moment the "-debug" flag seems to have the following effects:

Anyway every log written to this.log.debug gets printed, even when -debug is not set.

It would be nice if:

  1. the absence of the debug flag configures ansi logger to NOT print debug logs
  2. OR EVEN BETTER a general -log [debug|info|warn|error] option could be added which configures BOTH loggers properly

Thank you!

matterbridge with z2m - issues with device recognition and matter descriptors.

Discussed in #16

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.

macOS Support

Will macOS be added at some point? so that it can be installed as a service.

Docker Endless restart loop. Missing file.

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"

Startup crash with 1.3.5+

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.

Running Docker Image in Kubernetes, frontend ip address is for pod

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 save errors

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

[Frontend]: Text below QR code overflows

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:

image

Here is what it looks like on my machine:

image

I think just removing the height: 40px here should be enough to just let the components flow as intended.

height: 40px;

With it removed:

image

Use the current URL to determine whether to open a secure websocket connection

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://?

image

Google Home - Devices Offline

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:

google-home-devices

(For now I'm using whitelist to expose only 1 Zigbee device for testing)

MatterBridge WebUI:

image

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.

[Feature Request] Home Assistant add-on

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

How to install HomeBridge Plugin?

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

Installation error npm ERR! Cannot set properties of null (setting 'dev')

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

Fan support

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!

matterbridge device recognition from z2m

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.

Homebridge + Matterbridge

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?

controller cannot commissioning matter bridge device

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 

Error on start: empty storage file

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.

Trying to Pair With Google after Apple Home

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.

Startup crash using Docker

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"]}

Accessory Not Found

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

  • Reset my router
  • Reboot my phone
  • Reboot my HomePod Mini
  • Reset Matterbridge Commissioning
  • Changed to a WiFi Network that uses only 2.4Ghz
  • Removed all firewall rules to ensure nothing is blocked

Using the following devices

  • iPhone 15 Pro Max
  • Apple HomePod Mini

Plugins break when docker compose recreates container

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. 

throw new StorageError("The storage needs to be initialized first!");

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

LG WebOS TV Matter Hub "Device not Supported"

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.