I am just done with setting up my home assistant instance via docker. It is external accessible with a hostname and SSL certificate (duckdns and nginx). I’ve also did all the steps on: Google Assistant - Home Assistant to set up my home assistant integration.
Only step I differ from is the URL field, where instead of using this address: https://[yourdomain:port]/auth/authorize. I used this one: https://yourdomain.duckdns.org/auth/authorize, because of using nginx.
In my configuration.yaml I added the following (where YOUR_PROJECT_ID is my projectname from the google developer console):
If I try to connect home assistant to google home in the google home app, I can access my login screen from home assistant, but after that I get a 404 error, which states that the requested URL is not found on this server. But that is only after I filled in the correct username and password and enter home assistant.
I think I messed something up with my configuration.yaml, but I’m not sure what or if it is even the configuration.yaml. Can anyone help me with what I did wrong?
I had indeed the same redirection as you. Today I think I found the solution. I’ve added in the google cloud console an oath client id under credentials. In this oath client id I only added the following redirect url: https://oauth-redirect.googleusercontent.com/r/[YOUR_PROJECT_ID]. After that I redid steps 3 and further from: Google Assistant - Home Assistant and I can connect to home assistant from within the google home app. Seems there is just one step missing from the how to from previous website (or it didn’t did it automatically for me.
It seems it only works on an iPad and not on my Samsung phone. If I try to reload on my Samsung phone I still get the 404-error, but after importing on my iPad I can see all the entities also on my Samsung phone. Don’t know why this happens, but perhaps it is because of the web browser (safari vs firefox with an adblocker), else I don’t understand the difference.
EDIT: managed to use a friend’s iphone. I can confirm that the oauth process (using your addition) only works on iOS.
I’ll try to file a bug report in the next few days.
Didn’t work for me. But I don’t have an ipad.
What kind of oauth cliend id did you create? (I created a webapplication one but maybe you created another…)
Also, it forced me to create an oauth consent screen, did it do it for you to?
I used the web application indeed. On my android it still didn’t work, but on an iPad/iPhone it will. It seems very strange, and I don’t know why this workaround does or doesn’t work. Perhaps the problem is on googles side. I notice that google voice assistant sometimes struggles, while gemini on my phone works directly.
I’m facing the same issue and did some more testing.
The redirect to /r/[project_id] works fine. But that very URI then responds with another redirect to /a/com.google.android.apps.chromecast.app.
Hi, I’ve been trying for weeks to configure the Google Assistant integration following the official guide (https://www.home-assistant.io/integrations/google_assistant/), but every time I got stuck when trying to add my [test] Custom HA application service in Google Home.
This morning I read bmn’s comment and immediately grabbed a (trustworthy! :D) iOS device, downloaded Google Home, and logged into my account. I can confirm that I was finally able to complete the integration setup.
I have no idea whether iOS can be emulated — possibly in a safe way — for those who don’t have access to Apple devices.
In the meantime, thanks a lot, Max!
Same error encountered here while configuring a new HA instance. After entering the credentials, the 404 error appears. No ios devices avaliable around at the moment, so will open an issue.
Not providing a solution, but confirming the same issue and with Android. No iOS available here. Went over the steps several times and used up a lot of tokens with Gemini to find a solution. But not yet working for me either.
So it seems there’s a google issue redirecting on android devices.
Finally found the solution: in the HA login page, select “Open in browser” and select your favorite browser. Once completed the login, select Google Home as the browser.
explanation: when adding the “test app” to google home my android device renders the home assistant login page with the default browser (Chrome in my particular case). If you login on this page the redirect does not return to google home app. Selecting open in browser lets you select what app will open the link.