Switch my installation from Multiprotocol to standard OpenThreadRouter ... failed!


I was running on my Home Assistant 2024.7.2 with a working Multiprotocol installation of Thread/Matter + Zigbee. Device -ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2 (Sonoff Zigbee Dongle -E).

Everything was working fine, no issue at all. So why I changed ? because I read everywhere that the Multiprotocol option is no longer a recommended option, that it will not be maintained, and that user should prefer deploying two dongles if they need Zigbee and Thread on their installation. This is not a big issue for me and I prefer switching now that I have three Thread devices, and planning to add some more, than when my installation will be larger.

Issue: I was not able to get Matter/Thread working again: when adding a device, my phone is blocked on the step “Checking for network” then fails to add the device.

What I have done so far:
I installed the OpenThread Border Router integration (2.9.0) and I configured it:
Baudrate: 460800
No hardware flow control, no automatically flash firmware
I tested OTBR firewall and NAT65 on and off, just in case

Nothing strange in logs:

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
[13:10:57] INFO: Starting mDNS Responder…
Default: mDNSResponder (Engineering Build) (Jul 2 2024 09:04:20) starting

Add-on: OpenThread Border Router
OpenThread Border Router add-on

Add-on version: 2.9.0
You are running the latest version of this add-on.
System: Home Assistant OS 12.4 (amd64 / generic-x86-64)
Home Assistant Core: 2024.7.2
Home Assistant Supervisor: 2024.06.2

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
[13:10:59] INFO: Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[13:11:00] INFO: Setup OTBR firewall…
[13:11:00] INFO: Starting otbr-agent…
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
s6-rc: info: service otbr-agent-configure: starting
[13:11:00] INFO: Enabling NAT64.
s6-rc: info: service otbr-agent-configure successfully started
[13:11:01] INFO: Successfully sent discovery information to Home Assistant.
s6-rc: info: service otbr-agent-rest-discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started

Thread service is there: The OpenThread border router is configured.

Matter integration is also there:

In HA Companion App, I used the Synchronize Thread identifiers in troubleshooting, as well as the option “Send credentials to Home Assistant” in the thread preferred network page.

And so I am stuck not being able to add my devices again. No device can be added (Nuki Smart Lock, Eve Energy, Aqare Motion …) so the issue seems not linked to the devices.

I do not where to have a look to, I had this issue months ago when trying to move my HA setup from a VM to some other hardware, and I never have been able to figure out how to debug these issues.


What I have tried so far:

  • Reset the Google Play Services on my Android device
  • Uninstall/Resinstall the Google Home app on my Android device
  • Trigger the inclusion next to my USB dongle, with both my phone and the Matter/Thread device to add
  • Sync the Thread credentials from the Troubleshooting section of the HA Companion app
  • Sync Thread for the Thread service in the HA Companion app
  • Set my Wi-Fi to 2.4GHz only

I managed to progress on my issue. Commissioning is working through Home Assistant, with a USB dongle, and calling the websocket server setting the dataset then asking for commissionning with the key.
All my devices are included. Which clearly means that I have an issue commissionning with my Samsung Galaxy S23+ … but I still don’t know which issue exactly !

Moreover I was not able to add my Nuki Smart Lock 4.0 Pro back in my installation.
The code looks strange, as if they were two Matter code one of top of the other.
So I don’t know how to call the commission api with that code, and only using “the first one” did not work. The second one is missing one number just before the last digit. But maybe the full set is the code …

I managed to commission my Thread devices using the API (websocket) but also the new beta UI.
I still can’t using my phone. Which means that the issue is located on the Android/Companion side.

What is the exact error you are getting on your phone? It might be worth investigate that a bit more by our App developers. Can you create an issue at GitHub - home-assistant/android: 📱 Home Assistant Companion for Android along with the logs right after a failed attempt? You can find the Companion App logs at Settings → Compagnion App → Troubleshooting → Show and share logs.

1 Like

I can, but I think the issue is well known. This must be an occurrence of this one: Update home-assistant network Thread credentials not possible · Issue #4146 · home-assistant/android · GitHub

The thing is this time, even with a full reset of Play Services, Google Home, Companion, and sync again everywhere I could sync, the commissioning from the smartphone is not working.

I will see if I can create an issue because after 2 weeks of fight to get back my devices on my thread network, everything is now working again !
Removing again a device and taking the risk to have it not working again … not sure I am willing to do it right now.

But when I will be reviewing a new device, that might be the right time to do so !