Vous avez la possibilité de commander toutes vos entités, ou automatisations de Home Assistant à la voix en passant par votre assistant personnel Google Home.
Il existe une méthode rapide, simple via le cloud de Home Assistant (Nabu Casa). Cette solution vous en coûtera 5 euros par mois.
La méthode décrite ici, vous explique comment accéder au même service GH sans débourser le moindre centime.
Niveau requis
- Débutant / Intermédiaire / Avancé
Matériels nécessaires / Matériels utilisés / 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
Installation / configuration.
Configuration des 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
Cliquez sur Build your Action
Dans le champs Fullfilment URL
saisissez:
https://[URL de votre HA:Port]/api/google_assistant
NOTA : 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/
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
Configure your client
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ée 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 a télécharger renommer le “SERVICE_ACCOUNT.JSON” une fois récupéré.
Vous déposez ce fichier sur la répertoire /config de votre machine HA
Configuration dans configuration.yaml.
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
Rendez-vous 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 GH 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.
Trucs & astuces.
Classe de vos entités
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”.
Elles sera prise en compte quand vous demanderez à GH d’allumer toutes les lumières
Conclusion.
Voilà la manière de configurer manuellement votre GH pour la prise en compte de toutes vos entités HA pour les commander à la voix.
Une question, un problème
Suivi des modifications
-
01/02/2021 : Passage en article officiel (
) @Clemalex
- 25/11/2020 : Changement de la partie « création de la clé » suite aux modifications de Google @Jeoffrey
- 17/07/2020 : Ajout de la note sur le port reporté par @Jonathan_Sebban
- 26/06/2020 : V1 @McFly
- 23/05/2020 : Création @fredarro