SOLVED: changed the docker network setting to: host NOTE: I think there is a conflict between the iHost built in Matter bridge and luligu/matterbridge running in a docker. I am testing a new version of matterbridge with configurable network port. Will update this thread on progress.
I have some Shelly devices. There is a lightweight matterbridge docker, luligu/matterbridge which I was able to install and access it’s web interface (i set the Host Port and Add-on Port to do so.) The matter bridge needs an additional port opened so I tried to add the docker command option “–expose” but I get an error when I have this option added to the docker configuration “Command” field. The error is:
2024-11-25T23:03:49 node: bad option: --expose 8285
Is there a way to add more ports or a range of open ports?
Yes, setting Network to “host” is the solution. There is another problem, when luligu/matterbridge is running, the iHost native Matter Bridge no longer functions properly. I suspect you cannot have two Matter bridges running on one host IP. Anyone know for sure?
Apple HomeKit is the primary way I control my home devices (using Home app.)
I have iHost as the hub I use to integrate non-HomeKit devices. I use Homebridge on iHost to integrate most of my non-HomeKit WIFI devices. I’ve enabled the Matter Bridge feature included in iHost as a way of integrating an IKEA roller shade and a Sonoff ZBMini module. I love that iHost integrates devices beyond what Homebridge can because it has a Zigbee stack and the software to do it!
Homebridge is an invaluable part of my Apple Home setup. It has integrated all my WIFI/network devices except for when I unknowingly added a Shelly 2PM Gen3 to my home. (I have 7 Shelly modules of various generations currently controlled by two Homebridge plugins because different Shelly generations have separate plugins.) The Shelly gen3 device is not currently supported by any Homebridge plugin at this time (and may never be.)
Shelly recommends luligu/matterbridge as a new solution for integrating all of their devices. Seems promising as it can discover and control all generations of Shelly devices and expose them to matter.
SO, I setup luligu/matterbridge on iHost, got it running with its web gui. Added the matterbridge-shellp plugin and it discovered all my Shelly devices. Next step was to disable the Shelly Homebridge plugin(s) and then add the luligu/matterbridge bridge to Apple home. I paused this step because it would be a lot of work remaking my Apple Home automations with the Shelly devices integrated via matter. I then discovered the two devices I had integrated using the iHost Matter feature (IKEA shade and Sonoff ZBMini) would no longer respond in Apple Home (and Home app shows device “No Response”.) So, I stopped the iHost docker for luligu/matterbridge and those two devices started responding again in Home app. The only error I see in the luligu/matterbridge log:
info - [10:14:16.700] [CaseServer]: Received pairing request from udp://fe80::1ccb:403f:2375:5f7%eth0:49956
error - [10:14:16.705] [CaseServer]: An error occurred during the commissioning Fabric cannot be found from destinationId at FabricManager.findFabricFromDestinationId (file:///app/node_modules/@matter/protocol/dist/esm/fabric/FabricManager.js:184:11) at CaseServer.handleSigma1 (file:///app/node_modules/@matter/protocol/dist/esm/session/case/CaseServer.js:115:36) at async CaseServer.onNewExchange (file:///app/node_modules/@matter/protocol/dist/esm/session/case/CaseServer.js:36:7) at async SecureChannelProtocol.onNewExchange (file:///app/node_modules/@matter/protocol/dist/esm/securechannel/SecureChannelProtocol.js:122:9) at async ExchangeManager.onMessage (file:///app/node_modules/@matter/protocol/dist/esm/protocol/ExchangeManager.js:207:9)
info - [10:14:16.710] [InsecureSession]: End insecure session insecure/9412610887785303301
I opened an issue at luligu/matterbridge
Unfortunately, the suggestion of adding -port 5550 to the command starting the docker in iHost is not accepted (error in iHost docker log says "-port 5550 not accepted.) I can’t find a way for the command option to be used. Anyone out there able to use the command option?