Google Home et IFTTT
Chose promise chose due, après une brève introduction et prise en main de Google Home je vous propose de découvrir comment l’utiliser avec IFTTT. Dans cet article, nous verrons ainsi comment étendre les possibilités que nous offrent ce produit en le connectant à des systèmes a priori incompatibles. Afin de ne pas s’éparpiller, je vais suivre un cas d’usage simple mais assez complet. Cependant, ne vous inquiétez pas, si vous ne voulez pas mettre en place les mêmes actions il vous sera très facile d’adapter ces instructions à d’autres usages.
Cas d’usage
Généralités
Avant de voir en détail le fil conducteur de cet article, voyons comment le système fonctionne dans la théorie. L’utilisation de IFTTT va vous permettre de liée Google Assistant, qui gère les commandes et discussions que vous avez avec votre Google Home et d’autres services qui ne sont pas forcément pris en charge de base.
Il y a toute une liste de services disponibles. Certains sont très simples et ne nécessitent que très peu de connaissances tandis que d’autre peuvent être plus pointus.
L’exemple de l’article
Dans l’exemple d’aujourd’hui, mon but est de rendre ma télé connectée pilotable par Google Home. Cette dernière n’étant pas toute jeune, il y a peu de services encore compatibles…
Heureusement, Home Assistant (un système de domotique) en fait partie. Ce dernier met à disposition des APIs qui sont justement utilisables via IFTTT. Nous allons donc tenter de lancer des actions Home Assistant lorsqu’une commande vocale est prononcée. Vous pouvez très aisément adapter cet article à d’autres services ou Webhooks, donc pas de panique si vous ne connaissez pas Home Assistant.
Si nous revenons au schéma précédent, il devrait ressembler à ceci avec mon exemple.
API Home Assistant
Prérequis
Pour fonctionner, vous aurez besoin d’une installation Home Assistant fonctionnelle et accessible d’internet. Si ce n’est pas votre cas vous trouverez plus d’informations dans cette série d’articles.
Découverte de votre installation
Pour déclencher des actions partant d’Home Assistant, nous allons utiliser des requêtes HTTP. Dans un premier temps, il est donc important de préparer les requêtes nécessaires. Dans un précédent article (Utiliser l’API REST Home Assistant) nous avions vu comment utiliser ces APIs. Nous allons nous baser sur ce que nous avions appris pour construire nos différents éléments.
Dans un premier temps, identifions le matériel que nous devons contrôler. Avec postman lancez la requête suivante :
https://gist.github.com/quentinchap/4a1ff4d99c6c30b97440a41d51a50cfc
Je vois que mon périphérique est media_player.living_room_tv je peux avoir plus d’informations sur ce dernier avec la requête suivante :
https://gist.github.com/quentinchap/2898799a032090a92d0fee73945cb5a8
C’est un media_player, partant de ce constat nous allons rechercher les actions disponibles pour ce dernier. Lancez la requête suivante :
https://gist.github.com/quentinchap/4c044eb8809f37d0a62fb8de955c086a
Recherchez « domain »: « media_player » et vous aurez toutes les actions qu’il est possible de lancer sur un media_player.
Grâce à ces informations déduisez les requêtes suivantes:
Baisser le son
Augmenter le son
Couper le son
Changer de chaîne
Je pense qu’avec ces quelques requêtes vous avez de quoi vous amuser. Cependant n’hésitez pas à explorer et à tester d’autres éléments.
IFTTT
Côté IFTTT nous allons utiliser le service Webhooks que nous avons déjà abordé ici. Nous allons donc créer une applet du type IF Google Assistant THEN Webhooks.
Gestion du son
Dans un premier temps, mettons en place la gestion du son de notre télévision.
Cliquez sur this pour choisir un service, sélectionnez Google Assistant et choisissez say a simple phrase
Configurez entre une et trois phrases qui déclencheront l’action et pensez bien à sélectionner votre langue.
Ensuite, cliquez sur Create trigger et sélectionnez webhook. Ici, cliquez sur Make a web request
Ensuite, comme l’exemple ci-dessous, configurez le trigger en vous appuyant sur les requêtes que vous avez préalablement préparées. N’oubliez pas d’ajouter ?api_password=votre_mot_de_passe à la fin de l’URL de votre API.
Vous n’avez plus qu’a créer deux autres applets sur le même modèle appelant l’API pour baisser le son et pour le couper.
Gestion des chaînes
La gestion des chaînes est un peu plus complexe puisque nous allons avoir besoin d’isoler un paramètre dans la phrase. Pour ce faire, IFTTT nous propose d’utiliser les ingredients.
Créez une nouvelle applet en sélectionnant cette fois-ci le trigger Say a phrase with a text ingredient.
La configuration de ce trigger est presque la même que précédemment, il vous suffit juste d’ajouter $ pour symboliser votre paramètre. Par exemple, si je souhaite dire « Ok Google, Zap sur tf1 » mon paramètre (tf1) doit être, comme ci-dessous, remplacé par $.
Ensuite, sélectionnez une fois encore le service webhook. La configuration de ce dernier ne diffère pas des exemples précédents, vous devez seulement insérer le paramètre nécessaire et l’insérer dans le body de votre requête. Pour ce faire, rien de plus simple. Cliquez sur add ingredient en dessous du champ Body et choisissez TextField. Ainsi, la valeur se cachant derrière le $ que nous avons paramétrée juste avant sera insérée à l’endroit où vous avez ajouté l’ingrédient. Ainsi dans l’exemple ci-dessous, pour la phrase « OK Google, Zap sur tf1 » on enverra une requête avec le body :
https://gist.github.com/quentinchap/6ee2f8e747f5e2f461cac7b0220996aa
Conclusion
Vous savez tout ! Vous pouvez dès à présent créer toutes sortes de commandes personnalisées à condition qu’il existe un service IFTTT ou qu’il y ait une API Rest. Il est donc très facile d’étendre les fonctionnalités de notre Assistant, cependant, cette méthode a ces limites.
En effet, la communication est unilatérale. Il n’est pas possible d’avoir un retour d’information sur Google Home 🙁 Par exemple, je n’ai pas aujourd’hui trouvé de moyen, via IFTTT d’avoir la température dans ma maison car mon matériel n’est pas supporté (Hue motion + Hack du Hue Motion ) et que je ne peux pas déclencher Google Home via un autre événement que ma voix.
D’autres méthodes existent. Certaines plus complètes que d’autres mais aussi plus techniques. De plus elles ne sont pas toutes disponibles en français pour le moment. Nous les explorerons très certainement rapidement 😉
J’espère que cet article vous a plu. N’hésitez pas à partager les idées/applications que vous avez mis en place.
Cadre en informatique dans une multinationale je suis un touche-à-tout passionné de nouvelles technologies.
Bonjour, merci pour ce tuto. Cependant je bute sur une bêtise, coté IFTTT et webhook, l’applet plante : Applet failed ou skipped (Ingredients
CreatedAt (none)),d’apres les log il attend l’ingredient. Néanmoins mon Google repond bien aux nouvelles questions parametrées dans IFTTT. Une idée ?
Bonjour,
J’ai déjà rencontré des problèmes similaires. La causes étant dans mon cas un problème de configuration côté webhook.
Pouvez-vous m’en dire plus sur les configurations de votre applet? (en remplaçant les données sensible bien-sure)
Merci 🙂
Salut, pour ton retour d’état, pourquoi tu balance pas un simple text-to-speech sur une sonos ou un simple hp relié à un raspberry pi, c’est simple et efficace.
Bonjour,
Le text-to-speech est une possibilité à laquelle j’ai pensé mais les résultats que j’ai obtenu pour le moment ne sont pas extra… En théorie il est même possible d’utiliser cette méthode directement sur le Google Home puisqu’il est considéré comme étant un media player par home assistant. As-tu essayé cette solution ? Si oui les résultats sont-ils satisfaisants chez toi ?
Je suis entrain de regarder en détail les solutions possibles mais ce que je voulais dire dans cette article c’est qu’il n’y a pas de moyen « intégré » pour avoir ce type de retour.
Non, GH est encore trop jeune pour faciliter ce genre de manip.
En attendant, utilises tes sonos pour faire causer ta maison, node-sonos-http-api est très simple à installer et à utiliser, avec le choix entre plusieurs moteurs tts de qualité.
En bonus tu peux t’amuser à faire converser GH et sonos, et créer des scénarii via ta box domotique ou node.red
Ok Merci des tes retours 😉 Je vais regarder ça, j’ai déjà croisé le chemin de cette solution node mais je ne l’ai jamais testé.
Pas de quoi, n’hésites pas à me contacter si tu as des soucis. A+
If You say « Éteint le décodeur », then make a web request :
Make a web request
URL :
http://xxxxxxxxx:8123/api/services/switch/turn_off?api_password=xxxxxxxxxxx
Method POST
Content Type(optional) :
apllication/json
Optional
Body(optional) :
{« entity_id »: »switch.fibaro_system_fgwpef_wall_plug_switch »}
l’applet est sythematiquement skipped sans ingrédient ( details : Ingredients CreatedAt(none) )
Je comprend pas…
Avez vous testez l’api avec un client REST comme Postman ? Car l’ingrédient manquant n’est pas forcément le problème. De mon côté j’ai systématiquement ce message mais l’applet n’est pas en erreur et tout est ok.
J’ai tester de mon côté sur un switch et la requête semble bonne (à condition que l’entity_id soit le bon). Êtes vous certain que votre installation est disponible de l’extérieur?
Bonjour, suivant vos conseils et après une rapide vérification via Postman, j’ai pu identifier un problème de routage vers home assistant. une histoire de virgule. Que de temps perdu. Dans tous les cas merci pour ce tuto qui me permet desormais de TOUT piloter avec mon Google Home.
Merci 😉
Content d’avoir pu aider 😉
A bientôt 🙂
Bonjour,
Je suis a la recherche d’interrupteurs connectés que je pourrai gérer depuis Google Home juste pour « ok google, allume la cuisine » ou « ok google, éteint la cuisine » rien de plus que allumer ou éteindre mes pièces a la voix.
Pourriez vous me donner des modèles d’interrupteurs compatible ? Je ne crois pas qu’il en existe des compatible google assistant mais peut etre qu’il est possible de faire fonctionner certains modèles via IFTTT par exemple…
Merci d’avance pour votre aide
Bonjour,
Si je comprend bien vous ne souhaitez pas un simple bouton mais un interrupteur traditionnel, encastrable et télécommandé.
Je ne connais pas d’appareil de ce genre prêt à l’emploi compatible IFTTT ou Google Assistant. Cependant, si vous n’avez pas peur de bricoler un peu j’ai trouvé deux solutions.
Bref, il existe beaucoup de solutions mais une installation centrale type Home Assistant semble incontournable pour le moment. Il faut juste faire attention aux choix de matériel et à la compatibilité de ce dernier.
Bonne journée
Merci pour votre réponse.
Mais je ne veux pas compliquer l’installation avec un raspberry donc je vais attendre que d’autre produits se développe pour la google home sa sera plus simple et je pense que le nombre de produits compatible vas vite augmenter…
Je prends donc mon mal en patience le temps de trouver une solution simple et efficace.
Encore merci pour votre réponse.
Bonne journée
Bonjour. Merci pour cet article.
Je me heurte à un problème simple : je veux utiliser plusieurs fois l’applet « Say a simple phrase » mais contrairement aux autres applets, je n’ai pas la possibilité « Create a different version of this Applet » avec le bouton Start en dessous.
Avez vous pu créer plusieurs versions avec cette applets ?
Merci encore.
OK, un collègue vient de me montrer comment faire. J’ai honte.
Pas de soucis, n’hésitez pas si vous avez d’autres questions ou si vous voulez partager ce que vous avez mis en place.
Bonne journée.
Merci pour ce post très intéressant.
J’utilise Webhooks pour commander des équipements en HTTP depuis Google Home. Ca fonctionne très bien, juste un peu de latence entre la commande et l’action.
Comme vous l’avez écrit, c’est unilatéral et comme vous je recherche une solution pour que Google assistant interprète la réponse HTTP à une action.
Je pense que la solution viendra de IFTTT mais je suis preneur d’une idée, même biscornue !
Merci encore te très bonne journée.
Txus
Bonjour,
Merci de votre retour 🙂 il y a plusieurs possibilités en effet, plus ou moins complexes.
La première consiste à passer par un système tiers tel qu’Home Assistant qui est capable d’utiliser les capacités de cast du Google Home. C’est facile à mettre en place mais le résultat n’est pas optimales…
La seconde, plus technique consiste à développer soit même ces actions via le sdk de Google. Je prépare justement un article sur le sujet 😉
Bonne journée.
Très bien, je surveillerai vos post.
Si par ailleurs je trouvais une solution, j’en ferais part sur votre site.
Bonjour, j’ai souhaité installer votre addon pour la gestion des chaines, mais impossible. Voici le log :
17-11-27 20:27:07 INFO (MainThread) [hassio.addons.git] Clone addon https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api repository
17-11-27 20:27:08 ERROR (MainThread) [hassio.addons.git] Can’t clone https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api repo: Cmd(‘git’) failed due to: exit code(128)
cmdline: git clone –recursive -v https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api /data/addons/git/04bd30bc
stderr: ‘Cloning into ‘/data/addons/git/04bd30bc’…
remote: Not Found
fatal: repository ‘https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api/’ not found
‘.
17-11-27 20:27:08 ERROR (MainThread) [hassio.addons] Can’t load from repository https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api
17-11-27 20:27:08 INFO (MainThread) [hassio.addons] Load addons: 18 all – 0 new – 0 remove
Une idée d’où le problème pourrait venir ?
Merci d’avance.
Bonjour,
Pouvez-vous m’expliquez comment vous avez procédez pour l’installer ? Cela pourrait m’apporté des pistes afin de vous aider. De plus, avez-vous tester d’installer un autre addon? Juste pour vérifier que ce n’est pas un problème « réseau ».
Bonjour,
Je fais comme indiqué dans la doc : Je copie le client Github, je le colle dans « Add-On Repositories » sur ma page home assistant (Onglet Hassio puis le petit panier).
Concernant un autre modules, aucun bug de ce côté.
Bonjour,
Il y avait effectivement un problème. Je viens de publier une version corrective (version 0.1.3) vous ne devriez plus rencontrer le problème.
Bonjour,
tout d’abord merci pour tous ces tutos qui sont une véritable mine d’or pour le débutant++ que je suis.
Je rencontre un problème en lançant mon applet depuis IFTTT soit applet Failed, soit problème with webhook service. J’ai test mon script sur postman pas de probleme. je me connecte à HomeAssistant depuis l’extérieur sans souci donc la j’avoue je sèche.
Bonjour,
Heureux d’avoir pu vous aider avec cet article 😉 J’aurais plusieurs questions pour tenter de vous aider d’avantage:
Bonjour merci de tenter de m’aider. Je passe en direct par IFTTT et j’ai bien accès à homeassistant depuis l’exterieur mais je n’ai testé mes scripts postman que depuis chez moi. Concernant le log, ce dernier ne me donne aucune info autre que sur le démarrage d’homeassistant lui même.
Cordialement
Vincent
Bonjour,
Encore quelques questions car c’est assez difficile de vous aidez avec aussi peu d’éléments:
Bonjour,
Je me permets de revenir vers vous car je n’arrive toujours pas à installer l’addon. Voici le log :
« 17-12-09 08:57:40 INFO (MainThread) [hassio.addons.git] Clone addon https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api repository
17-12-09 08:57:41 ERROR (MainThread) [hassio.addons.git] Can’t clone https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api repo: Cmd(‘git’) failed due to: exit code(128)
cmdline: git clone –recursive -v https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api /data/addons/git/04bd30bc
stderr: ‘Cloning into ‘/data/addons/git/04bd30bc’…
remote: Not Found
fatal: repository ‘https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api/’ not found
‘.
17-12-09 08:57:41 ERROR (MainThread) [hassio.addons] Can’t load from repository https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api
17-12-09 08:57:41 INFO (MainThread) [hassio.addons] Load addons: 19 all – 0 new – 0 remove »
De plus, même sans l’addon, je suis incapable de detecter les chaines que je regarde. Je vois juste « Live TV ». Ma télé est une LG tournant sur WEBOS.
Bonjour,
Mes instructions ne sont pas très claire veuillez m’en excuser. C’est pour cela que vous n’avez pas réussi à l’installer. Le repo que vous devez ajouter ce trouve à cette adresse https://github.com/quentinchap/hassio-repo et non pas à c’elle-ci https://github.com/quentinchap/hassio-repo/tree/master/tv-custom-api (qui est en fait l’adresse du code source de l’add-on et non pas du repo).
Une fois la bonne adresse ajoutée vous devriez enfin pouvoir ajouter l’Add-on.
Concernant votre télévision, le changement de chaîne via Home Assistant fonctionne-t’il? (Je possède aussi une TV LG sous WebOS et je n’ai pas ce comportement)
Pour le moment cet Add-on vous permet simplement de rendre le nommage des chaînes paramètrable et plus flexible. Je suis en train de réfléchir à d’autre fonctionnalités mais pour le moment il n’utilise pas d’information issue de la télévision.
J’ai refais des tests : postman depuis l’extérieur fonctionne (partage de ma connexion mobile chez moi) et je passe par l’URL et non par les headers si je comprends bien votre question et je post mon script dans body. Cependant j’ai fais un test qui me paraissait moins complexe. J’ai suivi votre tuto sur telegram et IFTTT. Quand je fais le test par service de homeassistant il me créer bien le fichier google drive pas de souci en revanche quand je passe par automation en modifiant le config.yaml la, IFTTT me signale une erreur soit connexion refused soit timeout. Mais le plus bizzare ce que telegram me repond ok et que mon system reboot mais pas de maj du fichier dans mon drive.J’ai pourtant bien inséré la key_api de ifttt dans mon fichier config. Petite précision j’edite mon fichier configuration par notepad++ car je n’ai pas configurer l’acces a mon ssh.
J’avoue que je patoge un peu…
Bonjour,
Est-ce qu’il vous est possible de poster votre configuration (en prenant bien garde de remplacer les clés et autre éléments sensible) sur https://gist.github.com/ par exemple afin d’avoir plus de détails?
Merci, bonne journée.
Bonjour,
En effet maintenant aucun souci pour l’installation ! Merci !
Par contre, non en effet, je n’arrive pas à changer les chaînes de HA. Que j’utilise le bouton suivant, ou que je tente de le faire par le « service data » en JSON avec
» {
« entity_id »: « media_player.lg_tv »,
« source »: « M6″
} »
Cependant, faut-il renseigner les chaines dans sources dans le configuration.yaml ?
Aujourd’hui, mon fichier ressemble à ça :
« media_player TV:
– platform: webostv
host: MONIP
name: LG TV
timeout: 5
filename: webostv.conf
customize:
sources:
– livetv
– youtube
– makotv
– netflix
Si je tente de mettre autre chose, j’ai un fichier configuration invalide ou alors mon HA ne redémarre pas.
En tout cas merci de prendre au tant de temps pour mon problème !
Bonjour,
Avez-vous tenter de retirer la partie customize de votre configuration? Je ne peu pas le vérifier actuellement mais il ne me semble pas l’avoir utilisée de mon côté et j’ai les chaînes qui descendent en tant que sources.
Update: Je vient de vérifier chez moi j’utilise l’autre composant, lg_netcast. Il me semble cependant que toutes les tv lg webos ne sont pas compatibles
Bonjour et merci pour tous. Malheureusement, LG Netcast n’est pas compatible chez moi. Cependant, supprimer la partie customize m’a permis d’avoir plein d’autre sources, mais pas les chaines. En tout cas, merci pour tout !
Bonjour monsieur,
Je vien d’acquérir un google home j’ai suivi tout l’instruction pour les changements de chaîne mais rien ne se passe.
Et en plus je vien d’ajouter une formule pour ajouter des événements sur mon agenda et le message que j’ai « desolé je ne peut pas ajouté un événement a votre agendas.
Pouvez vois m’aider s’il vous plais.
Cordialement.
Bonjour,
Concernant le changement de chaîne, avez vous des messages d’erreurs où d’autre informations qui me permettrait de vous aider? Est ce que l’Add-on c’est correctement installé sur Home Assistant?
Concernant l’agenda il semble que la fonctionnalité ne soit pas encore disponible en France, je ne peu pas en ajouter moi non plus.
bonjour
Je vient d’acquérir un google home complètement novice dans la matière
pour pouvoir faire des commandes de la tv ou des lumières
actuellement j ai google home et chromecast et abonnement chez sfr
faut il rajouter d autre matériel pour pouvoir travailler avec ifttt et google assistance
cordialement
bart
Bonjour,
Vous n’avez besoin que d’un objet compatible avec Google Assistant (Google Home ou un smartphone android par exemple) afin d’utiliser IFTTT et Google Assistant.
Bonne journée.
Bonjour, ma maison est connecté entièrement à des prises G-Homa (wifi) avec sont application mais elle n’est pas compatible Google home 🙁 y’a t’il un solution pour ne pas que je redepence une fortune a changer toute les prises wifi ?!! Merciii d’avance 🙂
Bonjour,
Je ne connais pas ces produits mais en recherchant j’ai trouvé ceci qui peut répondre à votre besoin https://github.com/tig-robertgrundeken/ghoma-google-home cependant je ne l’ai pas testé donc je ne peux pas vous certifier que le résultat sera convaincant.
Bonne journée.
Bonjour
J’apprécie tout particulièrement vos tutos qui sont d’une simplicité exemplaire meme pour les non initiés.
Pouvez vous me dire s’il est possible de mettre trois commandes dans une meme requete IFTTT ? (j’ai trois prises domotique à allumer en meme temps)
Merci d’avance.
Cordialement.
Bonjour,
Merci beaucoup pour vos encouragements 🙂 A ma connaissance vous ne pouvez malheureusement pas envoyer plusieurs requêtes via IFTTT 🙁 Cependant, des solutions peuvent vous dépanner
Dans l’article suivant nous parcourons l’une de ces solution (https://devotics.fr/votre-premiere-app-nodejs-express/) mais vous pouvez facilement trouver d’autre méthode sur internet.
En espérant vous avoir aidé, bonne journée 🙂
Bonjour,
Lorsque j’effectue POST http://adresse_ip_homeassistant/api/services/media_player.tele/volume_down, j’obtiens juste 2 crochets dans Body.
Je ne trouve pas où je dois indiquer { « entity_id »: »media_player.tele »}. media_player.tele correspond à mon Chromecast.
Pour info, lorsque j’effectue http://adresse_ip_homeassistant/api/states, le statut de mon entity_id media_player.tele est en off.
Pouvez-vous m’aider ?
Nicolas
Bonjour,
concernant { “entity_id”:”media_player.tele”} vous devez l’ajouter dans le body de votre requête comme sur cette image:
Concernant le statut off de votre périphérique c’est le même peu importe que votre Chromecast soit allumé ou non ?
Dernière question, que voulez-vous faire exactement? Car le contrôle du volume d’un Chromecast est déjà supporter nativement par Google Home, pas besoin de passer par IFTTT.
Bonjour,
Merci de m’avoir répondu. J’avais bien indiqué la requête dans le body comme dans l’image.
Mon objectif est de contrôler le son et les chaines de la télé.
Lorsque je demande à Google Home de monter le son de la télé, il répond bien ce que j’ai écris « Ok je monte le son de la télé ».
Cependant, il n’effectue aucune action.
Il n’y a donc rien à configurer dans un des fichiers de home assistant ?
Quand vous dîtes que c’est déjà supporter nativement, il faut être sur la source du chromecast au niveau de la télé ?
Nicolas
Malheureusement vous n’allez pas pouvoir contrôler les fonctionnalités de votre télévision avec votre chromecast. Pour pouvoir contrôler votre télévision il vous faut une télévision connectée ou un équipement spécifique. Home Assistant et IFTTT peuvent alors vous aidez si cet équipement n’est pas nativement compatible avec Google Assistant.
Je possède une télé connectée dont l’entité id est media_player.samsung_led481_ue48h6400.
J’ai donc modifié mon body sur IFTTT en { « entity_id »: « media_player.samsung_led481_ue48h6400 » }.
Cependant, rien ne se passe.
Le mot de passe correspond bien à celui qui est indiqué dans le fichier scripts.yaml ?
Bonsoir,
Lorsque je vais dans mes applets sur IFTTT, j’ai l’erreur suivante : Unable to make web request: Error: ETIMEDOUT
Et dans les détails : Ingredients CreatedAt (None)
Bonjour,
Beaucoup de personnes on rencontré ce problème dans les commentaires précédent. La plupart du temps c’est due au fait que les installations ne sont pas accessible de l’extérieur. La première vérification est donc de vérifier que votre requête marche de l’extérieur (en vous connectant sur un autre réseau que le votre). Pour vous simplifier la tâche vous pouvez utiliser des outil comme postman.
Bonne journée
Bonjour,
Merci pour votre réponse.
J’utilise déjà Postman en parallèle. Lorsque je lance la requête, il m’indique 404 No allowed.
Je ne comprends pas quand vous dites se connecter à un autre réseau. L’ensemble du matériel doit être sur le même réseau pour que ça fonctionne ?
IFTTT étant un service cloud, donc sur un autre réseau, il est nécessaire que vos installations soit accessible de l’extérieur. Si vous travaillez avec Home Assistant vous devriez trouver les instructions nécessaire dans ce dossier https://devotics.fr/series/domotique-sur-mesure/ Sinon il faudra vous rapprochez de la documentation de vos appareils et/ou système pour tenter de les ouvrirs sur l’extérieur.
J’ai créé mes règles de Nat :
La règle « Google Home » redirige le protocole TCP pour les flux Internet ayant le port 80 de la bbox vers le port 80 du périphérique @ip_de_mon_PC.
La règle « Google Home » redirige le protocole TCP pour les flux Internet ayant le port 443 de la bbox vers le port 8123 du périphérique @ip_de_mon_PC.
J’ai également une BBOX. J’utilise NO-IP. Mon dyndns est webnicolas.ddns.net, il fonctionne car je l’utilise pour accéder à ma box depuis l’extérieur.
Que dois-je mettre dans l’URL sur IFTT de mon applet ?
http://webnicolas.ddns.net/api/services/media_player/volume_down?api_password=monmotdepasse
Comment puis-je tester avec postman ?
Quand je lance https://webnicolas.ddns.net/api/services/media_player.samsung_led481_ue48h6400/volume_down?api_password=monmotdepasse,
j’obtiens {« exception »:{« domain »: »unknown », »code »: »404″, »errors »:[{« name »: » », »reason »: »Operation not found »}]}}
Merci de votre patience, si je suis un cas désespéré ou que je comprends rien au fonctionnement dites-le moi, ne vous prenez pas la tête pour moi 🙂
Bonjour,
Pas de problème, ce n’est pas un sujet simple quand on débute. La première étape est de vérifier que vos api sont bien accessible. Pour ce faire testez l’adresse http://webnicolas.ddns.net/api/?api_password=monmotdepasse vous devrez avoir le retour suivant {
message: « API running. »
}. Si ce n’est pas le cas vous devez avoir un problème dans votre fichier de configuration et vos APIs ne sont pas disponible. Ce n’est donc pas la peine d’aller plus loin tant que ce n’est pas réglé. Ensuite, vous pouvez voir plus en détail comment bien utiliser vos api ici. I y a des exemple avec postman qui devrait vous aidez. Une fois toutes ces étapes maîtrisé IFTTT devrait être très simple à configurer.
Bonsoir,
J’ai bien le message « API running » qui s’affiche mais qu’en interne. Dès que je remplace par mon webnicolas.ddns.net, ça m’indique ce site est indisponible, comme si mon NAT ne fonctionnait pas, alors que j’ai mis les mêmes infos que vous.
Bonjour,
On avance 🙂 je ne suis pas sur que vos régles de NAT soit le problème car je me suis permis de tester votre URL hier et j’ai reçu une erreur qui semblait générer par Hass. Je pense donc que c’est juste un problème de paramétrage du composant http. Je te laisse regarder ici https://home-assistant.io/components/http/ le pint important est l’attribut base_url, dans un premier temps vérifiez que vous l’avez bien renseigné avec votre non de domaine.
Bonjour,
J’ai vu ce paramètre en plus. J’ai mis mon nom de domaine, mais au démarrage de hass, il me mettait des erreurs de config dans le fichier configuration.yaml, du coup je me suis dit c’est pas ça.
Je teste de nouveau ce soir.
Encore merci.
Bonsoir,
J’ai ajouté base_url: webnicolas.ddns.net:8123 dans le fichier de conf.
Lorsque je lance http://webnicolas.ddns.net/api/?api_password=motdepasse depuis postman j’ai aucun message qui s’affiche.
J’ai lancé http://192.168.1.81:8123/api/?api_password=motdepasse j’ai bien le message API running
Dès que j’enlève le port 8123, même fonctionnement que webnicolas.ddns.net, il y aucun message qui s’affiche.
J’ai l’impression qu’il ne prend pas le port correctement.
C’est peut être une incohérence entre votre règle de NAT et le paramétrage du base_url.
Normalement, vous devez y indiquer l’url qui permet d’accéder à votre installation depuis l’extérieur. Du coup si vous avez fait une règle de NAT du type 443 -> 8123, la valeur correcte est webnicolas.ddns.net et non webnicolas.ddns.net:8123
Bonsoir,
Je n’ai pas encore installé de certificat, j’ai juste ajouté d’avance la règle de NAT 443 -> 8123
Ma seconde règle de NAT que ce soit 80 -> 80 ou 80 -> 8123, ça ne fonctionne pas plus (tout en supprimant le 8123 dans le fichier conf).
Suite à ma dernière réponse indiquée il y a quelques minutes, je vous ai envoyé sur l’adresse mail devotics.blog@gmail.com mon fichier de log quand je lance hass.
bonjour je cherche a faire fonctionner ma lumiere avec la recette location et ewelink mais ca ne fonctionne pas. j ai essaye avec d autre recette avec location mais ca ne fonctionne pas auriez vous une idée pourquoi ca ne fonctionne pas
Bonjour,
Merci pour ce Tuto et globalement pour votre site qui vulgarise très bien la domotique.
J’ai réussi à piloter le son de ma télé via mon équipement (télé Samsung connecté, Ampli – CEC, freebox, ifttt, home assistant, Google home).
Par contre lorsque je teste l’API pour changer de chaîne via postman, j’ai juste l’affichage d’information du programme en cours qui s’affiche sur la télé…
Ma question est simple : est ce que votre add-on de changement de chaîne fonctionne avec la freebox (ou une box au sens large) ? Si non, existe-t-il des add-on qui auraient été développés pour HASS pour piloter la freebox comme c’est le cas pour jeedom…
Merci pour votre aide.
Bonjour,
Merci de votre commentaire 🙂
Concernant la compatibilité de l’add-on c’est un petit soft que j’ai développé pour un besoin personnel. Je n’ai pas beaucoup de retour et je ne l’ai testé qu’avec ma télévision. Je ne peu donc pas répondre catégoriquement à la question… Cependant, il n’est qu’une sorte de raccourcit qui s’appui sur la fonction « select source » du composant media player d’Home Assistant. De ce fait, si via votre dashboard Home Assistant vous réussissez à changer de chaîne l’add-on devrais fonctionner. Pouvez-vous me tenir au courant de vos tests et si vous arrivez à changer les chaîne via le dashboard mais pas via l’add-on pourriez-vous me communiquer votre version d’Hass.io car le problème vient peu-être une fonctionnalité d’hass.io qui a changé.
Merci, bonne journée.
Bonjour, tout d’abord merci pour toutes ses informations, moi j’aurais une question à vous poser, avec une APK dans mon téléphone, je peut changer les chaînes de SFR évolution, je voudrais savoir si nous pouvons recopier cette apk pour l’intégrer dans mon Google Home et ainsi changer les chaînes avec notre voix, merci d’avance pour votre réponse.
Bonjour,
Tout d’abord merci pour votre compliment concernant l’article. Malheureusement je ne pense pas qu’il soit possible d’intégrer un apk comme vous souhaitez le faire. Cependant, il y a fort à parier que cette application utilise des APIs.
Si c’est le cas, vous pouvez avec un peu de travail, communiquer avec votre box via votre installation. Concernant ces APIs, je n’ai pas de box SFR et je ne connais pas le modèle précis de la votre donc je ne peux pas vous aider plus. Cependant, les premiers résultat sur Google semble donner quelques éléments (https://www.neufbox4.org/blog/archive/449-api-rest-de-la-box-de-sfr). Vous trouverez de plus sur notre site plusieurs articles qui parle d’API REST et qui peuvent vous aider une fois que vous aurez trouvé la bonne documentation technique (https://devotics.fr/utiliser-lapi-rest-home-assistant/, https://devotics.fr/connectez-home-assistant-reste-monde-ifttt/ ou encore https://devotics.fr/votre-premiere-app-nodejs-express/)
Bon courage et n’hésitez pas à nous tenir au courant de l’avancement de votre projet!
Bonjour,
Avant tout, merci pour ce tutoriel très clair. Cependant, en voulant créer une tigger pour monter le son, je rencontre le problème suivant:
Au moment de cliquer sur le bouton « Create Tigger », le tigger se créer et ne me propose pas de selectionner webhook. Qu’est-ce que j’ai pu oublié dans les étapes ?
Merci
Bonjour,
Êtes-vous certain de ne pas avoir fait de faute de frappe ou d’être allé trop vite sur une étape ? Je viens de tester pour vérifier que IFTTT proposait toujours cette option et je retrouve bien les webhooks. Aprés la première étape qui est la sélection de Google Assistant pour le IF, vous devriez avoir, juste après avoir cliquez sur That, une liste de service qui devrais comprendre les webhooks. Je met un imprim écran de ce que j’ai de mon côté juste aprés avoir cliquez sur that et avoir fait une recherche sur le mot clés web.
Pouvez-vous refaire les manipulation et me tenir au courant ?
Bonjour,
Merci pour vos tutos, vous faites un excellent travail !
Malgré tout j’ai un problème que je ne comprends pas. Quand je passe par postman, il augmente bien le son. Par contre quand je passe par IFTTT, il reconnait bien les ordres mais il n’y a aucune action. Je vois pas ce que j’ai loupé. Auriez-vous une idée ?
Merci pour votre aide
Dans la partie Activity, j’ai cette erreur Unable to make web request: Error: ETIMEDOUT. Sachant que le home assistant est installé sur NAS Synology via docker.
Bonjour,
Avez vous tentez d’effectuer la requête postman via un autre réseau? Si cela ne fonctionne pas Il est possible que vous rencontriez un problème d’ouverture de port.
L’autre piste sans plus d’information pourrait être une configuration de timeout un peu basse. Du coup en local pas de soucis mais si votre réseau est un peu faible ou qu’IFTTT met un peu de temps à réagir vous pouvez avoir un blocage de ce type.
Enfin dernière possibilité, vous avez un soucis au niveau de votre certificat.
Bonjour, votre méthode fonctionne-t-elle avec les box sfr ?