Open agners opened 10 months ago
The current work around is to delete all Thread credentials on the device. The Thread credentials are stored as part of the Google Play services. They ca be removed using the "Clear all data" button in the Google Play service storage menu.
:warning: Deleting Google Play services data does reset some other device settings, namely the Google Wallet cards. :warning:
:information_source: Note that existing Google Thread Border router need to be reset too. They also initially come up with a NEST-PAN-XXXX
network, even if you synced another network to your phone. The Google Thread Border router will only be setup when first commissioning a device.
Resetting the border router in Home Assistant will result in a different border agent ID, which is what the app uses/needs to keep track of border routers, so step 7 will result in a delete + add new credential. The "deleted 1 datasets" part of the log statement is incorrect; this number is simply all datasets managed by the app so even updating an existing one will show deleted 1 updated 1 (to be fixed).
Potential library bug: https://issuetracker.google.com/issues/286158210
The example app also doesn't do anything for clearing the credential which is surprising: https://github.com/google-home/sample-apps-for-matter-android/blob/244ccdd78b7e869fe5260adbe0d051e8c9b5ee29/3p-ecosystem/src/main/java/com/google/homesampleapp/screens/thread/ThreadViewModel.kt#L133-L135
I have not yet tried to replicate this because of a Nest Hub on my network which I need to reset + keep offline while doing this to prevent it from becoming the preferred credential. Maybe/hopefully logcat on device will provide a hint what is happening inside GPS, even if it is redacted.
Are there any updates on this issue? No matter what I do I can't get my Android phone to prefer the HA thread border router. It continues to prefer a no longer connected Nest Hub border router. This causes a conflict and blocks adding new devices.
Hi - I found this thread as I was also having issues with syncing Thread credentials to Android from the Thread integration page (pressing the Import Credentials button) - no matter what I did (including wiping my google play services data) it would not sync. I even tried deleting the OpenThread and Thread integrations from HA and setting everything up from scratch, with no avail.
Then I found another thread (https://community.home-assistant.io/t/matter-over-thread-commissioning-issue-with-gl-inet-s200/695901/2) which talks about a different method of syncing credentials, specifically via the Android app in "Settings -> Companion App -> Troubleshooting -> Sync thread credentials" route. This method of syncing worked for me! It still requires trashing google play services data unfortunately, so it's more of a workaround - but wanted to post it here in case this is the step others are struggling with.
The workaround also worked for me, however it's worth highlighting a few extra things.
My scenario was for Nanoleaf A19s/NL45s & NL65s, but I figure this could apply more broadly. Hope this helps someone!
Home Assistant Android app version(s): 2024.1.2-full
Android version(s): 14
Device model(s): Pixel Pro 8
Home Assistant version: 2024.1.3
Last working Home Assistant release (if known):
Description of problem, include YAML if issue is related to notifications: When creating a new
home-assistant
Thread network in Home Assistant (e.g. via "Reset border router" feature in the Home Assistant Thread integration configuration page) updating the Thread credentials seems not to work.To reproduce:
home-assistant
network as preferred set in Core (sayhome-assistant
network 1)home-assistant
Thread network e.g. by using "Reset border router"home-assistant
network as preferredUp to 7 everything is as expected. However, when trying to commission a device after step 7, it won't work because the credentials didn't really got updated. Step 8 also proves that. It seems the app is not able to update the dataset.