Connecter Google Assistant et Jeedom en une seule action IFTTT

Vous souhaitez utiliser Google Assistant pour contrôler votre maison qui tourne sous Jeedom ? Je vais vous expliquer ici comment le faire très simplement, avec une seule configuration dans IFTTT !

Comme vous, j’ai parcouru de nombreux sites expliquant comment interfacer Jeedom et Google Assistant. Mais la solution ne me plaisait pas. Il fallait, pour chaque action, créer une phrase spéciale et l’action associée sous IFTTT.
Je n’ai pas envie de faire une déclaration IFTTT pour allumer la lumière du salon, l’éteindre; faire de même avec toutes les autres lumières de la maison; et répéter cela pour l’alarme, les volets…

L’autre solution, qui sera payante prochainement ( mais officielle ) ne me satisfait pas non plus; je comprends rien a DialogFlow machin…

Je dis toujours qu’un bon informaticien est un informaticien fainéant 😉 Je compte donc l’être 🙂

 

Les interactions comme point d’arrivée Jeedom

Plutôt que d’utiliser les scénarios et les actions, je suis parti du principe d’utiliser les interactions. Si j’envoie mes phrases sur les interactions, c’est Jeedom qui va interpréter cela pour déduire ce que je souhaite faire. Plus besoin de faire ce travail manuellement dans IFTTT !

C’est par cette approche que je n’aurai qu’une seule interaction IFTTT à déclarer.

 

Utilisation de l’API

Je suis donc reparti fouiller l’API de Jeedom, et je me suis rendu compte de la simplicité d’utilisation et de mise en place !

 

Utilisation de IFTTT

IFTTT est ce qui me permet de récupérer ce que je dis à Google Assistant.
En image, cela donne ceci:

 

 

 

 

 

Installation chez vous

Comme nous utilisons IFTTT, ce dernier enverra la requête à votre Jeedom. Vous devez donc avoir Jeedom accessible d’internet.

Configuration IFTTT

 

This :

  • Créez un nouveau Applet,
  • Cherchez « Google Assistant »,
  • Choisir « Say a phrase with a text ingredient »,
  • Dans le champ « What do you say? » Mettre : Maison $ ( ou ce que vous voulez pour parler à votre maison )
  • Dans le champ « What do you want the assistant to say in response? » Mettre : OK par exemple.
  • Language : French.

 

 

 

That :

  • Cherchez « Webhooks »
  • Dans le champ « URL », saisir l’URL de votre Jeedom, jusqu’au chemin de l’API comme ceci : http://IP_DNS_JEEDOM/core/api/jeeApi.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&type=interact&utf8=1&query={{TextField}}
  • Renseigner l’IP de votre Jeedom, votre API secrète.
  • Dans le champ « method », mettre GET
  • Dans le champ « Content Type », mettre application/json

 

 

 

Testez !

A présent, vous pouvez parler à Google Assistant depuis votre smartphone ou votre Google Home !

Pour cela, dites : « OK Google, maison, VOTRE DEMANDE ».
Par exemple : « OK Google, maison, allume la lumière du salon ».

Dès que Google Home va voir le mot clé « maison », il va envoyer le reste de la phrase à IFTTT. Ici : « allume la lumière du salon ».

IFTTT va donc exécuter l’action qui est : accéder à votre Jeedom en  y mettant la clé API secrète et la phrase dans l’URL.

Jeedom interprète donc ensuite via les interactions votre demande.

 

Conclusion

Voilà, rien de plus à faire, toutes vos demandes passeront de cette manière jusque Jeedom qui fera l’interprétation. Le deal est tenu : 1 seule interaction à créer dans IFTTT !

Reste à votre charge de bien veiller à déclarer vos équipements dans les catégories « lumières », « énergie » etc… pour que tout se passe bien.

Pour cela, vous pouvez tester dans Jeedom que les phrases que vous allez dire seront correctement exécutées.
Si vous souhaitez faire des choses plus complexes que juste allumer la lumière, vous aurez tout à configurer dans les interactions Jeedom.

francois

Passionné par les nouvelles technologies depuis ma jeunesse, je continue aujourd'hui par mon métier cette passion. Toujours curieux, je tiens ce blog comme mémo de mes découvertes et profite de cet espace pour vous les faire partager.

Vous aimerez aussi...

