Home Assistant running on a dedicated laptop (wired ethernet)
Aqara Doorbell Camera Hub G410 (chime unit) as my only Thread Border Router
Aqara Smart Lock U400 x2 (connected to G410 as Matter controller via Aqara app)
No Apple Home hub, no Google Home hub
No other Thread Border Routers on my network
IPv6 enabled on my router
What I have successfully done:
Added G410 to Aqara app and set up a fresh Thread network (7db9)
Paired both U400 locks to the G410 hub via the Aqara app (connected via Matter/Thread)
Added G410 to HA via HomeKit Device integration successfully (10 entities showing)
Thread integration added to HA - G410 border router is visible
The Problem:
The Thread integration in HA shows the G410’s Thread network (7db9) under “Other Networks” but there is no preferred network set. I cannot set 7db9 as the preferred network - clicking on it does nothing and there are no interactive elements or menu options next to it.
I cleared out an old ghost Thread network (99cd - an old Apple preferred network) from /config/.storage/thread.datasets via SSH, which removed it successfully. But the 7db9 network still won’t promote to preferred.
The HA Companion app on iOS shows no Thread credentials under Settings → Companion App → Debug → Thread, since I have no Apple Home hub to push credentials from.
When I try to add either U400 to HA via Matter (using a code generated from the Aqara app), the commissioning attempt hangs indefinitely and never completes. HA core logs show no Matter or Thread activity during the attempt.
What I have already tried:
Deleted and re-added the Thread integration multiple times
Cleared /config/.storage/thread.datasets and restarted HA
Rebooted the G410 chime
Removed and recreated my Apple Home (I don’t actively use it)
Reset Network Settings on iPhone to clear iCloud Thread keychain
Checked Developer Tools → Actions for thread-related actions (none found)
Attempted Matter commissioning from both iOS companion app and HA web UI
My Questions:
Is there a way to manually set the 7db9 network as preferred without Apple Home credentials? For example by manually editing /config/.storage/thread.datasets with the correct TLV dataset?
How can I get the TLV dataset string for the G410’s Thread network (7db9) without Apple Home?
Has anyone successfully used the G410 as a Thread Border Router in HA without Apple Home?
Any help appreciated - I’ve been at this for a while on and off and I’m going in circles!
Not sure if your issue was the same as mine (I had a different device but similar problem) but adding IPv6 make ‘set as preferred network’ button appear after a reboot.
ha docker options --enable-ipv6=true
ha host reboot
My original post.
[My Original Issue](https://community.home-assistant.io/t/aqara-m100-will-only-add-to-other-networks/1002320/2)
The main purpose of the Thread Integration is to manage Thread credentials for the Open Thread Border Router (OTBR). Since you already have a Thread Border Router (the Aqara Doorbell Camera Hub), and you don’t have an OTBR then you don’t really need to have the Thread Integration trying to choose the Aqara as the Preferred Network. If you could choose it as Preferred, then the Thread Integration would pass the Aqara Thread creds to the OTBR which would join the Aqara Thread network, but again since there is no OTBR, there is nothing for the Thread Integration to do.
Maybe walk us through the steps you took or take a look at these instructions.
Thanks for the replay @hassant. I already have IPv6 set up and enabled (verified I have an IPv6 IP address), plus it looks like you were doing that through a docker where I am not. Not sure that command would work for me as you have it.
Pathway A looks good to me.
Check Matter Server Logs to see if there is any indication that it is trying to commission a new device. If yes, then there is likely a network connectivity issue between HA/Matter-Server and the Aqara TBR. With IPv6 enabled on HA, make sure it has an IPv6 address other than one starting with FE80.
That’s the weird part. I am getting nothing in the logs about attempting to commission a new device or any Matter or Thread errors. It’s like HA isn’t even trying, but it isn’t telling me that in the UI. I am digging through some more logs now as I attempt to add a device to see if something miraculously shows up!
OK, I said before was the weirdest part, now I have just one upped things.
I turned on debug in the Matter Integration in order to get some better logs, and recommissioned the U400. Suprisingly, everything worked and the lock appeared in just a few seconds!!!
Is it possible turning on the Debug logging slowed things down enough for the two sides to communicate properly? I have tried this upwards of 30 times in different ways, and the only major difference this time was turning on Debug mode.
After trying some more today (2 weeks in on this endeavor) I finally got the U400 to pair. The steps I took today are as follows:
Before starting: Enable Matter debug logging — go to Settings → Devices & Services → Matter → three dot menu → Enable Debug Logging. This appears to help the commissioning complete it is the only thing different that I did versus the other 30+ times I have tried this
In the Aqara app go to the U400 device page and generate a Matter pairing code (look for Share to other ecosystems or similar option)
In HA go to Settings → Devices & Services → Matter → Add Device
Enter the generated code
Once complete you should get 11 entities including lock/unlock control, battery, auto-relock time, and others
Disable Matter debug logging when done
Key Lessons Learned:
Ghost Thread networks stored in iCloud Keychain and on the G410 device itself will cause repeated failures — a truly clean slate is essential
The Thread preferred network in HA does NOT need to be set for Matter commissioning to work via the G410
Enabling Matter debug logging before commissioning appears to help the process complete successfully — without it commissioning silently hangs with no activity in the logs
Hope this helps someone else with the same setup or issues and thanks to @wmaker for working through this with me!