[Solved] Broken HAOS Thread border router setup with SkyConnect

Edit: Solved!


I am attempting to set up my HA instance (HAOS on RPi) as a Thread border router, using a SkyConnect and pure Thread (no Zigbee/Multiprotocol).

I’ve set up the OTBR add-on (along with the Matter server), and on the surface things look as expected - both the Thread and OTBR integrations were auto-added to HA, and homeassistant.local shows up as the preferred (and only) network in the Thread integration.

But nothing is working, and I’m stuck in Thread Border Purgatory.

Attempting to add a Thread/Matter device through the mobile app fails with “Your device requires a Thread border router”.

In the OTBR logs, I see a bunch of errors like below that I suspect are to blame:

otbr-agent[187]: 00:00:33.158 [W] Platform------: [netif] Failed to process event, error:InvalidArgs
otbr-agent[187]: 00:00:33.163 [W] Platform------: [netif] ADD [U] fd57:9fdc:d898:2a9:0:ff:fe00:fc00 failed 

I can’t make sense of what is failing, or why, from these errors. I do see a few other bug reports and forum posts with the same error message, but no solution.

Has anyone got this working? Am I doing something wrong, or is this just broken with current HA/OTBR/SkyConnect FW?

OTBR add on version 2.4.5
System: Home Assistant OS 11.4 (aarch64 / raspberrypi3-64)
Home Assistant Core: 2024.1.6
Home Assistant Supervisor: 2023.12.1

Yeah, in this setup there are so many ways to fail when trying to commission a device, it is difficult to even know where to begin. A couple of thoughts is to make sure you have IPv6 enabled in HA (I have mine set to “auto” in System->Network settings). Another is the the mobile App and what kind of device you are trying to commission. The iOS HA Companion App can not be used for commissioning directly to HA (not yet anyway).

Thanks @wmaker!

make sure you have IPv6 enabled in HA

Yeah, it’s enabled and working fine (SLAAC).

mobile App and what kind of device you are trying to commission

I’m on stock Android (pixel phone), running latest version of the companion app. Trying to commission an Aqara door sensor. I could try another device, but don’t have high hopes.

The errors above happen long before I attempt to commission anything, on add-on startup. I highly suspect the add-on never gets into a working state.

It also completely craps its pants after a while like this:

otbr-agent[187]: 06:47:36.251 [W] P-RadioSpinel-: radio tx timeout
otbr-agent[187]: 06:47:36.294 [C] Platform------: HandleRcpTimeout() at radio_spinel.cpp:2076: RadioSpinelNoResponse
[03:52:00] WARNING: otbr-agent exited with code 6 (by signal 0).

Not sure if that’s related to the earlier errors, but it definitely feels like something’s very broken. I didn’t expect this much frustration with a fairly vanilla setup :sob:

Welcome to the club … that’s why HA continues to designate their Thread as “experimental”.

I only have a couple of different Thread/Matter devices, but the Aqara door and window sensor is actually the only one I was successful commissioning using an App, and it was the HA Android companion App at that. The only thing that comes to mind is to make sure the Aqara is near the SkyConnect when commissioning, and the other is that one issue people have with Android Companion App is that its uses goggle play/home and it stores the Thread credentials only once and it stays, so if by chance you commissioned a device sometime previously on another Thread network then it will fail when later trying to commission onto HA directly.

The other issue about the RadioSpinel is one I have seen w. SiLabs multiprotocol, but haven’t seen it (yet) with OTBR, but yeah that’s a problem.

I have the same situation.
The existing tools work, but I can’t add new ones.
I added the previous stuff quite a while ago.
Now I’m trying to install a new device, but it doesn’t work.
I bought a sonoff zigbee and moved all zigbee devices to it. Skyconnect would only manage matter devices if it did its job :frowning:

I’ve opened a new OTBR issue for this.

I want this to work really bad…

This solved the problem for me, after the last update

  • Before you can add Matter-based Thread devices, your phone needs to know the credentials of your newly created Thread network.
  • To share the credentials with your Android phone, open the Home Assistant Companion app.
  • In the Companion app, go to Settings > Companion app > Troubleshooting, then select Sync Thread credentials.
  • Follow the instructions on screen.
  • Result: You will see a confirmation stating that Thread credentials from Home Assistant have been added to this device.
  • To add Matter-based Thread devices, follow the steps on Adding a matter device to Home Assistant.

Yup. I can confirm this solved it for me as well. I do feel pretty stupid for missing that step.

With 2.4.6 I also haven’t seen the OTBR shut down due to “radio timeout” yet.