Help with SLZB-06M Thread + Bluetooth Proxy and OTBR Add-on Integration

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

Exactly the same here not just on this 06m but also the p10 and mg32 models when using these over ethernet

I feel dumb. Just turn off switch.device_mode_switch_lan_off_usb_on

Now OTBR works flawlessly :heart_eyes:

3 Likes

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.