Pour ce tutoriel, j’ai déroulé la procédure officielle : Dialogflow - Home Assistant
N’ayant que quelques heures de pratiques, que les utilisateurs + expérimentés n’hésitent pas à apporter les corrections et compléments nécessaires
Pour ceux qui cherchent une alternative à IFTTT, l’intégration DialogFlow est conçue pour être utilisée avec Webhook. Lorsqu’une conversation se termine avec un utilisateur, Dialogflow envoie une action et des paramètres au webhook.
Pour pouvoir recevoir des messages de Dialogflow, votre instance Home Assistant doit être accessible depuis le Web et vous devez avoir l’URL externe en https. Dialogflow renverra des réponses de secours si votre serveur ne répond pas ou prend trop de temps (plus de 5 secondes).
Configuration de votre compte Dialogflow
- Se connecter sur DialogFlow
- Connectez-vous avec votre compte Google
- Cliquez sur «Create new agent»
- Sélectionnez le nom, la langue et le fuseau horaire
- Cliquez sur « Create »
- Allez maintenant dans «Fulfillment» (dans le menu de gauche)
- Activez Webhook et définissez l’URL de votre webhook Dialogflow* (voir ci-dessous comment obtenir cette adresse), par exemple https://myhome.duckdns.org/api/webhook/800b4cb4d27d078a8871656a90854a292651b20635685f8ea23ddb7a09e8b417
- Cliquez sur « Save »
. * Pour obtenir votre webhook DialogFlow,
… Aller dans l’Intégration sous Configuration
… Cliquer sur le + en bas de l’écran et taper dialogflow
… Sélectionner DialogFlow et soumettre pour disposer du webhook DialogFlow
Revenant sous DialogFlow, après avoir cliqué sur « Save » dans « Fullfillment »
-
Créer un « nouvel intent »
-
Sous «Training phase», écrivez une phrase que vous, l’utilisateur, direz à Dialogflow, par exemple, « Ouvrir le portail » (possibilité d’ajouter d’autres phrases)
-
Dans «Action and parameters», définissez une « clé » (ce sera ce nom qui sera utilisé sous HA comme intent_script), par exemple: « Ouvrirleportail »
-
Dans «Responses», définissez «Connexion trop longue ou impossible» (réponse de secours)
-
À la fin de la page, cliquez sur «Fulfillment» et cochez «Use webhook»
-
Cliquez sur « Save »
-
En haut à droite, où est écrit «Try it now…», écrivez ou dites la phrase que vous avez précédemment définie et appuyez sur Entrée
-
Dialogflow a envoyé une requête à votre serveur Home Assistant (mais cela ne fonctionnera tant que vous n’aurez pas rajouté l’intégration DialogFlow sous HA et défini vos intent_script)
Configuration de Home Assistant
# Exemple sous configuration.yaml
dialogflow:
intent_script:
Accueil:
speech:
text: Que puis-je pour vous?
Aurevoir:
speech:
text: A bientôt.
Ouvrirleportail:
speech:
text: Ok j'ouvre le portail
action:
- service: notify.notify
data:
message: Ouverture du portail
- service: switch.turn_on
data:
entity_id: switch.portal_opening
NB: il est important avant d’initier la discussion entre DialogFlow et Home Assistant, de définir les 2 commandes pour initier et clore la discussion avec DialogFlow en définissant les 2 clés Accueil et Au Revoir
Ne pas oublier sur l’intent Au revoir d’activer les Set this intent as the end of the conversation
Pour déclarer le message d’accueil, vous devez:
- cliquer sur « Integrations »
- puis cliquer sur « Integration Settings »
- la fenêtre ci-dessous s’affichant 1) cliquer sur la petite croix 2) pour sélectionner « Accueil » 3) cliquer sur « Sign in required » 4) cliquer sur « Manage assistant app »
Vous serez alors dirigé vers votre console Actions on Google
- Dans le Quick Setup, cliquez alors sur « Define how you Action is invoked »
- Précisez le nom sous lequel vous souhaitez « invoquer » Home Assistant (pour information, il ne sera pas possible que ce nom comporte « Google » ou « Assistant »), puis cliquez sur Save
Une fois toutes ces étapes réalisés et après avoir défini tous vos intent_script dont Accueil et Au Revoir, vous pourrez engager des actions via :
« Ok Google, parler avec « le nom que vous avez défini pour invoquer HA » »
HA : « Je montre la page de test d’HA; que puis-je pour vous ? »
« Ouvrir le portail »
HA: « Ok j’ouvre le portail »
« Au revoir »
HA : « A bientôt »
Autre source : la video de Paradis Artificiels, commençant à dater un peu, on retrouve à peu près les mêmes instructions