Unable to add devices to Home Assistant with Matter via Thread

Plea for help

“Can’t connect to thread network home-assistant” has become the bane of my smart home life as of late, and I think I’ve exhausted all I can accomplish on my own.

Environment

HA Info

  • Core: 2023.12.3
  • Supervisor: 2023.12.0
  • Operating System: 11.2
  • Frontend: 20231208.2
  • Raspberry Pi 4B 8GB

Add-ons

  • Silicon Labs Multiprotocol: 2.3.2
  • Matter Server: 5.0.1
  • OpenThread Border Router: 2.4.1

Additional Hardware:

  • Skyconnect With Multi protocall support
  • Sonoff ZBDongle-E (Set-up with this guide, not currently in use)

Main Network

  • Unifi Network with all devices on the same SSID. I have followed this guide for troubleshooting.

Testing Network

  • Netgear R6260, Factory Reseted before testing

Devices Tested

  • Eve Energy Smart plug
  • Eve Door & Window Wireless Contact Sensor
  • Aqara Door and Window Sensor P2
  • Tuo Smart Button
  • Nanoleaf Essentials Smart Bulb BR30

Summary

I have been attempting to add multiple different Matter over Thread devices directly to Home Assistant with no success. I have attempted with 2 different USB radios, different smart phones (iOS and Android), with a fresh install of Home Assistant, and on a separate test router/network.

I have had success adding all the above listed devices to my Smartthings hub with no major issues (some devices needed to be reset out of box). I have been able to share devices from Smartthings to Home Assistant, via matter. Once shared from Smartthings, Home Assistant is able to use them without issue and minimal delay, until the Smartthings hub randomly decides it doesn’t want to share a particular device anymore.

I’ve been working on this for a few months at this point, and readily welcome any help or suggestions. I’m fairly new to Home Assistant, so please assume I’m acting from ignorance. I have some technical background and am willing to dig in as far as I can, given a bases that I can Google on.

4 Likes

It is normal that Matter saw such strange issues.

Sadly HA now does not support sharing Matter devices with other platforms by turning on the pair mode. So do you have an extra Matter controller at home for example Google Nest/HomePod mini? You can try to pair them first to it and share them with HA, so you would know if it is the issue of Smatthings.

Also a friendly reminder, new Nanoleaf (matter over thread) essentials are not stable and might screw your Thread setup.

Yeah, I’m not super surprised that the connection with Smartthings didn’t last forever.

I don’t have other Matter over thread controllers ATM, I might pick one up if I cannot solve this. I don’t have a need to share the device out of HA, as long as I can get thread devices to directly join HA I’m looking to dump all other platforms. I’m tired of Smarthings and Alexa dropping features or splashing ads everywhere.

I mostly got the Nanoleaf bulbs to see if they might work, but I have noticed that even on Smarthings they weren’t reliable. Good to know that’s a wider issue

Actually it is not necessary a matter controller with thread. A single Thread border router in your home is enough like skyconnect’s openthread. Controller should be able to discover existing TBR in your network and add matter devices to it.

Yeah. My hope is to use the Skyconnect thread network with Home Assistant exclusively, getting rid of of Smarthings and Alexa. I am only really using Smarthings currently to test it out.

My HA instance has the OpenThread Border Router add-on running, along with the Thread integration using the Silicon Labs Multiprotocol thread network. But for some reason I’m not able to add devices to it, it always failing on the “Checking Network connection” step


Thread network in HA

1 Like

This is the error I run into using the Thread network from Skyconnect.


Error from Matter enrollment process

The nanoleaf beta firmware (.79) is the worst firmware yet, my essentials light strip fell off Thread and refused to reconnect. I factory reset it and now it can’t even be added back to matter (it is back on Thread). Avoid at all costs.

Lots of Reddit chatter about broken Matter recently. I beleive that something in the 2023.12.2 or 2023.12.3 updates broke matter for many people. My opinion is that the update of zeroconf may have an interaction somewhere breaking several things Matter. There is a report there of someone reverting to 2023.12.0 and Matter started working again for them.

Mine is outright broken as well (I’m at 2023.12.4). I connected 4 Wiz bulbs via Matter over WiFi when I was on 2023.12.1 and they worked flawlessly - and then all broke after updating to 2023.12.2. Cannot be a coincidence!

That being said - I also use Unifi WiFi (but not Unifi for anything else). I also have made the necessary checks of the Unifi config - but cannot shake the feeling that lots of those with current Matter issues appear to also have Unifi Wifi.

2 Likes

Unifi doesn’t affect Thread devices though.

Opening the Service Browser app on my Android phone, I can immediately see the problem here. ALL my Nanoleaf bulbs and light strip are taking 30-50 seconds to respond to mDNS queries. So anything waiting for the IPv6 address timesout and thus the device is unavailable because nothing knows how to make contact with the device.

Meanwhile my Switchbot Hub 2 exposing the Switchbot lock and the Switchbot blind tilt, responds instantly to mDNS queries. And my Onvis socket which is matter over Thread also responds to mDNS queries instantly.

2 Likes

Interesting. I’ve been trying to get various Matter over Thread devices working with HA for a few months now, but I’m only recently have had the time to troubleshoot it.

I think I might try playing around with the app @mobile.andrew.jones mentioned, Service Browser, to see if there is anything obvious.

1 Like

I am facing the exact same issues.

What I discovered is that it works with Google Nest Wifi pro (but not using it’s thread border router, double checked on home assist).