56 réponses

  1. EG dit :

    Au top, merci beaucoup.

  2. jacques dit :

    salut je bloque au premier tableau

    Maison $

    This recipe is for number (#) not text ($) ingredients.

     

  3. jacques dit :

    oui en effet quel erreur lire trop vite  🙁     merci

  4. supperdd dit :

    salut pour essayer je teste avec mon android.

    j ai un soucis , je ne comprend pas comment l’appli g assistant qui entend bien ma requetes l’envoie a ifttt y a une manoeuvre a faire qui n est pas ds ton tuto ??

    merci

    • francois dit :

      Gassistant ne comprenant pas, il cherche les plugins qui comprennent cette requête. Ifttt comprendra puisque la requête commence par « maison ». Et du coup la requête est envoyée à jeedom car un applet est configuré comme ça

  5. jacques dit :

    OK ça fonctionne ,javais déjà fait toutes les commandes ifttt

    j’ai quand créer les interactions pour le fun

    merci:)

  6. iPapy dit :

    Bonjour François,

    Merci pour ce tuto car comme toi je suis assez fainéant lool et plus c’est simple mieux c’est. Cependant je bloque à un endroit:

    Dans Jeedom j’ai bien les deux interactions « Allume le ventilateur » et « Eteint le ventilateur » qui quand je lance les deux phrases dans « interaction/tester » fonctionne très bien.

    Dans IFTTT J’ai donc créé « Jeedom à la place de maison » et dans l’url d’exécution j’ai bien mis  » http://mon IP externe/core/api/jeeApi.php?api=API Jeedom&type=interact&utf8=1&query=allume le purificateur » mais quand je demande à ma GH de faire l’action il me répond bien OK mais rien ne se passe et dans Jeedom j’ai le message d’erreur « jeeEvent: Vous n’êtes pas autorisé à effectuer cette action1, IP: 54xxxxxxxx »

    J’ai beau chercher je ne trouve pas ou se trouve l’erreur, je suis sous Jeedom 3.2.9

    Merci d’avance pour ton aide.

    • francois dit :

      Salut,
      Essaye en mettant « maison » à la place du mot clé jeedom. Car jeedom dispose d’une app Google Home qui utilise ce mot clé. Je pense que du coup la requête est envoyée aux serveurs jeedom et non à ifttt.

      Bon courage

      • iPapy dit :

        Bonjour,
        Merci pour ta réponse rapide, je viens de faire le changement mais cela ne change rien, j’ai toujours le message « jeeEvent: Vous n’êtes pas autorisé à effectuer cette action1, IP: 54.xx. Xxx. Xxx et il ne se passe rien, le ventilateur ne s’allume pas.

        • francois dit :

          L’ip que tu donne est la tienne, celle de ifttt ?

          • iPapy dit :

            Oui c’est mon ip externe qui se trouve sur le port 443 donc : »http://xx.xx.xx.xx:443/core/api/jeeApi.php?api=API Jeedom&type=interact&utf8=1&query=allume le ventilateur

          • francois dit :

            J’ai essayé d’accéder à ton interface Web jeedom via l’ip externe mais rien ne s’affiche… Souci avec la redirection de port ?

          • Matthieu dit :

            Si tu fais une redirection sur le port 443, c’est que ta connexion est en httpS et non http tout court.

          • francois dit :

            Non pas obligatoirement. On peut mettre le ssh en 21, le FTP en 22 et même le http en 80,443,8080 etc… Aucune incidence si on le sait et que l’on utilise un autre port que celui par défaut 🙂 le souci est résolu. Problème avec une mauvaise clé API 🙂

  7. iPapy dit :

    Bizarre car j’ai d’autre recette IFTTT qui appel l’adresse IP de mon Serveur et elles fonctionnent, même de mon téléphone en 4G j’accède à mon serveur depuis l’adresse ip avec safari.
    Attention je ne suis pas en https mais en http même si c’est le port 443. normalement si tu essaie xxxx url cachée xxxx tu devrais arriver sur la page d’authentification de mon serveur, non ?

  8. iPapy dit :

    Effectivement là je comprends mieux, normal la 54 n’est pas mon ip externe mais celle que me retourne Jeedom en erreur, je pense sans en être certain qu’elle proviens de IFTTT ou de la GH car elle s’affiche dans les log de Jeedom à chaque fois que je dis à ma GH « OK Google, maison allume le ventilateur »

    • francois dit :

      Donc l’envoi se fait bien sur ta box. L’api renseignée est correcte ? Aucune limitation des IP, utilisateur dans les filtres des interactions ?

    • iPapy dit :

      Re François,

      C’est bon j’ai trouvé ma connerie, j’avais mis la clé API de Webhooks au lieu de l’API de Jeedom, c’est ton dernier message qui m’a mis sur la piste.

      Encore désolé de t’avoir dérangé pour une bêtise comme ça et une nouvelle fois merci de ton aide, je vais me penché sur d’autre truc que tu proposes j’aime bien ce que tu fais, je me suis d’ailleurs abonné.

      Bon Week-end.

      Franck

      • francois dit :

        Pas de souci. Content que ça plaise ! Je vais modifier les conversations pour virer le s ip et dns etc.. Pour pas avoir de soucis d’attaque et autre

  9. Pierre dit :

    Bonjour,

    J’ai une question, avec cette méthode, peut on avoir un retour vocal sur le GH?

    Si par exemple je demande la Température et que j’attends un retour, l’enceinte me la donnera?

    Cordialement

    • francois dit :

      Bonjour, de base non mais avec le plugin Google cast, plugin gratuit, vous pouvez le faire 🙂 je suis en train de tester cela avec la chromecast ça rue ne dispose pas de Google Home encore.

  10. iPapy dit :

    Tu veux vraiment me faire craquer lool

  11. iPapy dit :

    Et moi je viens de craquer pour une Xiaomi Mi Box TV pour mon anniversaire

  12. iPapy dit :

    Désolé c’était un cadeau

    • francois dit :

      Pas de souci 🙂 pour la prochaine lol

    • francois dit :

      Ne mets pas à jour ta box par contre. Ça déconne. Vérifie si c’est corrigé quand tu la recevra

      • iPapy dit :

        Bonsoir François,
        J’ai eu mon cadeau hier, ma Mibox TV3, je découvre car venant de l’univers MAC et IOS (Apple TV4, iPhone, iPad, etc.) c’est assez nouveau pour moi l’environnement Android (Galaxy S5) et Android Tv (Mibox TV), je voulais te demander quel player multimédia autre que Kodi me conseilles tu pour lire mes sources musique, films et séries qui se trouve sur mon NAS Synology car Kodi franchement je suis pas fan 😉
        Merci d’avance pour ta réponse.

  13. iPapy dit :

    Oui une prochaine fois je n’y manquerait pas car je suis pour aider les personnes.

    D’accord je ferais attention quand je la recevrait, merci de l’info.

  14. Olivier dit :

    Question bete, on est obligé de passer par les interaction ?

    Jeedom ne comprends pas si je dit Lumiere salon on, si j’ai un equipement Lumiere salon ?

    car tu écris « Reste à votre charge de bien veiller à déclarer vos équipements dans les catégories « lumières », « énergie » etc… pour que tout se passe bien. »

    Merci 🙂

    • francois dit :

      On est pas obligé de passer par les interactions. On peut utiliser les scénarios et actions. Mais cela sous entend de créer un applet ifttt à chaque fois.

      Donc donc mon article le but est de n’en créer qu’un, en utilisant les interactions.

      Jeedom comprendra « lumière salon on » si tu as bien renseigné l’information de ton capteur: la bonne catégorie. D’où ma phrase que tu cites.

  15. iPapy dit :

    Bonjour François

    Je voudrais rebondir sur la question d’Olivier, aujourd’hui j’ai mes interactions qui fonctionnent bien sauf que la seul réponse que me fait ma Google Home c’est « OK, c’est fait » et je reconnais que c’est bien pratique de n’avoir qu’une seule commande IFTTT, mais si je veux une réponse personnalisé de la par de ma Google Home pour chaque action faut que je rajoute dans mon interaction l’utilisation du plugin « GoogleCast » dans l’interaction avec le message que je souhaite avoir en retour, c’est bien ça?

  16. Thomas dit :

    Salut François,

    Tout d’abord, merci pour toutes les infos et tutos, c’est toujours très instructif et utile.

    J’ai un souci avec l’exécution de ma commande…

    Dans IFTTT, ma phrase est celle là : https://xxxx.dns5.jeedom.com/core/api/jeeApi.php?apikey=monapijeedom=interact&utf8=1&query={{TextField}}

    J’ai laissé Textfield tel quel. On est d’accord, c’est bien le but ? Textfield sera remplacé par le mot ou la phrase que je prononce derrière le mot clé (j’ai laissé maison…) ?

    Dans mes interactions, j’ai créé quelque chose de très simple :

    nom : lumière bureau

    demande : allume le bureau

    réponse : fait !

    action : [Bureau][Hue bureau][On]#

    mais rien ne se passe…
    Pas d’erreur dans les logs jeedom et ifttt execute bien le script.
    J’ai raté un truc ?

     

     

  17. Thomas dit :

    C’est bon !!!

    Désolé, j’avais une coquille dans ma requête…

  18. maeva dit :

    Vraiment merci du partage ! J’ai galéré aussi avec tous les tutos et autres et grâce à toi ça a été super facile 🙂

  1. 11 juillet 2018

    […] que l’on peut parler à Jeedom, il serait intéressant qu’il nous réponde, vous ne trouvez pas ? Voilà comment faire […]

Laisser un commentaire

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