I already replied to your other thread on this topic, but note that if you run OTBR with “network_mode=host” you don’t need the sysctl and port settings, not to mention avoiding other IPv6 routing/mDNS issues if Matter server is running in a different container on the same host. This specific error appears to be related to accessing the USB stick. Again see my other post for specifying a baud rate as part of the radio-url and see if that helps.
The problem was with the image. The one I was using was only exposing web service. Doesn’t seem like it has the REST APIs running. Or at least I couldn’t make that happen. The image you provided really did the trick! Thanks a lot!
I could add the Thread and Matter integrations. Here is what my config now looks like.
The question is, now what do I do now? Should I connect Matter add=on to Thread?
Autodiscover Thread after enabling the OTBR integration http://localhost:8081
Have HA create a new preferred thread network & enable “used for Android + IOS credentials”
Run python-matter-server and enable matter integration in HA ws://localhost:5580/ws
Sync Thread Credentials on mobile device
Settings > Companion App > Troubleshooting > Sync Thread credentials
Run sync twice, the message should read “Home Assistant and this device use the same network”
@D34DC3N73R, one more thing. When setting up Thread network what security considerations should be made? I believe I used all default settings from the OTBR web ui. That probably is not the best choice.
Do I just go there into the web UI to “form” a new network? What else needs to be changed there in HA for the settings to take effect?
I’ve never had the crash you experienced with that image. Might be worth creating a github issue. Or just restart the container and see if you experience it again.
In regards to creating a thread network, I would recommend letting HA take care of that. If the thread integration shows a network from OTBR, choose the “reset network” option and it’ll be configured for you. After the network is loaded (takes a minute or two to go through the reset process), then choose the “Make Preferred Network” and the “Use for Android + IOS Credentials” option. Then you’ll be ready to sync credentials in the companion app.
Resetting through HA worked. Although I do not see any other indication of the completion. What would be the place to confirm the Thread network parameters?
You can click on the (i) icon and see the parameters. You won’t really need any of them though. Just set it as the preferred network in the thread integration and choose “use for android/ios credentials”. That’s pretty much it. Afterwards sync credentials in the companion app and you’ll be ready to pair a device.
With matter is it possible to discover all nearby devices without scanning QR codes? Basically, can I get the guys to install the switches and use them as “dumb switches” before I bring in the HA and have them discovered?
Not that I’m aware of. As far as I know, if you don’t have the QR or 11-digit numerical code, the devices are not possible to pair. If the guys are willing, my advice would be to get a label maker or write the numerical codes on the inside of the faceplate when installing. They should work as dumb switches until paired.
So I should first add the devices before plugging them into the walls? Would you suggest taking the photos and maintaining the QR codes for my records in case I would need to recreate the network?
What type of devices do you have? If they are receptacles/outlets or light switches that require installation, meaning you will not easily be able to see the code printed on the device after install, I would suggest noting where the receptacle or switch is located, and the 11-digit numerical pairing code. You wouldn’t be able to add these devices until they have power. That’s why it makes sense to write the code or affix a label of the code on the inside of the faceplate in these circumstances. It saves you from having to uninstall the switch/receptacle to get the code (should you ever need it again) and then reinstall.
If they are smart plugs you can just pair them as you plug them in or anytime after. I haven’t seen a matter over thread device that doesn’t have the code printed on the device itself, but it is possible such devices exist.
I just bought the connect ZBT-2 dongle from HA.
This Dongle is usable as Zigbee or OTBR.
I do run HA as a Docker under Unraid.
I tried to create a otbr docker.
I don’t get it running
My first problem is that the dongle need to be flashed for OTBR.
I do not get that happening.
The first problem is flashing the connect ZTB-2.
With the image it should be possible to flash if AUTOFLASH_FIRMWARE is set to 1
The log says it is not recognizing the connect ZBT-2 as an USB.
My image:
6-rc: info: service mdns: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service mdns successfully started
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service banner: starting
Default: mDNSResponder (Engineering Build) (Jan 14 2025 21:04:03) starting
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
s6-svlisten1: fatal: /run/s6-rc/servicedirs/otbr-agent failed permanently or its supervisor died
s6-rc: warning: unable to start service otbr-agent: command exited 1
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service universal-silabs-flasher: stopping
s6-rc: info: service mdns: stopping
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Default: mDNSResponder (Engineering Build) (Jan 14 2025 21:04:03) stopping
s6-rc: info: service universal-silabs-flasher successfully stopped
s6-rc: info: service banner: stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service mdns successfully stopped
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
INFO: Starting mDNS Responder...
INFO: The selected serial port is not a USB device.
WARNING: No firmware found for the selected device, assuming firmware is installed.
INFO: Setup OTBR firewall...
INFO: Starting otbr-agent...
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyUsbThread?uart-baudrate=460800&uart-flow-control
[NOTE]-AGENT---: Radio URL: trel://br0
[NOTE]-ILS-----: Infra link selected: br0
[INFO]-RCP_HOS-: OpenThread log level changed to 4
32d.08:50:13.243 [W] P-SpinelDrive-: Wait for response timeout
32d.08:50:13.243 [I] P-SpinelDrive-: co-processor self reset successfully
32d.08:50:15.245 [W] P-SpinelDrive-: Wait for response timeout
32d.08:50:17.247 [W] P-SpinelDrive-: Wait for response timeout
32d.08:50:17.247 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
32d.08:50:19.249 [W] P-SpinelDrive-: Wait for response timeout
WARNING: otbr-agent exited with code 1 (by signal 0).
Chain OTBR_FORWARD_INGRESS (0 references)
target prot opt source destination
DROP all -- anywhere anywhere PKTTYPE = unicast
DROP all -- anywhere anywhere match-set otbr-ingress-deny-src src
ACCEPT all -- anywhere anywhere match-set otbr-ingress-allow-dst dst
DROP all -- anywhere anywhere PKTTYPE = unicast
ACCEPT all -- anywhere anywhere
otbr-ingress-deny-src
otbr-ingress-deny-src-swap
otbr-ingress-allow-dst
otbr-ingress-allow-dst-swap
Chain OTBR_FORWARD_EGRESS (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
INFO: OTBR firewall teardown completed.
INFO: mDNS ended with exit code 4 (signal 0)...
** Press ANY KEY to close this window **
A part of the error is:
INFO: The selected serial port is not a USB device.
WARNING: No firmware found for the selected device, assuming firmware is installed.
Any ideas how to go on?
Do I need to flash manualy?
Any help is appreciated
You can’t set it as the preferred network until HA has learned the credentials. We can tell the credentials aren’t known because there is no circled-i (i) icon beside the network name. With OTBR, there are a few ways to fix this.
The most common is to add the OTBR integration, which usually happens automatically but can also be added manually using the Thread Integration’s “Add an OpenThread Border router” menu (top right) and enter the REST API URL (I believe localhost:8081 for HAOS).
Alternatively you could open the OTBR dashboard (homeassistant.local:8080) to view and extract the dataset TLV and enter it manually in the Thread integration’s “Add dataset from TLV” menu (top right). But this method does not enable the “reset border router” or “change channel” commands like the above method does.
Thanks for the answer, but I do not even get mij docker running anymore.
It is trying to use ttyACM0 (My zigbee dongle) instead of ttyACM3
the image is not using the right varaibles or I’m using the wrong ones:
I tried to fix it with ChatGPT but that is not helping at all
I do not know what is wrong with my image?
Th log shows it is trying to use ttyACM0 and baudrate 100000
Instead of ttyACM3 and baudrate 460800
What am I doing wrong??
Important log info:
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart://?uart-baudrate=460800&uart-flow-control
Showing no /dev/TTYACM3?
and: 33d.09:16:37.383 [C] Platform------: Init() at hdlc_interface.cpp:153: No such file or directory
Saying that line 153 gives an error. ChatGPT says because it is not seeing the UART device and the starting to use ttyACM0 (My zigbee dongle) what causes a crash in my zigbee2mqqt docker
In the image above I do use the general repository, but I also tried the HA one, both not working