Configurer Google Assistant sans Nabu Casa

Vous souhaitez pouvoir piloter votre domotique à la voix ? Vous avez choisi l'assistant vocal Google ? vous n'accédez pas à Home Assistant via Nabu Casa ? Alors cet article vous concerne.
Configurer Google Assistant sans Nabu Casa

Sommaire

Piloter à la voix via un assistant vocal sa maison est très pratique et sera apprécié par tous les membres de la famille (et effet waouh garanti).

Pour que votre maison soit pilotable à la voix, vous avez le choix entre trois solutions :

  • Une solution DYI utilisant Assist, l'agent de conversation de Home Assistant (voir l'article Année de la voix - Chapitre 5)
  • L'assistant d'Amazon : Amazon Alexa, avec ses enceintes connectées Echo.
  • L'assistant de Google : Google Home et les enceintes Nest. C'est ce que nous allons utiliser ici.

L'intégration Google Home sera différente si vous avez pris une souscription Nabu Casa ou non. Nous ne pouvons que conseiller la souscription Nabu Casa (75€ par an) : vous soutenez les créateurs de Home Assistant, vous sécurisez votre accès et enfin l'intégration des assistants vocaux est simplifiée.

Dans cet article, nous allons voir comment mettre en place l'intégration Google Home dans Home Assistant SANS Nabu Casa.

Prérequis
- Une installation HA fonctionnelle
- Accès externe à notre installation HA avec SSL
- Un appareil Google Home fonctionnel
- L’application Google Home installée sur notre téléphone

Configurez les services Google

Rendez-vous sur les Actions Google pour créer votre projet.

Cliquez sur New Projet

Acceptez les termes du service et cliquez sur Agree and continue

Donnez un nom à votre projet “home assistant” par exemple
Choisissez votre langue et localisation.
Puis cliquez sur Create project

Cliquez sur Smart Home puisStart Buildin

Cliquez sur Build your Action

Dans le champ Fullfilment URL saisissez :

https://[URL de votre HA:Port]/api/google_assistant
💡
Le port n’est pas obligatoire si vous utilisez le port par défaut 8123. (Merci Jonathan S)

Puis cliquez sur Save (en haut à droite).

Cliquez sur Account linking sur la barre latérale.

Renseignez les champs suivants :

  • Client ID: https://oauth-redirect.googleusercontent.com/r/[PROJECT_ID]
  • Client secret : HACF (pas utilisé pour notre projet)
  • Authorization URL : https://[URL de votre HA:Port]/auth/authorize
  • Token URL : https://[URL de votre HA:Port]/auth/token

Puis cliquez sur Next

Puis cliquez sur Next

  • Saisissez email et cliquez sur Add scope
  • Saisissez name et cliquez sur Add scope
  • Ne cochez pas la case Google to transmit clientID and secret via HTTP basic auth header

Cliquez sur Next puis sur Save

Cliquez sur Test (en haut à droite sous votre nom de projet)

Votre projet est créé et testé.

Pour synchroniser les appareils Home Assistant avec Google Home, nous devons activer l’API HomeGraph à partir de Google Cloud Console.

Pour ce faire, rendez-vous sur : https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview

Sélectionner votre projet dans la barre du haut (S’il ne l’ai pas déjà) puis cliquer sur ACTIVER.

Dans le menu, sélectionner identifiants.

Dans comptes et services cliquer sur Gérer les comptes et services puis créer un compte de service.

Donner un nom (home assistant par exemple) puis cliquer sur créer.

Puis dans la liste Rôle, sélectionnez Service Account puis Créateur de jeton du compte de service. Cliquer sur CONTINUER. Puis sur OK.

Vous revenez ensuite sur la page « Comptes de services », et vous devriez voir apparaitre celui que vous venez de créer. En face de votre compte de service, cliquez sur les 3 petits points, puis Créer une clé.

Choisissez le type de clé JSON, et cliquez sur Créer.

Vous avez un fichier à télécharger. Renommer le “SERVICE_ACCOUNT.JSON” une fois récupéré.
Vous déposez ce fichier sur le répertoire /config de votre machine HA

Configurez Home Assistant

Il vous faut maintenant configurer Home Assistant. Pour cela, ajoutez ces lignes dans votre fichier configuration.yaml :

google_assistant:
  project_id: fluid-guide-277417
  service_account: !include SERVICE_ACCOUNT.JSON
  report_state: true
  exposed_domains:
    - switch
    - light

Le project_id peut être récupéré ici (En cliquant sur votre projet dans la barre bleu) :

Redémarrez votre serveur Home Assistant.

⚠️
REMARQUE
Il est important de bien définir vos appareils dans HA.
Par exemple, si vous utilisez une prise connectée pour allumer ou éteindre une lampe, déclarez là comme une “light”. Elle sera prise en compte quand vous demanderez à GH d’allumer toutes les lumières

Configurez Google Home sur votre smartphone

  • Installez et accédez à l’application Google Home.
  • Cliquez sur le + en haut à gauche
  • Cliquez sur Configurer un appareil

Cliquez sur Fonction avec Google

Vous voilà prêt à commander vos lumières ou vos switchs par la voix en utilisant votre Google Assistant ou votre application smartphone.

Synchronisez vos appareils

Après chaque modification de votre fichier configuration, vous devez prononcer la phrase magique :

"OK Google, synchronise mes appareils"

Cela permettra à Google Assistant de mettre à jour la liste de vos appareils sur Google Home.

Conclusion

Voilà la manière de configurer manuellement votre Google Home pour la prise en compte de toutes vos entités HA pour les commander à la voix.