I am using today the sonoff zigbee-e on thread only firmware. it is working flawlessly on google’s access points.

But whenever i switch my router to a TP-Link or Telkonika (same topology/hardware as your netgear i believe) it fails the connectivity check.

I think we have our hands on a bigger issue.

I will try to work on using the Wifi antenna integrated to the Pi4 as accesspoint…

I was able to fix the issue.

By following the guide here :

I had to add a Bluetooth dongle (USB 2 on RPI4; BLE4.0 ; no config).
By following the commands in the console I am able to add devices WITHOUT any wifi router or any phone or app.
Everything on the computer
I am super happy.

  • The OPTBR is now displaying correctly the devices over the topology (which was not the case with google nest pro config)

Oh! That’s awesome!! I’ve been wondering about commissioning Matter directly from HA. I’ll get a Bluetooth dongle and try myself

My nanoleaf bulbs I can add to my nanoleaf app, and it lets me join them to my thread network, it seems to see it and connect just fine, but no matter what I do, trying to join them as matter devices from the HA app results in it saying that it can’t connect to the thread network, weather I’m adding pre-thread-joined or freshly factory reset bulbs. I’m starting to lean towards it being a matter related issue for me, though even though Nanoleaf will show a bulb joined to my thread network, the topology viewer in the OpenThread Border Router web GUI doesn’t show it, so maybe it’s not actually connecting. :person_facepalming:

Nanoleaf has a reputation for poor firmware reliability, but their most recent update (only in beta), seems a big improvement. You may want to try the beta. To do so, you’ll have to register your devices for the beta. Instructions are here: https://helpdesk.nanoleaf.me/en-US/how-do-i-sign-up-for-beta-software-updates-for-my-nanoleaf-lights-341522

1 Like

Unfortunately the beta firmware didn’t seem to affect the error I’m getting. I never even see anything in the Thread add-in logs even at max log level (though there’s so much at that point it’s hard to catch anything), so I’m really not sure what’s going on that everything can see the thread network, but nothing ever actually connects.

I am also experiencing problems adding devices to my home network. I have an AppleTV that should be a border router, and I have 3 eeros that also should be border routers. I can get HomeAssistant to recognize a preferred thread network, but even after doing that I still get “Thread Border Router Required” when trying to add a matter/thread outlet to my home network. :frowning:

I think I found my issue, there was an old thread credential stuck in the Google Play Services storage, so everything defaulted to that and resyncing the thread credentials never seemed to clear it. I cleared all Google Play Services storage and that seemed to fix it for the Nanoleaf app, my devices are added successfully to the Thread network, though the Google Play Services Matter support took forever to reinstall in the background, it seems to be there now, now I just get “Something went wrong” errors that seem to clear up after I turn my devices off and back on. :person_shrugging:

Hello everyone,

I saw that some of you ran into the same problems as me.

I tried to install the SkyConnect (Matter with Thread) and a few Eve sockets.
I set up the stick without any adjustments and than couldn’t learn on any devices. Then I tried to repeat the setup countless times, but it was not possible to start the openThread Border Router or the Matter Server.
I then flashed the stick and tried the installation with multiprotocol and than removed ZigBee and also flashed the stick with Thread and did the installation without ZigBee. The whole thing several times. I was never able to start the servers.
Fixing this problem ended up being very easy (I probably missed it on the web-sites which I read). :
First of all you need to make sure that no other server is running on port 8080 and, after installing the stick and the openThread Border Router, you definitely have to start the entire system and not just HA!
So if you want to use Thread and no ZigBee this worked for me:

  • Make sure that no HA addOn (Server) is running on Port:8080 otherwise OpenThread Border Router cannot start.
    I had Signal Messenger running on Port 8080 and changed it to 8087 before the SkyConnect installation
  • Make sure that ipv6 is activated in your network and the HA Server has a static ipv4 and also a static ipv6 address
  • Flash the stick with Thread firmware and plug it in.
    Be sure to click “Ignore” on the newly displayed device, i.e. do not carry out any automatic configuration.
  • Install OpenThread Border Router (addOn) and than select the SkyConnectstick in the config.
  • Restart the ENTIRE system
  • Install Matter Server addOn (to be on the safe side, I also restarted the system thereafter)
    After the restart, both routers were running.
  • In the HA app (Android for me) go to Settings->Companion App->Troubleshooter and call “update thread credentials”. The app then fetches the access data from the server.

But after all I still had the problem to add a device in my mobile phone.
But now comes my problem:
When I want to add a new device in the app, I scanned the QR code, the app reads the data from the device and then searches/checks the network connection. And here it stops after a long search.
I tried that multiple times and also tried :

  • I turned my Repeater off so only the router was there
  • I switched off the 2.4GhZ network and used 5Ghz only
  • I switched off the 5GhZ network and used 2.4Ghz only
  • I used both networks.
  • HA NUC used with Ethernet
    nothing helped.

After playing around for about 15 hours with re-configuration, backups, restores, configuration changes, I tired the following:

I installed the HA compainion app on a second (an older phone) nd updated the thread credentials (see above) and tried to pair a device.

!!! Believe it or not it worked straight away !!!

I could manage to pair all my thread devices without any problem.

So in the end my mobile phone was causing the problems.
I now have a workaround, but I still don’t know what exactly the problem is.
If anyone can figure this out and tell me what I need to adjust on my standard phone, please let me know.