Master Build | Develop Build |
---|---|
My Home Assistant Configuration Files
- Vera
- Google Chromecast
- Apple TV
- Rachio
For a full walkthrough reference HomeAssistant.io
The below processes are brief notes used to set up my Google Assistant Integration with Home Assistant
Home Assistant to Google Assistant workflow:
Google Assistant Interaction
![]() |
Click to Expand...
- Enable the `google_assistant` component in your [HA config](configuration.yaml) file
- Choose which components to expose from HA to GA. *(I chose to expose Lights, Scenes, and Climate Control)*
- Test config and **reset HA Service**, this will enable the GA API into HA
Click to Expand...
- Download gactions CLI in your bin directory
- Create a new
project.json
file following the HA Guide. This will be used to generate a secret for the Google project in the preceding step. - Create a new Google Developer Project through the Developer Console.
- Link your Environment via the gactions: (my evn is a Pi, your env could be a docker or virtPython)
cd bin; chmod +x gactions
./gactions update --action_package project.json --project YourProjectName-2d0b8
- The
gactions
script will pause and issue a url to authenticate against your Google ID. Once you open the link in a browser, it will give you a key to continue with thegactions
script. - You should now notice a
creds.data
file is now created in the bin directory. This is specific key between your environment and the Google Project.
- Finish out the required Account Linking within your Google Project following the HA Guide.
- This step is rather lengthy.
- Ensure your Authorization URL has the proper URL:
https://[site.com]:8123/api/google_assistant/auth
- Look for the TEST DRAFT button, once you're project is in the testing phase, you should be able to add your project on your phone's Google Assistant by:
- Google Assistant > Settings > Home Control > Add Devices(+)
- look for:
[test] ProjectName
- Once selected, you should start to see the devices that you allowed GA to know about from the Home Assistant configuration section above.
configuration.yaml
google_assistant: !include includes/google_assistant.yaml
includes/google_assistant.yaml
project_id: !secret ga_project_id
client_id: !secret ga_client_id
access_token: !secret ga_token
agent_user_id: !secret ga_user
api_key: !secret ga_api
exposed_domains:
- light
- scene
- climate
secrets.yaml
ga_project_id: project-id
ga_client_id: long-string (used in GProject > Account linking > Client ID)
ga_token: this-is-a-token (random token)
ga_user: user (used for request_sync services)
ga_api: api-key (used for request_sync services)
- Download gactions CLI
- Create a new
project.json
- Link new env:
./gactions update --action_package project.json --project YourProjectName-2d0b8
- Unlink - Relink within Google Assistant phone app (step 6 above).
- Test HA config / Restart HA service
- Select your app in Google Console.
- Press TEST DRAFT to resync GA -to- HA
- Unlink / Relink your [test] App on Google Assistant in your phone.
Thanks to all the people in the gitter community for listening and help
And thanks to all the devs that create the Home Assistant magic