Home Assistant et les assistants vocaux

Quand j’ai débuté dans le monde des objets connectés, je pensais sincèrement que Google Home serait le cœur de mon installation. Je me suis vite rendu compte de mon erreur puisque Google Home est très limité, le support de Google est nullissime et Google Home ne fonctionne bien que pour des choses basiques. Avec les années, cela s’améliore petit à petit mais on est encore loin de la puissance d’une box domotique comme Jeedom ou Home Assistant. 

L’installation domotique idéale me semble être d’installer une box domotique comme Home Assistant et d’en retirer le plein potentiel en y connectant des assistants vocaux (Google Home, Amazon Alexa, Siri,…) afin d’interagir par la voix. 

Un pré-requis important est, toutefois, que Home Assistant soit accessible via le protocole SSL et depuis le monde extérieur (cette procédure a été décrite dans un précédent article).

L’intégration Google Assistant

Une intégration Google Assistant est disponible dans Home Assistant : https://www.home-assistant.io/integrations/google_assistant
Screenshot 2024-11-29 at 18.19.22

Cette intégration permet de contrôler ses appareils Home Assistant via Google Assistant ou par la voix via Google Home. Il s’agit donc, avec cette intégration, d’utiliser la voix pour envoyer des commandes vers Home Assistant. Ce n’est pas la même chose que de récupérer, dans Google Home, des appareils intégrés dans Home Assistant.

Il y a plusieurs options pour installer cette intégration dans Home Assistant. La première solution, facile et rapide, est d’utiliser Home Assistant Cloud de Nabu Casa. La contrepartie de cette intégration facile est l’abonnement de 75 euros par an.

Screenshot 2024-11-29 at 18.21.46

La seconde solution, plus technique à mettre en place, est quant à elle gratuite. Mais c’est un peu plus compliqué à cause de la façon dont Google exige que Home Assistant soit configuré.

Screenshot 2024-11-29 at 18.22.06

A l’heure d’écrire ces lignes, la seconde étape de la procédure bloque car Google ne permet plus de créer des “Conversational Actions”, comme il l’indique à l’écran quand on suit la procédure :

Conversational Actions have been sunset. Changes can’t be made to any actions. You can still view the Actions for a limited time.

Mais on peut contourner le problème, comme le détaille cet article https://github.com/home-assistant/home-assistant.io/issues/35867

A la fin de la procédure, il faut modifier le fichier configuration.yaml. C’est dans ce fichier que l’on définit le lien entre Home Assistant et Google Home. On peut, entre autres, limiter ce qui est exposé vers Google Home. Mon fichier de configuration est le suivant:

# Example configuration.yaml entry

google_assistant:

  project_id: XXX

  service_account: !include YYY

  report_state: true

  exposed_domains:

    – script

    – scene

Au travers de ce fichier, j’ai donc fait le choix d’exposer par défaut tous les scripts et toutes les scènes de Home Assistant. Maintenant, je peux appeler les scripts écrits dans Home Assistant ainsi que les scènes à partir de Google Home (via les routines Google Home, dans “Ajouter des scènes”)

IMG_8530

On a donc maintenant, la possibilité d’utiliser des commandes vocales avec ses Google Home pour lancer des procédures, aussi complexes que l’on souhaite, définies dans Home Assistant. Par exemple, chez moi, la commande “Arrête le salon” déclenche un script sur Home Assistant pour éteindre les 10 lampes Philips Hue, la télévision LG OLED 65CX et la Nvidia Shield TV Pro.

Home Assistant Assist

Home Assistant propose une entrée “Assistant Vocaux” dans les paramètres.

Screenshot 2024-11-25 at 20.48.55

On trouve ici Home Assist, une fonctionnalité qui améliore l’accessibilité et l’interaction utilisateur. Home Assist permet d’interagir avec Home Assistant par commande vocale et cela inclut :

     

  • le contrôle des appareils connectés (lumières, thermostats, etc.)
  •  

  • le lancement des scripts et des automatismes
  •  

  • le questionnement sur l’état des appareils ou des informations collectées (comme la température actuelle ou le niveau de batterie d’un appareil).

Home Assist peut agir comme une interface textuelle ou vocale dans Home Assistant. Cela permet aux utilisateurs d’ :

     

  • émettre des commandes
  •  

  • de poser des questions sans avoir besoin de naviguer dans l’interface classique
  •  

  • avoir une expérience plus intuitive et directe.

Contrairement aux assistants vocaux comme Amazon Alexa ou Google Assistant, Home Assist est totalement intégré à Home Assistant. Cela signifie que :

     

  • Il fonctionne localement sans nécessiter une connexion constante à Internet, préservant donc la vie privée.
  •  

  • Il peut être configuré pour comprendre des commandes spécifiques ou personnalisées pour un usage particulier.

Home Assist peut être configuré pour fonctionner en plusieurs langues et s’intégrer à des services comme Rhasspy ou Node-RED pour enrichir ses fonctionnalités.

L’intégration Google Assistant SDK

Auparavant, on s’était intéressé aux commandes vocales, depuis les assistants vocaux vers Home Assistant. Mais l’inverse est aussi possible : commander des objets présents dans Google Home depuis Home Assistant. C’est vrai que, à priori, on se dit que la meilleure place pour intégrer tous ses objets est dans Home Assistant. Mais il pourrait y avoir des situations où un objet ne serait pas (facilement) intégrable dans Home Assistant et on l’y ajouterait, alors, par voie détournée via Google Home. 

Pour ce faire, c’est l’intégration Google Assistant SDK qui doit être installée : https://www.home-assistant.io/integrations/google_assistant_sdk/

Screenshot 2024-11-29 at 18.36.24
Cette intégration permet aussi de diffuser des messages sur les haut-parleurs et les écrans de Google Assistant sans interrompre la lecture de musique/vidéo. Enfin, elle permet d’avoir une conversation avec Google Assistant en utilisant l’intégration de conversation via texte ou voix.

Home Assistant Matter Hub

Le développeur T0bst4r est en train de développer un projet qui simule des ponts pour publier les entités depuis Home Assistant vers n’importe quel contrôleur compatible Matter comme Amazon Alexa, Apple Home ou Google Home.

Grâce à Matter, ceux-ci peuvent être connectés facilement en utilisant la communication locale sans avoir besoin de redirection de port, etc : https://github.com/t0bst4r/home-assistant-matter-hub/issues

Bien qu’en version alpha, ce module complémentaire semble prometteur.

Screenshot 2024-11-29 at 18.34.31

Conclusion

Home Assistant permet de collaborer avec de nombreux assistants vocaux dont Google Home et Amazon Alexa. On peut donc capitaliser sur la puissance de Home Assistant en tant que cerveau de la domotique et de la facilité d’utilisation, par la voix, apportée par les commandes vocales des assistants vocaux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.