Unable to add devices to Home Assistant with Matter via Thread

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:

1 Like

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.

2 Likes

This thread is too long to read but I wanted to share my success story in getting some TP-Link Tapo plugs discovered through Matter. No matter what I tried, I couldn’t get the plugs adopted in Home Assistant nor Google Home. I then found the solution on YouTube!

YouTube creator Eric Welander gave me the solution in his “BEFORE getting Matter devices” video that IPV6 needs to be enabled on your network to allow Matter devices to get a required IPV6 address!!! I had disabled IPV6 on my OPNsense firewall across all networks and the WAN. Nobody mentions enabling IPV6 for Matter and I never saw it mentioned in the HA docs! Once enabled and configured, the plugs were instantly found and adopted!

I just wanted to share the solution in case anybody else is having adoption issues.

As @diedrichg pointed out this thread is getting long, so I wanted to create a long summarize some of the solutions listed above.

Bad Matter over Thread Device

@mobile.andrew.jones
Some devices might not have the same level of effort or quality as others. Nanoleaf Essentials have/had known issues with some of their early devices. Try other devices if you can.

Personally I found the Eve device built for Matter over Thread to integrate excellently

Work on a single vLAN

I would suggest avoiding working across vLANs as much as possible. There are a lot of ways to have multiple vLANs talking to each other, but very few manufactures properly implement mDNS support/forwarding. I moved all my IOT devices, including my HA host onto the same vLAN, and whenever I need to add a new device I switch over to do so. It’s annoying but prevents so many inconsistent issues.

Having multiple access points shouldn’t be an issues as long as they are all on the same network/vLAN. I’ve heard tail that some repeaters don’t properly support IPv6/mDNS, which ended up causing some people a headache. So it might be worth turning any off while troubleshooting issues

Ensure IPv6 is enabled on your network

@HARookie @diedrichg

IPv6 is required for thread to operate correctly. Below are a few guides.

Please note, you may need to make differet selections based on if your ISP is providing an IPv6 address for you or not. You can check your current IPv6 address here: https://test-ipv6.com/

General:

UniFi:

Unifi no public IPv6:

Reset Thread Credentials on Your Mobile Device

Big thanks to @HARookie since this is what got my mobile phone working again.

Android:

  1. Clear all cached data from Google Services
    Keep your device & apps working with Google Play Services - Google Play Help

  2. Sync thread credentials
    Now in the HA companion app sync the credentials with your device
    Settings->Companion App->Troubleshooter and call “update thread credentials

Apple:
Sorry I have no idea, :cry: Check below to see if anyone posts directions below

Nuclear option: Directly add Matter Devices

@Pierre84000

Quick note: I’ve done this for several devices. I have not found any negative effects from it so don’t hesitate to at least try it if you’re at wits end. I call it “Nuclear” more as a joke, but it is an approach that is against the ease of use idea of Matter.

The TL:DR is add the devices via console commands using a Bluetooth connection from the HA host itself. Programing experience is recommended

Troubleshooting Tools

mDNS

@mobile.andrew.jones
Matter over Thread uses mDNS to broadcast it’s availability, so any tools to help view mDNS on your network may help.

On Android “Service Browser” worked well for me. On windows “All My LAN” is free on the Windows store.

Matter Network

The Matter Server add-on recently added a UI to view the matter network. Check it out Settings > Add-ons > Matter Server > Open Web UI

It’s not super helpful yet, but gives a bit more insight into already added, or disconnected devices

Additional Resources:

Some extra reading material if you want to dig into how Matter over Thread works

  1. https://www.derekseaman.com/2023/10/part-1-smart-home-matter-and-thread-deep-dive.html
  2. Matter, Unifi and mDNS – @tomasmcguinness
  3. The State of Matter - Home Assistant
4 Likes

Clearing the Google Services cache and then re-syncing the thread creds in the HA Android app got my phone working again. Big thanks for that :heart:

2 Likes

About IPv6 just because I note people get confused about this. You do not need a working IPv6 network via your ISP, you only need to be able to use IPv6 inside your LOCAL network.

2 Likes

The Thread (IPv6) network sits behind the Thread Border Router(s) and works completely independently. Even if there is no connection to the Internet, the Thread network is active, and the participants talk to each other.

As absolutely rightly said above, IPv6 only needs to be permitted locally.

