Les interactions dans Jeedom et le lien avec Google Home / Assistant (plugin Dialogflow)

Classé dans : Jeedom | 0

Les fans de Jeedom savent que ce dernier offre de multiples façons de communiquer : Messenger, Telegram, SMS, E-Mail… Dans cet article, ce sont les interactions Jeedom lancées à partir de Google Home / Assistant via le plugin officiel Dialogflow qui seront mises à l’honneur.

Imaginez-vous la puissance : avec une phrase prononcée à Google Home / Google Assistant, il est possible de lancer des scénarios / actions complexes dans Jeedom et de récupérer ensuite une réponse personnalisée. Cela ouvre la porte à tout, en ce compris la possibilité de commander et d’interroger via Google Home des objets non compatibles Google Home mais reconnus dans Jeedom.

C’est donc une alternative à un autre très bon plugin : smartphone. Smarthome permet de remonter dans Google Home des équipements, un par un. Ces équipements sont ensuite interrogeables. Dialogflow, lui, s’utilisera plus pour des actions complexes à lancer ou lorsqu’on souhaite avoir une réponse complexe mêlant des informations de plusieurs équipements.

Attention toutefois. Après avoir écrit cet article et utiliser Dialogflow pendant plus d’un an, il semblerait que Google ait fait des changements rendant l’utilisation du plugin nettement moins pratique. Avant de vous lancer, vérifier le statut du plugin sur le forum : https://community.jeedom.com/t/plugin-dialogflow/21627/24

Les interactions dans Jeedom

Les interactions sont des fonctionnalités natives de Jeedom. On les retrouve dans Outils / Interactions

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Interactions

La documentation de Jeedom définit les interactions comme ceci :

Le système d’interaction dans Jeedom permet de réaliser des actions à partir de commandes textes ou vocales.

Ces commandes peuvent être obtenues par :

  • SMS : envoyer un SMS pour lancer des commandes (action) ou poser une question (info).
  • Chat : Telegram, Slack, etc.
  • Vocal : dicter une phrase avec Siri, Google Now, SARAH, etc. Pour lancer des commandes (action) ou poser une question (info).
  • HTTP : lancer une URL HTTP contenant le texte (ex. Tasker, Slack) pour lancer des commandes (action) ou poser une question (info).

L’intérêt des interactions réside dans l’intégration simplifiée dans d’autres systèmes comme smartphone, tablette, autre box domotique, etc.

La création d’une interaction dans Jeedom

Lors de la création d’une interaction, Jeedom demande quelle est la phrase qui déclenchera l’interaction.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Interactions-Demande

L’écran suivant est composé de trois sections (tabs): Général, Filtres et Actions. 

Général

Cet écran permet d’encoder des paramètres à caractère généraux.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Interactions-General

Les paramètres les plus utilisés et/ou les plus spécifiques aux interactions sont:

– Nom : nom de l’interaction (optionnel).

– Demande : la phrase modèle qui déclenche l’interaction (obligatoire et pré-remplie avec la réponse de l’écran précédent)

– Synonyme : permet de définir des synonymes sur les noms des commandes.

– Réponse : permet de définir la réponse que Jeedom fournira.

– Attendre avant de répondre (s) : permet de retarder de x secondes la réponse, ce qui peut-être utile quand l’équipement nécessite un peu de temps pour mettre son statut à jour.

Filtres

Le principe des interactions est de définir une phrase “modèle”. Jeedom va ensuite créer les variations possibles à partir de ce modèle, remplaçant par exemple le mot #equipement# par les noms des équipements existants. La partie Filtres permet de limiter le nombre de phrases générées par Jeedom.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Interactions-Filtres

Actions

Les actions permettent de lancer des commandes spécifiques ou des scénarios.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Interactions-Actions

Une première interaction très simple

Le plus simple, c’est évidemment de définir une phrase fixe, comme par exemple la phrase “Température”. Ce faisant, je souhaite que Jeedom énumère les températures des différentes pièces, températures provenant soit des capteurs de présence Philips Hue soit des capteurs de la station Netatmo.

“Température” est donc la phrase déclenchante. Dans Réponse, j’indique simplement la liste des températures que je désire connaitre en retour de ma demande (et j’y indique la pièce correspondante).

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Interactions-Général-Temperature-2

Voilà l’interaction est déjà terminée. Il reste maintenant à l’appeler depuis Google Home / Google Assistant.

Pour aller plus loin avec les interactions Jeedom

L’exemple ci-dessus est un exemple assez basique. Les interactions de Jeedom permettent d’aller bien plus loin. Pour plus d’informations sur des interactions plus complexes, la documentation officielle se trouve ici: https://doc.jeedom.com/fr_FR/core/3.3/interact

