Home Assistant est de loin le meilleur logiciel de domotique que j’ai utilisé. Une chose qui rendrait encore mieux c’est si je pouvais contrôler assistant à domicile avec Google Home.
Le principal avantage des concentrateurs Smart Home, tels que SmartThings, Wink, etc., par rapport à l’assistant domestique, réside dans l’intégration à Google Assistant, qui permet de contrôler les périphériques connectés au concentrateur. Plus maintenant. La version 0.56 a ajouté l’intégration Home Assistant Google Assistant. Cela a été encore simplifié avec l’introduction du cloud Home Assistant dans la version 0.60.[[Lis: Samsung SmartThings vs Wink Hub – Quel est le meilleur pour qui?]
Dans cet article, je vais vous montrer comment configurer Google Assistant pour Home Assistant avec et sans l’aide de Home Assistant Cloud, qui coûte 5 USD par mois. La méthode libre a certaines exigences et peut être fastidieuse à installer, mais ce n’est pas si difficile et elle est GRATUITE.
Changelog:
- 17 octobre 2018 – La version 0.8 de Home Assistant a subi un changement radical qui a affecté Google Assistant. Mise à jour du guide avec de nouvelles instructions.
Avantages de l’accueil adjoint – Intégration de Google assistant
L’avantage évident est la possibilité de contrôler des appareils tels que des éclairages, des commutateurs, etc. connectés à votre assistant personnel, en utilisant votre voix, soit sur vos appareils portables dotés de Google Assistant, soit sur Google Home. Si vous tenez compte du fait que Home Assistant intègre une intégration pour plus de 1 000 composants, vous pourrez faire beaucoup plus de choses avec votre voix que SmartThings, Wink ou tout autre hub similaire.
Voici quelques exemples peu communs mais passionnants:
- Je peux activer le mode vacances en utilisant ma voix. Toutes les automatisations d’assistant à domicile incluant le mode vacances seront automatiquement activées.
- Si vous êtes un fan de Docker, vous pouvez gérer vos conteneurs de docker à l’aide de votre page d’accueil Google (un guide séparé sur ce sujet suivra). Je peux utiliser des commandes vocales pour démarrer, arrêter ou redémarrer l’assistant personnel, le contrôleur UniFi, Plex, Embry, Radarr, Sonarr, etc. que j’utilise avec Docker, comme décrit dans mon Docker Media Server pPost.
- Je peux démarrer, arrêter ou redémarrer des téléchargements (Transmission, SABnzbd, etc.). Je peux même activer des vitesses de téléchargement alternatives dans Transmission en utilisant ma voix.
- J’active et active une entrée booléenne, ce qui déclenche une automatisation pour envoyer une commande «OK» à mon téléviseur. J’utilise cette option pour ignorer les annonces vocales lorsque mes enfants regardent YouTube.
Voyons donc comment configurer Google Assistant pour Home Assistant.
Configurer Google Assistant pour l’assistant d’accueil
Comme expliqué précédemment, il existe désormais deux façons d’intégrer Google Assistant afin que vous puissiez utiliser Google Home avec Home Assistant. La méthode la plus simple, mais pas gratuite (5 USD par mois), consiste à utiliser le service cloud de Home Assistant, qui offre également une intégration avec Amazon Alexa. La lourdeur (ce n’est pas si difficile et je vais la parcourir) nécessite un peu de configuration mais est gratuite. Je vais couvrir les deux dans ce guide.
1. Configuration de Google Assistant pour Home Assistant sans service Cloud – Gratuit
La configuration de Google Assistant pour Home Assistant est basée sur le composant Google Assistant. Cette méthode a quelques exigences clés:
1.1. Exigences
- L’assistant à domicile doit être accessible de l’extérieur depuis Internet. Cela peut nécessiter un transfert de port sur votre routeur et peut constituer un risque pour la sécurité s’il n’est pas effectué correctement.
- Un nom de domaine (example.com) ou un serveur DNS dynamique (par exemple, DuckDNS ou Afraid) sur votre IP personnelle.
- Un certificat SSL certifié (non auto-signé) pour votre nom de domaine ou votre DNS Dynamid.
Si vous avez suivi les guides relatifs à mon serveur multimédia Docker et à mon proxy Traefik, il est assez facile de configurer une instance d’assistant d’accueil avec Docker, derrière le proxy inverse Traefik et le certificat SSL automatique Let Encrypt. Vous devez uniquement exposer le port 443 (pour HTTPS) à Internet plutôt qu’au port de l’assistant personnel, ce qui renforce la sécurité.
Une fois que vous avez satisfait aux exigences, laissez-nous commencer par configurer Google Assistant pour Home Assistant.
1.2. Créer des actions sur le projet Google
Ce processus implique la création d’une action Google Smart Home et l’obtention des informations d’identification pour y accéder. Avant de pouvoir contrôler Home Assistant avec Google Home, vous devez disposer des informations suivantes:
- project_id – ID du projet à partir de la console développeur Google
client_id – Une longue chaîne aléatoire utilisée pour OAuth implicite– Inutile depuis Home Assistant v0.80.access_token – Une autre longue chaîne aléatoire. Pas vraiment utilisé n’importe où mais nécessaire– Inutile depuis Home Assistant v0.80.
Allez sur Actions sur la console Google / Developer, créez un nouveau projet Actions et attribuez un nom, comme indiqué ci-dessous. Le nom pourrait être tout ce que vous pouvez reconnaître.
Dans l’écran suivant, choisissez Contrôle à domicile pour la catégorie, suivi de Maison intelligente pour le type.
Ensuite, sous Vue d’ensemble, sélectionnez Nommez votre action Smart Home, comme indiqué ci-dessous.
Indiquez un nom que vous utiliserez pour appeler votre assistant personnel sur Google Home ou Google Assistant. Malheureusement, vous ne pouvez pas appeler votre instance d’assistant à domicile Assistant de maison car il contient le mot «assistant», ce qui est interdit. Vous devrez trouver quelque chose de créatif et ne vous dérange pas. Ne pas utiliser “Mr. Hass ”, je ne pouvais pas que mon google home reconnaisse cela correctement.
Passez ensuite à la configuration de la liaison de compte pour l’action.
Laissez la sélection par défaut ici – Non, je souhaite uniquement autoriser la création de compte sur mon site Web., comme indiqué ci-dessous.
Ensuite, pour le type de lien, choisissez OAuth et Code d’autorisation, comme indiqué ci-dessous.
Ensuite, vous devrez fournir les informations sur le client comme indiqué ci-dessous:
Personnalisez les éléments suivants:
- Identité du client: Doit être https://oauth-redirect.googleusercontent.com/ (y compris la barre oblique de fin).
- Secret du client: Requis par Google Actions mais non utilisé par l’Assistant Home. Il peut donc être une chaîne aléatoire. Bien qu’il soit excessif, vous pouvez utiliser cet outil en ligne pour générer une chaîne aléatoire, comme indiqué ci-dessous.
Pour URL d’autorisation utilisez le suivant:
https://hass.example.com/auth/authorize
Pour URL de jeton utilisez le suivant:
https://hass.example.com/auth/token
Personnalisez les éléments suivants pour URL d’autorisation et URL de jeton:
- hass.example.com: Utilisez votre DNS dynamique ou nom de domaine. Dans mon cas, HASS est sous son propre sous-domaine derrière Traefik Reverse Proxy. Si le vôtre est exposé via un port, vous pouvez utiliser exemple.com:8123, où 8123 est votre port d’assistant d’accueil.
Ensuite, définissez les deux portées suivantes: prénom et email, comme indiqué ci-dessous:
Google transmettra le clientID et le secret via HTTP basic auth doit être laissé non réprimé. Avec les bases prises en charge, nous pouvons maintenant construire l’action. Cliquer sur Ajouter des actions, comme indiqué ci-dessous.
URL de traitement est le même que le URL d’autorisation, sans le / auth? api_password = YOURAPIPASSWORD à la fin. Par conséquent, il devrait ressembler à ce qui suit:
https://hass.example.com/api/google_assistant
Encore une fois, personnalisez hass.example.com comme décrit précédemment. Ensuite, choisissez Actions de test dans le simulateur et fournissez un compte test, comme indiqué ci-dessous. Cela peut être n’importe quoi puisque nous ne testons rien. Alors tester c’est bien.
L’action de construction est maintenant terminée. Ensuite, vous devrez fournir des informations sur le déploiement. Du Vue d’ensemble écran choisir Entrez les informations requises pour inscrire votre action dans le répertoire actions..
En fait, nous n’inscrireons pas notre action dans l’annuaire. Nous allons le laisser en mode « brouillon ». Ne vous mêlez pas des détails que vous fournissez. Tout d’abord, fournissez une description comme indiqué ci-dessous. Cela peut être n’importe quoi.
Ensuite, fournissez une image de fond et une icône pour votre action. Seule l’icône est requise. Comme vous pouvez le voir ci-dessous, je viens d’utiliser l’icône d’auxiliaire d’accueil ici.
Ensuite, pour les coordonnées, indiquez votre identifiant de messagerie. Ce ne sera pas affiché publiquement. Ne vous inquiétez pas.
Enfin, pour un lien vers la politique de confidentialité, fournissez simplement n’importe quel lien. Je viens d’utiliser l’URL du site Web de Home Assistant ici.
Après avoir terminé toutes les étapes ci-dessus, vous devez maintenant avoir satisfait à toutes les exigences pour libérer l’action.
Cliquer sur Simulateur comme indiqué ci-dessous et Commencer à tester. Ne vous inquiétez pas, cela ne testera pas vraiment quoi que ce soit à ce stade.
Un écran ressemblant à celui ci-dessous vous sera présenté. Vous n’avez rien à faire ici.
Enfin, cliquez sur l’icône de la roue comme indiqué ci-dessous, allez à Paramètres du projetet enregistrez l’ID du projet. Cela est nécessaire pour configurer Google Assistant pour Home Assistant.
1.3. Créer API Google Console clé pour le projet
La clé API est facultative. Mais sans cela, vous ne pourrez pas dire «Ok Google, synchroniser mes appareils”Pour mettre à jour les périphériques de l’assistant d’accueil répertoriés dans votre application Google Home. Par conséquent, si vous ajoutez de nouveaux appareils à votre assistant personnel après la configuration de Google Assistant, vous devrez dissocier et lier de nouveau votre compte à votre compte pour qu’ils s’affichent sur votre Google Home App. Ce faisant, vous perdrez les personnalisations telles que les surnoms et les attributions de salles. Par conséquent, fournir un clé API
est fortement recommandé.
Dirigez-vous sur la console Google Cloud et choisissez le projet que vous avez créé à l’étape précédente, comme indiqué ci-dessous. Ensuite, cliquez sur Activer les API et les services bouton.
Recherchez, recherchez et activez «l’API Homegraph».
Ensuite, cliquez sur Lettres de créance et créer une nouvelle clé API.
Notez la clé API affichée. Vous pouvez terminer ici, mais je vous suggère de cliquer sur Clé de restriction.
À tout le moins, attribuez un nom à la clé d’API afin de pouvoir reconnaître l’utilisation de celle-ci. Si vous savez ce que vous faites, vous pouvez limiter l’API à l’IP WAN de votre assistant domestique ou définir d’autres restrictions pour l’utilisation des clés. Mais ce n’est pas nécessaire.
Phew! Tout cela concerne la configuration de Google. Il est maintenant temps d’ajouter le composant Google Assistant à Home Assistant.
1.4. Ajouter Google Assistant à Home Assistant
L’ID client, l’ID de projet, le jeton d’accès et la clé API générés aux étapes précédentes permettent d’ajouter le composant Google Assistant à l’Assistant principal. Ouvrez votre configuration.yaml
fichier et ajoutez le bloc de code suivant:
google_assistant: project_id: PROJECTID clé_api: APIKEY domaines_exposés: - lumière
Remplacer PROJECTID, CLIENTID, ACCESSTOKEN, et APIKEY avec ce que vous avez noté dans les étapes précédentes. Vous pouvez mettre plusieurs domaines (types de périphériques) à la disposition de Google Assistant. La liste complète peut être trouvée ici. Cette page propose également plusieurs autres moyens de personnaliser les périphériques disponibles pour Home Assistant et leur disponibilité. Je n’expose que ma lumière intelligente dans ce guide pour plus de simplicité. Il est préférable de commencer avec un ou plusieurs domaines et d’ajouter sans cesse d’autres domaines / entités pour ne pas être submergé par des centaines de nouveaux appareils encombrant votre application Google Home. Sinon, vous avez également la possibilité de spécifier explicitement les entités pouvant apparaître sur l’application Google Home.
Enregistrez votre fichier de configuration et redémarrez l’assistant d’accueil.
2. Configuration de Google Assistant dans Home Assistant Cloud – 5 $ par mois
L’introduction du service cloud en 2018 a considérablement simplifié l’intégration d’Amazon Alexa et de Google Assistant sur Home Assistant. Vous n’avez pas besoin de créer de projets, d’identifiants, de clés API, etc., ce qui simplifie grandement le contrôle de home assistant avec google home. L’inconvénient est que le service cloud coûte 5 USD par mois.
Le service cloud crée un lien sécurisé entre votre instance d’accueil et le cloud de l’assistant d’accueil. Vos commandes vocales sont envoyées vers le cloud de Home Assistant, traitées et une réponse est renvoyée à votre instance HASS.
2.1. Inscrivez-vous ou connectez-vous à Home Assistant Cloud Account
Le cloud Home Assistant est administré par Nabu Casa. Pour vous inscrire ou vous connecter, allez à Configuration->Home Assistant Cloud depuis votre interface utilisateur à domicile.
Si vous avez déjà un compte, connectez-vous maintenant. Si vous ne le faites pas, vous pouvez créer un compte. Créer un compte ici créera un compte d’essai de 31 jours sur Nabucasa.com. Au-delà de la période d’essai de 31 jours, le service cloud vous coûtera 5 $ par mois.
2.2. Ajouter Google Assistant à Home Assistant
Une fois inscrit au service Cloud, vous pouvez ouvrir votre application Google Home et lier le compte. Toutefois, je ne recommande pas cette opération, car le service cloud rend par défaut tous les domaines / entités de l’assistant d’accueil disponibles sur Google Home. Cela peut représenter plusieurs centaines d’appareils si vous avez une configuration HASS complète. Je recommande d’ajouter des appareils par étapes. Dans ce guide, je n’inclus que les lumières intelligentes.
Ouvrez votre configuration.yaml
fichier et ajoutez le bloc de code suivant:
nuage: google_actions: filtre: include_domains: - lumière
Vous trouverez sur cette page des informations sur les manières de personnaliser les périphériques disponibles pour Home Assistant et leur disponibilité.
Enregistrez votre fichier de configuration et redémarrez l’assistant d’accueil. Il y a tout ce qu’il y a à configurer Google Assistant via le cloud de l’assistant domestique.
3. Configurer Google Home App
Sur votre appareil Android, ouvrez votre application Google Home en utilisant le même compte Google que celui utilisé pour créer les projets ci-dessus, puis accédez à la section Contrôle de la maison du menu. Sous Ajouter nouveau vous devriez voir l’action Smart Home que vous avez créée ci-dessus. Dans ce guide, il est M. Pippin. Notez que le [test] devant indique qu’il s’agit d’un brouillon et qu’il n’est pas accessible au public, ce qui est bien. Si vous avez opté pour le Home Assistant Cloud, vous devrez alors rechercher hass.io (ignorez le nom hass.io, cela fonctionnera pour n’importe quelle instance d’assistant domestique) et ajoutez-le.
Une fois que vous avez sélectionné votre action Smart Home, Google Home App s’authentifiera et devrait vous fournir une liste des appareils trouvés. Si vous avez sélectionné l’option cloud, vous devrez vous connecter à votre compte Nabucasa (compte cloud Home Assistant). Pour l’option gratuite, il vous sera demandé de vous connecter à home assistant. Dans cet exemple, un seul périphérique est ajouté (vous pouvez en avoir plusieurs autres selon votre situation). Une fois personnalisés avec les informations de pseudonyme et de salle, ces appareils doivent figurer dans votre liste d’appareils, comme indiqué ci-dessous.
L’interrupteur HomeSeer est l’un des meilleurs interrupteurs Z-wave. Il contrôle mes lumières de garage et maintenant je peux dire “OK Google, allume les lumières du garage”Et ça devrait marcher.
Assistant de contrôle avec Google Home
La configuration de Google Assistant pour HASS était assez difficile. Grâce au service cloud, l’intégration à domicile de Google home assistance à domicile est si simple, même pour les utilisateurs non avertis. Même la méthode gratuite s’est considérablement simplifiée au fil des mois. Les deux méthodes fonctionnent de la même manière et celle que vous utilisez est une question de préférence personnelle. Si vous aimez Home Assistant, qui est gratuit, l’option Cloud vous permettra non seulement de réduire le travail de votre côté, mais également de prendre en charge les activités de développement de Home Assistant.
Ne pas être capable de contrôler ma voix en SSHA était l’un de mes plus gros inconvénients. C’est l’une des raisons pour lesquelles Samsung SmartThings et Home Assistant ont été exécutés pour des activités domotiques. J’ai lentement commencé à migrer tous mes appareils vers Home Assistant.
La page du composant Google Assistant sur le site Web de Home Assistant contient des instructions pour configurer Google Assistant pour Home Assistant. Cependant, j’ai trouvé que les détails ne reflétaient pas exactement la façon dont les choses se font aujourd’hui (même si vous pouvez toujours comprendre). De plus, j’ai essayé de faciliter la tâche des débutants en ajoutant des images à différentes étapes. J’espère que d’autres trouveront ce guide utile. Allez-y, configurez Google Assistant pour Home Assistant et passez à la vitesse supérieure.