After setting up my OpenThread border router in Home Assistant, I still had to import the Thread credentials from my iPhone. I was then able to integrate Thread HomeKit devices into my HA without issues.

1 Like

I can also confirm which is something I have seen a lot of misleading information about - that for those of us with Google Hubs serving our Thread network - it does indeed continue to work when the internet goes down. I suffered an 8 hour internet outage a few weeks ago, and before I realised it was an actual internet problem - I spent an hour and a half rebooting EVERYTHING. So even with the router rebooted, and al the hubs rebooted - the thread network and matter continued to work without issues.

@mobile.andrew.jones

But if your box doens’t have internet, can you still add/commission new devices ?

No, this will not work.

The iPhone 15 pro has Thread onboard and there might be options in the near future which allow than such things using Thread in the phone as an ad hoc border router.

This is I am not sure of. The Home Assistant implementation appears to download all available certificates when the matter server starts up, so Home Assistant should be able to work entirely offline once it has the certificates. I don’t know if other matter servers work this way though - they may check online for the certificate of a device during commissioning.

I just tested this and No it doesn’t work.

Because the matter integration on the android phone is using the google-API.

After some months I tried to pair some more Matter over Thread devices and I’m facing the same problems.
But I can trace this problems back to exactly one cause:

I all cases I’m trying to add a new device with an Android mobile phone:
Add Integration → add Matter device → scan QR code
HA connects to the device and reads necessary data. After that the network is checked.
This test always fails on my Samsung Galaxy S21-Plus but works fine on my very old Samsung Galaxy S8 even I cannot see any differences in the network settings of both mobiles.
At least this shows that the whole configuration of the HA server and software and also my network is not the problem.

S21 shows the message ‘Connection to Thread-Network “ha-thread-368d” is not possible’.
But this is not the right network, my network is “ha-thread-08aa”

My attempts to synchronize the thread-network-settings “companion-App->Troubleshooting->Sync Thread credentials” all fail.
It ends up with the message: “Sync thread credentials: Updated network from HA on this device”

When I do the same on the S8, it ends up with the message “Sync thread credentials: HA and this device use the same network”

So finally the problem is that the thread network in my standrad device is wrong an I cannot correct it.
Clearing cace and data, de-installing an re-installing the HA companion app does not work.

Does anyone have a tip on how I can adjust the thread network settings on my mobile?

It could be because of the following …My understanding is that the HA Companion App for Android uses the Android framework, and the framework stores and retains the first Thread Dataset/Credentials it gets, and doesn’t allow for it to be overwritten. The only way to overcome this is to clear out Google Play data which will also clear other data that you may not want to delete.

Here is one Forum user’s guidelines

Thank you all for your support.

My last message was correct.
The problem ist the wrong Thread-Network-setting in the compaignon app which cannot be fixed - at least for me on different devices - with the “companion-App->Troubleshooting->Sync Thread credentials” task.
The message after the sync: “Sync thread credentials: Updated network from HA on this device” is misleading because it means for me: The sync did not work. The HA developers should implement an error handling here.
Only if you receive the message “Sync thread credentials: HA and this device use the same network” you can be sure the the mobile and the HA server are using the same network.

After many many tests, the one and only way for me to fix that is to remove the “Google Play Services” data in my phone as here the settings are saved and even if you de-install th HA App
and re-install it it will have the same settings.

The final Solution:

(Recommendation means: this is what I did but I don’t know if it is needed)

  1. Recommendation: De-install HA campainion app
  2. Recommendation: stop wifi and mobile data
  3. Absolutely necessary: In you mobile open settings->apps->set filter to “all apps”->search and open “google services” (in german “google play dienste”)->click “data” (Speicherplatz) and then clear the cache and delete all of the data.
    Clearing only the cache did not work for me.
  4. Recommendation: Restart the phone and, if you stopped it: re-activate wifi and mobile connection
  5. Install HA app and connect
  6. Absolutely necessary: Execute “companion-App->Troubleshooting->Sync Thread credentials”
    Here you should/must find the response : “Sync thread credentials: HA and this device use the same network”

Important: Deleting all data of the “google services” app can have side effects. Please inform yourself before you go this way.

At the end that worked for me. I can now pair Matter over Thread devices without problems with all of my mobiles.

2 Likes

Hello,

Yes indeed I had similar issues !
Thanks for the tip ! un-installing HA app was also necessary for me…