Le plugin Dialogflow comme lien avec Google Assistant / Google Home

L’installation du plugin Dialogflow

Maintenant que l’on a défini une interaction, il s’agit d’installer le plugin Dialogflow afin que cette interaction puisse être appelée depuis Google Assistant / Google Home.

C’est la procédure standard d’installation des plugins dans Jeedom qui s’applique ici.

  • Plugins / Gestion des plugins 

Screen Shot 2020-03-04 at 06.47.48

  • Cliquer sur Market

Screen Shot 2020-03-04 at 06.48.02

  • Inscrire “dialogflow” dans la zone texte et cliquer sur la loupe pour lancer la recherche. Cliquer sur le plugin Communication “Dialogflow” qui est apparu.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-plugin

  • Cliquer sur “Installer stable”

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-installer

  • Cliquer sur “OK” pour aller sur la page de configuration du plugin

Screen Shot 2020-03-04 at 06.48.44

  • Cliquer sur “Activer”. On notera au passage que le plugin ne fait pas usage des cron standards de Jeedom.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-activer

  • Le statut du plugin doit changer et le statut doit devenir “Actif”

La configuration du plugin Dialogflow

Le plugin Dialogflow se trouve dans Plugins / Communication / Dialog flow

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Configuration

Point de vue configuration, c’est facile et vite fait : il n’y a rien à faire.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Pas-Configuration

Mais il faut tout de même lier Jeedom et Google Assistant:

Ecran 1 : Sur un téléphone équipé de Google Assistant (et situé sur le même réseau WIFI que les Google Home), dites “Parle avec Jeedom”. Google demande alors l’autorisation de lier Jeedom et Google. Il faut bien entendu accepter.

Ecran 2: Il convient ensuite de renseigner le nom d’utilisateur et mot de passe du Jeedom Market.

Ecran 3: Google doit ensuite confirmer que le lien s’est bien établi entre Jeedom et lui-même.

Jeedom-Plugin-DialogFlow-Google-Home-Assistant-Configuration

On peut maintenant parler avec Jeedom et utiliser les interactions de Jeedom directement avec Google Home / Assistant.

Il suffit de commencer en disant “(Ok Google,) Parle à Jeedom”.

Ensuite, on peut appeler les interactions en donnant la phrase définie (“Température” dans l’exemple précédent). 

Google Assistant (et Google Home) fournissent alors la réponse souhaitée en donnant les températures des pièces (voir le résultat sur l’écran 4 dans l’image ci-dessus).

Pour terminer le dialogue avec Jeedom, il faut lui dire “Merci”.

Les contraintes du plugin

Le plugin, pour fonctionner, requièrent toutefois quelques contraintes :

  1. Il faut avoir souscrit aux services vocaux de Jeedom (12 euros par an). Cette soucription, une fois valide, se vérifie à cette adresse : https://market.jeedom.com/index.php?v=d&p=profils&tab=services#servicesJeedom-Plugin-DialogFlow-Google-Home-Assistant-Services-Vocaux A noter, ce service sera aussi requis pour d’autre plugin comme le Google Smarthome ou Alexa.
  2. L’accès à Jeedom doit pouvoir se faire au travers d’une adresse https. La procédure n’est pas simple mais cet article explique comment faire pas à pas.
  3. Ce n’est pas une limitation Jeedom mais plutôt une limitation Google : Jeedom doit répondre dans les 4 secondes sinon le code d’erreur ETIMEDOUT se produit. Cela peut-être du à une action trop longue côté Jeedom ou à une connection internet trop lente.
  4. Je n’ai pas encore trouvé comment lancer une interaction depuis une routine Google Home. C’est bien dommage car, dans mon cas, j’aurais aimé avoir mes températures dans ma routine “Bonjour” du matin. J’ai interpellé le développeur du plugin, Loïc, et sa réponse a été : “c’est pas une question de plugin mais une question que Google ne sait pas faire de routine avec dialogflow (leur produit)”.

Conclusions

Voici un plugin officiel, gratuit, bien fait et performant qui peut-être utilisé à l’envie pour communiquer avec Jeedom au travers d’interactions. C’est assez vite mis en place, assez simplement et c’est très efficace.

Par exemple ma station météo Netatmo n’est toujours pas reconnue dans Google Home. Même problème pour mes capteurs Philips Hue dont Google Home ignore l’existence. Et bien avec les interactions Jeedom, le problème est contourné et j’ai maintenant accès aux températures de ces objets via Google Home 🙂

J’adore et je recommande.

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.