Today I tried switching my SLZB-06 from being used solely as an OpenThread Border Router to using it for both Thread + Bluetooth Proxy by flashing it with the official SMLIGHT YAML configuration.
Home Assistant recognizes the device as a Bluetooth Proxy, but I’m running into issues getting it to work with the OpenThread Border Router (OTBR) add-on.
I understand that the add-on expects a UART device, and previously I would just select any available device from the list. However, now that the ESPHome firmware is flashed, the add-on does not seem to accept it and fails to start.
Has anyone experienced similar issues—or even better, found a solution?
Any help is greatly appreciated.
OTBR Addon Log
[23:03:24] INFO: The otbr-web is disabled.
[23:03:24] INFO: Enabled socat-otbr-tcp.
s6-rc: info: service socat-otbr-tcp: starting
s6-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
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
[23:03:24] INFO: Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Jan 14 2025 21:04:03) starting
[23:03:24] INFO: Starting socat TCP client for OTBR daemon...
-----------------------------------------------------------
Add-on: OpenThread Border Router
OpenThread Border Router add-on
-----------------------------------------------------------
Add-on version: 2.13.0
You are running the latest version of this add-on.
s6-rc: info: service socat-otbr-tcp successfully started
System: Home Assistant OS 15.2 (amd64 / qemux86-64)
Home Assistant Core: 2025.4.4
Home Assistant Supervisor: 2025.05.3
-----------------------------------------------------------
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[23:03:25] INFO: Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[23:03:26] 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:///tmp/ttyOTBR?uart-baudrate=460800&uart-init-deassert
[NOTE]-AGENT---: Radio URL: trel://enp0s18
[NOTE]-ILS-----: Infra link selected: enp0s18
[INFO]-RCP_HOS-: OpenThread log level changed to 5
tiocmbic: Inappropriate ioctl for device
49d.21:10:44.036 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:0, cmd:RESET
49d.21:10:44.036 [D] P-SpinelDrive-: Waiting response: key=0
49d.21:10:46.036 [W] P-SpinelDrive-: Wait for response timeout
49d.21:10:46.037 [I] P-SpinelDrive-: co-processor self reset successfully
49d.21:10:46.037 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
49d.21:10:46.037 [D] P-SpinelDrive-: Waiting response: key=1
49d.21:10:48.038 [W] P-SpinelDrive-: Wait for response timeout
49d.21:10:48.038 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
49d.21:10:48.038 [D] P-SpinelDrive-: Waiting response: key=1
49d.21:10:50.041 [W] P-SpinelDrive-: Wait for response timeout
49d.21:10:50.041 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
49d.21:10:50.041 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
49d.21:10:50.041 [D] P-SpinelDrive-: Waiting response: key=1
49d.21:10:52.043 [W] P-SpinelDrive-: Wait for response timeout
[23:03:34] WARNING: otbr-agent exited with code 1 (by signal 0).
...
[23:03:34] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped
I had a similar issue and figured out that my OTBR setup didn’t play well with the network adapter settings until I disabled Wi-Fi power saving on the host. If you’re still stuck on pairing, double-check your channel settings between Zigbee and Thread to avoid interference. Also, if you’re testing access outside your local network, mobile proxies here helped me debug some weird connectivity issues more reliably.