Google Assistant SDK Add-on is not working

Hi, I am currently trying to set up the Google Assistant SDK Add-on but the documentation seems to be outdated…
Just to tell you right at the beginning I do not want to setup the Google Assistant component.

I get everything working up until the authorization and the log file also shows no errors:

[Info] Install/Update service client_secrets file
[Info] Run Hass.io GAssisant SDK

The only problem that could be is that I am doing something wrong in the Config because I have no clue what to put inside the model_id. Is this ID something I can define whatever I want or do I have to put in some number or something.

Thanks in advance
Malte :slight_smile:

1 Like

Hi! Good to meet another “Off-brand-home-made-Google=Home” user :slight_smile:. I was rather alarmed that there haven’t been a flurry of questions/tickets opened on this matter…Thought I was the only person interested in getting answers. Anyway, I got mine working…

The bad news is Google seems to INSIST you set up the Google Assistant component (at least the beginning half) for the SDK bits to work…Unifying/streamlining both processes, perhaps?

From what I can gather, Google has made some changes to their API to include additional information on the client device (hassio in our case). This way you’re able to attach custom intents/triggers etc to different devices etc. The new authentication now requires some extra credentials as you can probably guess… These are

  1. client secrets that you download from your project OAUTH2 (what we’ve been using previously)

  2. New stuff: “model_id” Previously this wasn’t part of the process but now it does seem mandatory. Go back to your GCloud project and try to register a “device” and associate it with your project. I couldn’t get this done (the device registration option was missing from my Google Actions console). I ended up creating a new Project and re-doing the entire integration… Info on how to do this: https://developers.google.com/assistant/sdk/guides/library/python/embed/register-device
    (you may want to start reading the Guide from the top so you won’t miss steps, especially if you’re starting an new Project from scratch

  3. After registration you’ll be provided with more another JSON file (credentials.json) You’ll want to dump this into the same /share directory as your google_assistant.json

  4. The registration also now requires you to provide Google with a unique pair of strings (client ID and access token) for security purposes you may want to randomly generate these strings (up to 80 characters long!). You’ll need these strings for when you “Link an account” to finish up the integration.

The steps for this and for finishing up the config are actually in the (slightly) updated GAssistant SDK addon page. https://www.home-assistant.io/components/google_assistant/
It’s just not very clear to folks who don’t write code everyday and also there’s no mention of the model ID stuff (probably written before the API change) event though they mentioned the client ID stuff (don’t remember ever having to do this…).

Be patient, read through everything (especially the guide from Google mentioned above) and you’ll have a breakthrough. Took me DAYS before it finally dawned on me WHAT I was actually required to do and WHY.

Was trying to be brief, but the entire thing is rather complex especially if we don’t code web stuff for a living… I didn’t want to have to write an entire manual, but I hope you got enough of an idea to figure it out… If you’d like some more clues, holler and i’ll TRY to get back to you… No guarantees, and I may not reply immediately, but like I said, I will try… Again, I’m not an expert on this stuff, but I can try to piece back the steps I made over nearly a week of trial and error (and plenty of cursing!).

Good luck!! (pardon the messy appearance, the rich text editor behaves weird on my browser…)

3 Likes

Additional pointers…

in step 1 of the Setup documents for the addon:

Create a new project in the developer console. a. Add/Import project b. Click on BUILD on the Smart home card c. Type in your home assistant url: https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant, replace the [YOUR HOME ASSISTANT URL:PORT] with the domain / ip address and the port under which your Home Assistant is reachable. d. Click Done. Then click on Overview, which will lead you to the app details screen.

I think it’s clear that it was written at a time when the console interface (and the entire process) was less complex as there seems to be missing steps. DON’T select Smart Home and “Build”… you won’t get a “Device Registration” option if you do this… Instead, start a new “Action” but select the pre-packaged “Smart Home” package under “Home Control” and import it. Clues: https://github.com/actions-on-google/smart-home-nodejs

Hope this helps a little more!

2 Likes

Hi! Thanks for the effort you put into helping me out by writing this. It seems to be pretty detailed and I will try it out as soon as I find the time for that. Then I will come back and tell you if it worked for me or not.

Talk to you later.

i am confused.
I had the google assistant sdk working until it upgraded to 2.1
now it does not work.
using these forums I’ve found some advice but it all seems to be at the “google assistant” rather than “google assistant sdk”
all i want is to be able to say “ok google” and ask it a question or set a timer, etc.
this was working but not any more.
the google console must be changing a lot as what is written in these forums does not match what I see in the console.
The google device registration seems to be about setting up a device I want to control with google assistant - which is not what I want to do.
how can I get back to what the earlier version of the sdk did?

thanks

Do I dont want to sound to stupid but here we go. I am running Hassio with Home Assistant cloud I thought I read somewhere that with the HA cloud your Google Assistant setup would change. I have installed Google Assistant SDK I am able to do Voice commands through my Google Home and devices are populating in Google Home app on Android. Here is where I am not sure what is wrong in Hassio with Google Assistant SDK. I installed the addon and ran the app GA SDK. If I go into Hassio it shows GA SDK but it is not running. How do I get GA SDK to run in Hassio. I sure hope this makes a little bit of sense.

Hi derekwit,

Google recently (over the past week and a half or so) made a change to their API and requires a “device registration” for the HA-Google-HA authentication to complete. Our Addon documentation has not quite been updated to reflect this and left quite a few of us scratching our heads… I have managed to get mine up and runnng again,discussed it in another thread here Check it out, hope it helps!

Thanks again for the detailed description! Today I found the time to try it all out, but sadly no success…
I created a model_id but this didn’t change anything at all. I still get the same log as before. Any other suggestions?

try recreating the project

Did you solve this? i have the same error…

I couple of days ago I just created a new project and everything worked as expected but I couldn’t tell you what made the difference…

I’ve made 4 new projects the last few days, trying to get this to work :stuck_out_tongue:

Oh no… Having updated my Hassio to 64-bit HassOS, we now find out that the GAss SDK add-on doesn’t do 64-bit. Endless frustration!!! Have half a mind to just junk the whole idea of Google Assistant on HASS, bite the bullet and drop some cash on a “real” Google Home speaker :frowning:.

does it work for you guys? i followed all instructions and got this:

[Info] Install/Update service client_secrets file
[Info] Start WebUI for handling oauth2
[17/Nov/2018:13:13:36] ENGINE Listening for SIGTERM.
[17/Nov/2018:13:13:36] ENGINE Listening for SIGUSR1.
[17/Nov/2018:13:13:36] ENGINE Listening for SIGHUP.
[17/Nov/2018:13:13:36] ENGINE Bus STARTING
CherryPy Checker:
The Application mounted at '' has an empty config.

[17/Nov/2018:13:13:36] ENGINE Started monitor thread 'Autoreloader'.
[17/Nov/2018:13:13:36] ENGINE Serving on http://0.0.0.0:9324
[17/Nov/2018:13:13:36] ENGINE Bus STARTED

Trying to say “ok google”, “hey google” to mi usb mic with no response

@deviant - Did you ever get this working? I am trying to get this setup for the first time myself, and I am getting the exact same log output you did (IE: CherryPy Checker: The Application mounted at '' has an empty config. instead of the list of audio devices).