-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why does GMS require a Google Account for Matter device comissioning? #168
Comments
This is using the "Google Home Application" (GHA), right? |
@pierredelisle Home Assistant is using the same
I'm assuming this sample app only supports using a Google Nest? I ran through the sample app's Matter commissioning flow for the same Thread device that failed to commission in Home Assistant Companion (even though the sample app doesn't have a Matter controller or Thread border router to use). It failed to commission the device with the same exact error as Home Assistant, attempting to make an authenticated API request to Google's servers. I still don't understand why GMS/Google Home Mobile SDK is requiring you to have a Google account and Internet. This makes it impossible to use Matter on an offline network:
Matter devices should be usable end-to-end without Internet, a Google account or "the cloud", this includes commissioning them. |
Possible to know which device you are trying to commission? What's the VID/PID? |
@pierredelisle, this a Nanoleaf Matter over Thread BR30 lightbulb: https://nanoleaf.me/en-US/products/essentials/bulbs/?category=BR30-E26&standard=matter&size=3 From "Commissionable Devices" in the Sample App: I have many other Matter over Thread devices from other vendors I can try too if needed. |
Thanks. Do you have a Google Thread border router (e.g. Nest Hub)? Was it commissioned via GHA? |
I don't have a Nest, or even a Google account. I only have access to an OpenThread Border Router using a USB radio dongle (https://www.home-assistant.io/skyconnect/) & Home Assistant (to serve as a Matter Controller).
I just compiled and ran the |
A Thread Border Router is needed to support the commissioning of a Matter Thread device. If a Thread Border Router has been commissioned via GHA, then the Thread credentials are available via the Google Home APIs. Any app that uses these APIs will then be able to commission Matter Thread devices. If you commission a WiFi Matter device, then this is not required, and your device can be commissioned by simply using the sample app. |
Sorry, but I'm still not understanding why a Google account is needed to use the Google Home SDK API for Matter over Thread device commissioning. Since I already have a Thread border router and Matter controller connected I should be able to commission devices without "the cloud" or Internet by sending the generated credentials to them directly over my LAN. I'm specifically speaking about the error line: Are you saying that the device commissioning flow is:
|
Agree that the error you point to is confusing, and I wonder if this is not related to something unrelated to Thread. However, if you could try the following: A Google account is definitely necessary for (1). This is what gets the Thread credentials into the Google ecosystem. Also, we will have some Thread "developer utilities" coming up for the sample app. (My colleague Doug should have a PR out soon).
|
@pierredelisle I gave the PR a try and was hoping it would let me dump the created credentials so I could import them into my own Matter controller software. Unfortunately still running into the issue of GMS failing on the I'm going to try debugging GMS on a rooted device to figure what this mysterious Google API request is so we have better info about it soon. |
@pierredelisle just got around to debugging the "authentication" issue with a rooted device and
Can you maybe explain what this |
@pierredelisle could you please open a bug issue ticket on https://issuetracker.google.com/issues?q=componentid%3A655104 for this. I can't open one since I do not have a Google account |
Are you using a rooted device? |
Reason for asking whether you use a rooted device: |
@pierredelisle the original device I tried device commissioning with that got the |
I've read the entire discussion here, and I think there may be a misunderstanding what @zimmyxyz wants and what @pierredelisle understands from the question. From how I understood it, @zimmyxyz wants to use the Google Home SDK, but doesn't wan't to use a device that has GMS on it, for ex. an Android phone with a custom ROM. So the question why the dependence on a Google account is also why the dependency on GMS? Can't we setup devices offline without needing to have GMS, Google account or even internet connection at all? Sorry for busting in on the question, but I was basically wanting to ask the same question, so better here than to open a new issue. |
The Google Home Mobile SDK depends on Google Play Services, and more specifically the "home" module. This is the library code that is needed to run on the phone to provide the functionality offered by the Google Home Mobile SDK. See https://developers.home.google.com/matter/verify-services for more details on checking the Matter modules. |
No, the device I am using DOES have GMS but isn't signed into a Google Account. This is the "issue" that nobody can explain to me. |
I may be wrong, but I think your problem is with thread credential sharing. Matter has not implemented thread credential sharing yet, maybe Matter 1.3? The problem is that the border routers all used different APIs to pass in credentials. So GMS is trying to use a Google Home device as the border router and to use a Google Home device you need a Google account. I suspect you have a border router from a different vendor which you are trying to use. In the current Matter model thread border routers are proprietary things under the vendor's control. Matter thread credential sharing will solve this when it deploys. Something which might work would be to commission your device using the other border router first, and then share it back to Android. |
Curious if anyone can explain the rationale of requiring an Internet connection and a Google Account to commission Matter devices with GMS? Please see home-assistant/android#3859 (comment) for my problem
Is it trying to auth to Google to pull down a picture of the device to display at the end of the commissioning UI flow? I don't understand.
The text was updated successfully, but these errors were encountered: