Integrating Google Assistant with Home Assistant: Developer Console Guide

Voice control lets you effortlessly manage lights, thermostats, and robot vacuums in Home Assistant via smart speakers or your smartphone. In the past, setup was typically handled through the Actions on Google console; today, configuration is done via the Google Home Developer Console. Using the cloud-to-cloud method, the integration works reliably.

Loading product data …

What You’ll Need

  • A working Home Assistant installation with external access via a domain and an SSL certificate
  • A Google account
  • Access to your installation’s file manager or configuration directory

1. Create a Project in the Google Home Developer Console

Open the Google Home Developer Console and create a new project by clicking Create a Project. Enter a unique project name and click Create project. Make sure to note down the displayed Project ID right away, as you will need it several times.

2. Set Up the Cloud-to-Cloud Integration

Within your project, select Add a Cloud-to-Cloud integration, then click through Next: Develop at the bottom right to Next: Setup. Choose your desired device types and upload an app icon measuring 144 × 144 pixels.

3. Configure Account Linking

In the same menu under Account Linking, enter your server connection details:

  • OAuth Client ID: https://oauth-redirect.googleusercontent.com/r/[YOUR_PROJECT_ID] (replace the placeholder with your actual project ID)
  • Client Secret: Any string without special characters (not evaluated by Home Assistant)
  • Authorization URL: https://[your-domain:port]/auth/authorize
  • Token URL: https://[your-domain:port]/auth/token
  • Cloud fulfillment URL: https://[your-domain:port]/api/google_assistant
  • Scope(s): Add email and name one after the other

Leave the checkbox for transmission via HTTP basic auth header unchecked and save your draft by clicking Save.

4. Create a Service Account and Enable Synchronization

Switch to Analytics in the left-hand menu and navigate to APIs & Services in the Google Cloud Console via the main menu. Enable device synchronization there. Click Credentials > Create credentials > Service account. Enter a name and assign the Service Accounts > Service Account Token Creator role to the account.

Open the newly created service account, go to the Keys > Add key > Create new key tab, and select the JSON format. Download the file and rename it exactly to SERVICE_ACCOUNT.json. Then place this file into your Home Assistant configuration directory—in the same folder where your configuration.yaml is located.

5. Configure Home Assistant

Add the configuration to your configuration.yaml. Adjust the project ID:

google_assistant:
  project_id: dein-projektname-12345
  service_account: !include SERVICE_ACCOUNT.json
  report_state: true
  expose_by_default: false
  entity_config:
    light.wohnzimmer_decke:
      expose: true
    climate.heizung_wohnbereich:
      expose: true

Save the file and restart Home Assistant via the user interface.

6. Link the Service in the Google Home App

Open the Google Home app on your smartphone, tap the plus icon to add devices, and select Works with Google. Search for your project name and sign in using your Home Assistant credentials.

Does It Work?

Once linked, your exposed entities will immediately appear in the Google Home app and can be turned on or off via voice commands or a quick tap.

Troubleshooting

  • Login errors in the Google Home app: Your Home Assistant instance must be publicly accessible via HTTPS using a hostname and a valid SSL certificate.
  • Devices do not appear: Check your configuration.yaml to ensure entities are explicitly set to expose: true, and restart Home Assistant.
  • Permission errors during state reporting: Verify your sync configuration and make sure the JSON key file is located in the correct configuration folder.

If you prefer to avoid the manual setup across Google’s developer consoles, you can use Nabu Casa instead to enable a ready-made cloud integration in just a few clicks.

Sources: Home Assistant Community Forum, home-assistant.io, simon42.com

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top