Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[TUTO] IFTTT, Sécuriser un peu plus vos requêtes, Interaction par scénario avec correction IFTTT avec et sans retour

Pour parler de tout, et surtout de rien !
meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

[TUTO] IFTTT, Sécuriser un peu plus vos requêtes, Interaction par scénario avec correction IFTTT avec et sans retour

Message par meute » 06 déc. 2017, 11:27

Bonjour,

Edit, pour la dernière version avec contrôle des délais entre commande et réception de la commande IFTTT : viewtopic.php?f=59&t=38301

Edit, Pour la partie scénario IFTTT avec et sans retour personnalisé avec correction de l'IFTTT et ciblage de la GH voulue pour le retour c'est un peu plus bas en image ... là viewtopic.php?f=59&t=32182#p555834

Edit, modification des codes scénario plus bas, remplacement de

Code : Tout sélectionner

$tags["#phrase#"]=str_replace("l ' ","l'",$tags["#phrase#"]); //remplace "l ' " par "l'" correction de l'IFTTT
par :

Code : Tout sélectionner

$tags["#phrase#"]=str_replace(" ' ","'",$tags["#phrase#"]); //remplace " ' " par "'" correction de l'IFTTT
J'avais pas pensé aux "c ' " et aux "n ' " et compagnie qui sont aussi transmis par IFTTT avec des espaces en trop, avec cette modif ça corrige toutes les possibilité de l'apostrophe.

Pour la sécurisation au mieux c'est ici :

Dans tous les tutos IFTTT pour jeedom on stipule de faire un Webhooks de type GET avec content "application/json" avec comme url par exemple :

Code : Tout sélectionner

https://votredomaine/core/api/jeeApi.php?apikey=votrecléapi&type=interact&query=eteins {{TextField}}&utf8=1
Le "problème" c'est que dans ce cas l'url complète est présente en clair dans les logs des serveur IFTTT et donc exposée entre autre aux personnel de l'IT ayant accès aux log d'un serveur sans même avoir besoin d’accéder aux informations de votre compte qui contient les applets et qui j'espère elle est sécurisée et cryptée chez IFTTT.

Alors qu'il vaut mieux faire un Webhooks de type POST avec content "application/x-www-form-urlencoded" avec dans l'URL :

Code : Tout sélectionner

https://votredomaine/core/api/jeeApi.php
et dans le body :

Code : Tout sélectionner

apikey=votrecléapi&type=interact&query=eteins {{TextField}}
Edit : Dans le body Il faut enlever le "&utf8=1" car sinon ça pose des problèmes avec les accents, jeedom reçoit "séjour" au lieu de "séjour" par exemple, donc dans le body ce n'est plus utile, ensuite jeedom remplacera le "è" par "e" automatiquement pour faire son matching d'interaction.

En utilisant le POST vous avez une chance de ne laisser comme trace dans les logs que l'URL mais pas la clé API, car majoritairement le body d'un POST n'est pas mémorisé dans les log, en effet un body peut contenir une grande quantité d'informations contrairement à une URL qui reste limitée, il serait donc un peu "fou" de le mémoriser dans des logs.

Evidemment cela impose d'utiliser un connexion HTTPS, d'avoir un certif SSL valide sur votre jeedom et pas simplement du HTTP mais ça c'est évidement toujours conseillé et pas nouveau.

Pour ceux qui utilisent le DNS jeedom ils ont d'office accès en HTTPS et pour les autres il y a des tuto sur le forum avec les différentes façon d'obtenir un accès HTTPS sur sa box domotique (Reverse proxy, let's encrypt et compagnie)

Afin de mettre aussi fin aux idée reçues (que j'avais aussi avant de me documenter) sur le fait qu'avec un GET la clé api voyagerait en clair avec l'URL entre les serveurs IFTTT et notre jeedom, il faut savoir qu'a partir du moment ou l'on utilise le protocole HTTPS en bonne et due forme avec un certif et tout ce qu'il faut, l'url complète ne voyage jamais en clair, il n'y a que tout au plus le nom de domaine qui voyage en clair, tout le reste de l'URL est encrypté car la connexion SSL/TLS cryptée est établie avant de passer le protocole HTTP dans le cadre du HTTPS.

Donc dans tous les cas :
- Utiliser du HTTPS et bannir à tout prix le HTTP
- Faire du POST au lieu du GET pour laisser un minimum de traces lisibles

Voilà de quoi peut-être réconcilier les frileux avec IFTTT.
Dernière édition par meute le 31 août 2018, 00:45, édité 9 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

extrapitou
Actif
Messages : 1332
Inscription : 27 juin 2015, 21:53
Localisation : Dijon

Re: [TUTO] Sécuriser vos requêtes IFTTT

Message par extrapitou » 06 déc. 2017, 13:28

Ahhhhhhh ben voilaaaaaaaa !!!!

Comme je n'y connais rien dans ce domaine, est ce quelqu'un pourrait confirmer (ou pas) svp ?

Envoyé depuis mon Mobicarte (Si Si jvous jure !!!)


Mon Matos

Mon Blog où vous trouverez des astuces et tutos Tasker/Jeedom
Mon alarme sous Jeedom
Tuto pour la Gestion de la présence

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser vos requêtes IFTTT

Message par meute » 06 déc. 2017, 13:33

Oui moi :mrgreen:
J'ai modifié toutes mes applet IFTTT ce matin et elle fonctionnent toutes, je me suis aussi documenté sur la façon dont est transmis le body en HTTPS et il est bien encrypté, il n'y a que l'URL qui passe en clair donc CQFD ...
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: [TUTO] Sécuriser vos requêtes IFTTT

Message par tomdom » 06 déc. 2017, 15:06

Bonjour,
meute a écrit :
06 déc. 2017, 13:33
en HTTPS..., il n'y a que l'URL qui passe en clair donc CQFD ...
Non. En https, que ce soit du POST, GET, DELETE, whatelse, tout est chiffré (donc l'url). Tu peux le contrôler avec wireshark.

Par contre l'avantage du POST sur le GET, c'est que, généralement, le contenu du POST n'est pas stocké dans les logs, contrairement au GET
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

Avatar de l’utilisateur
noodom
Actif
Messages : 982
Inscription : 13 juil. 2014, 17:25
Contact :

Re: [TUTO] Sécuriser vos requêtes IFTTT

Message par noodom » 06 déc. 2017, 16:46

Super nouvelle ! Applets modifiées, reste à tester !
Merci !

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser vos requêtes IFTTT

Message par meute » 06 déc. 2017, 17:59

tomdom a écrit :
06 déc. 2017, 15:06
Bonjour,
meute a écrit :
06 déc. 2017, 13:33
en HTTPS..., il n'y a que l'URL qui passe en clair donc CQFD ...
Non. En https, que ce soit du POST, GET, DELETE, whatelse, tout est chiffré (donc l'url). Tu peux le contrôler avec wireshark.

Par contre l'avantage du POST sur le GET, c'est que, généralement, le contenu du POST n'est pas stocké dans les logs, contrairement au GET
Effectivement, du coup je me suis encore documenté plus profondément et même en faisant un GET, dans le cadre du protocole HTTPS l'URL complète n'est pas transmise en clair car le client (ici IFTTT) fait d'abord une résolution DNS en utilisant uniquement la composante domaine et port de l'URL, ensuite il établi une connexion TCP cryptée avec le serveur (ici Jeedom) et seulement il lâche l'URL complète avec les paramètres qui est alors encryptée. En HTTPS, la couche SSL/TLS encryptée s'établie avant la couche HTTP.

Par-contre le nom de domaine est souvent inclus en clair (mais pas l'URL complète) dans l'établissement de la connexion TCP SSL/LS car le serveur en a besoin pour choisir le bon certificat, le reverse-proxy aussi pour choisir le bon serveur ... dans les cas où la même IP accède à plusieurs serveurs ou à plusieurs nom de domaine. Sans ça les reverse-proxy ne pourraient pas fonctionner

Donc même avec la méthode "GET" la clé API n'a jamais vraiment voyagé en clair.

Comme tu dis l'avantage du POST c'est que seul le domaine sera présent dans les logs du serveur, donc c'est mieux mais avec le GET c'était déjà pas si mal à condition de bien utiliser du HTTPS évidement.

Donc si j'en vois encore un se plaindre avec "oui, heu, ifttt j'en veux pas, heu ... j'ai pas envie que ma clé API voyage en clair sur le net ..." je le frappe :lol: :lol: :lol:

Je vais donc retravailler un peu le post principal ...
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

extrapitou
Actif
Messages : 1332
Inscription : 27 juin 2015, 21:53
Localisation : Dijon

Re: [TUTO] Sécuriser vos requêtes IFTTT

Message par extrapitou » 06 déc. 2017, 18:19

Niquel merci pour ces explications. Je vais tester avec le POST, vu que c'est encore mieux que le GET :)

Envoyé depuis mon Mobicarte (Si Si jvous jure !!!)

Mon Matos

Mon Blog où vous trouverez des astuces et tutos Tasker/Jeedom
Mon alarme sous Jeedom
Tuto pour la Gestion de la présence

extrapitou
Actif
Messages : 1332
Inscription : 27 juin 2015, 21:53
Localisation : Dijon

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par extrapitou » 06 déc. 2017, 21:53

Petit retour d'xp : J'ai bien mis en place ton tuto ca marche bien sauf que je n'ai aucune réponse vocale de l'interaction, alors qu'en passant par le GET j'ai bien un retour vocal.

Tu n'a pas le même problème ?
Mon Matos

Mon Blog où vous trouverez des astuces et tutos Tasker/Jeedom
Mon alarme sous Jeedom
Tuto pour la Gestion de la présence

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 06 déc. 2017, 22:49

Non tout roule chez moi, mais tu fais tes retours via quel moyen, IFTTT ou jeedom ?

Si tu utilise le tuto "Google Home - réponse aux interactions avec un seul applet IFTTT " pour tes retours il faut modifier quelques trucs et pour un bien utiliser la méthode de webrod avec du code dans un scenario mais il faut la modifier un peu car pas parfaite il y a des problèmes dans les interactions à cause de guillemets qui ne devraient pas être là et d'autres bricoles.

Moi maintenant je passe tout par deux scénarios inspirés de webrod mais un peu tunnés, un sans retour jeedom et un avec retour jeedom, je n'attaque plus le moteur d’interaction en direct et ça me permet de faire un peu de traitement sur ce que IFTTT envoie comme remplacer les "l ' " par 'l'" ou les " - " par "-" par exemple car oui IFTTT envoie toujours "l ' atelier" au lieu de "l'atelier" ou "donne - moi" au lieu de "donne-moi" et j'ai cherché sur le sujet mais trouvé aucune solution du côté IFTTT, je corrige donc ça du côté jeedom ...

Et du coup toutes mes interactions matches direct, car tester si "allume l ' eclairage de l ' atelier" est égale à "allume l'eclairage de l'atelier" ça matche pas direct, jeedom fini par tomber dessus mais après avoir testé toutes les autres solutions ... et c'est dommage juste pour ça.
Et mettre volontairement des "l ' " dans les interaction ça fait foirer la suppression automatique des syntaxes incorrectes car du coup jeedom laisse passer des trucs du genre "l ' salon" alors qu si lors de la génération il tombe sur "l'salon" il le supprime des phrases générées.

Je prépare un tuto avec ça mais il faut un peu de temps ... vaste sujet mais là j'ai une solution au top avec actions et retour IFTTT et actions avec retour jeedom pour demandes d'infos sur la GH de mon choix le tout en maximisant à fond le matching direct et pourtant j'ai plus de 130 interactions dont certaines on généré un paquet de phrases ... Ou alors je fille le bébé à bronche pour qu'il fasse un tuto, il fait ça bien lui !!!
Dernière édition par meute le 06 déc. 2017, 23:15, édité 2 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

extrapitou
Actif
Messages : 1332
Inscription : 27 juin 2015, 21:53
Localisation : Dijon

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par extrapitou » 06 déc. 2017, 23:05

Dans ifttt je mets la réponse "ok j'ai compris" (normal car l'applet sert pour plusieurs interactions) et dans l'interaction jeedom je mets par exemple "ok j'allume la lumière de la douche"

Je reçois bien "j'ai compris" immédiatement, mais aucun TTS de la réponse de l'interaction, alors qu'avec le GET j'ai les 2 réponses.

Envoyé depuis mon Mobicarte (Si Si jvous jure !!!)

Mon Matos

Mon Blog où vous trouverez des astuces et tutos Tasker/Jeedom
Mon alarme sous Jeedom
Tuto pour la Gestion de la présence

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 06 déc. 2017, 23:13

extrapitou a écrit :
06 déc. 2017, 23:05
Dans ifttt je mets la réponse "ok j'ai compris" (normal car l'applet sert pour plusieurs interactions) et dans l'interaction jeedom je mets par exemple "ok j'allume la lumière de la douche"

Je reçois bien "j'ai compris" immédiatement, mais aucun TTS de la réponse de l'interaction, alors qu'avec le GET j'ai les 2 réponses.

Envoyé depuis mon Mobicarte (Si Si jvous jure !!!)
J'ai édité mon post précédent entre temps ...
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

extrapitou
Actif
Messages : 1332
Inscription : 27 juin 2015, 21:53
Localisation : Dijon

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par extrapitou » 06 déc. 2017, 23:36

Ok je vais aller voir la solution de webrod mais je trouve bizarre que sur la même interaction le GET fasse la réponse en TTS et pas le POST.
Merci je vois ca demain

Envoyé depuis mon Mobicarte (Si Si jvous jure !!!)

Mon Matos

Mon Blog où vous trouverez des astuces et tutos Tasker/Jeedom
Mon alarme sous Jeedom
Tuto pour la Gestion de la présence

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 06 déc. 2017, 23:49

IFTTT au travers d'un scenario avec retour personnalisé sur la GH de son choix et correction des phrases IFTTT :

Scénario à la base inspiré de l’excellente idée de webrot exposée ici viewtopic.php?f=59&t=31558&start=60#p550354 et qui est déroutante de simplicité, faut rendre à César ce qui appartient à César ... j'ai simplement apporté quelques améliorations comme la gestion du choix de la GH de retour et la correction de certaines "annomalie" que IFTTT inclus dans ses phrases comme le "l ' " par exemple et aussi le remplacement des "." par "virgule" dans les retours jeedom.

Code : Tout sélectionner

 // Récupération des tags passés en paramètre.
$tags = $scenario->getTags();
$tags["#phrase#"]=strtolower($tags["#phrase#"]); //tout en minuscules
$tags["#phrase#"]=str_replace('"',"",$tags["#phrase#"]); //suppression des "" en trop
$tags["#phrase#"]=str_replace(" ' ","'",$tags["#phrase#"]); //remplace " ' " par "'" correction de l'IFTTT
$tags["#phrase#"]=str_replace(" - ","-",$tags["#phrase#"]); //remplace " - " par "-" correction de l'IFTTT
$tags["#phrase#"]=str_replace(" depuis "," via ",$tags["#phrase#"]); //permet de dire "depuis" ou "dans" ou "via" pour cibler la GH de retour
$tags["#phrase#"]=str_replace(" dans "," via ",$tags["#phrase#"]); //permet de dire "depuis" ou "dans" ou "via" pour cibler la GH de retour
$scenario->setData("phrase",$tags["#phrase#"] ,false) ; //sauvegarde de la phrase dans une variable pour la suite avant urlencode
$tags["#phrase#"]=urlencode($tags["#phrase#"]); //encodage au format URL

//url d'appel interaction
$url="http://IPJEEDOM/core/api/jeeApi.php?apikey=CléAPI&type=interact&query=".$tags["#phrase#"];

//récupération de la réponse des intéractions
$reponse_intraction=file_get_contents($url);
$reponse_intraction=str_replace(".","virgule",$reponse_intraction); //remplace le "." par le mot "virgule" pour le retour TTS de valeurs décimales

//stockage dans la variable
$scenario->setData("retour_interac",$reponse_intraction ,false) ;
Le scenario avec retour :
Capture.PNG
Capture.PNG (238.3 Kio) Consulté 5534 fois
Un exemple d'interraction pour la température :
Capture1.PNG
Capture1.PNG (54.19 Kio) Consulté 5534 fois
L'ifttt :
Capture2.PNG
Capture2.PNG (63.94 Kio) Consulté 5534 fois
Dernière édition par meute le 14 déc. 2017, 18:09, édité 4 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 06 déc. 2017, 23:51

et la suite de l'ifttt :
Capture3.PNG
Capture3.PNG (62.27 Kio) Consulté 5533 fois
L'url :

Code : Tout sélectionner

https://VotreDomaine/core/api/jeeApi.php
Le body :

Code : Tout sélectionner

apikey=VotreCléAPI&type=scenario&id=VotreIdScenario&action=start&tags=phrase%3D"donne-moi {{TextField}}"
le "donne-moi" est un exemple pour cette applet dont la phrase a dire est "donne-moi $", si vous utilisez votre applet avec un mot clé genre "jarvis $" ou "jeedom $" faites alors simplement :

Code : Tout sélectionner

apikey=VotreCléAPI&type=scenario&id=VotreIdScenario&action=start&tags=phrase%3D"{{TextField}}"
Dernière édition par meute le 11 déc. 2017, 14:58, édité 3 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 07 déc. 2017, 00:02

La version avec retour IFTTT donc sans retour jeedom pour les actions pures:

Code : Tout sélectionner

// Récupération des tags passés en paramètre.
$tags = $scenario->getTags();
$tags["#phrase#"]=strtolower($tags["#phrase#"]); //tout en minuscules
$tags["#phrase#"]=str_replace('"',"",$tags["#phrase#"]); //suppression des "" en trop
$tags["#phrase#"]=str_replace(" ' ","'",$tags["#phrase#"]); //remplace " ' " par "'" correction de l'IFTTT
$tags["#phrase#"]=str_replace(" - ","-",$tags["#phrase#"]); //remplace " - " par "-" correction de l'IFTTT
$scenario->setData("phrase",$tags["#phrase#"] ,false) ; //sauvegarde de la phrase dans une variable pour la suite avant urlencode
$tags["#phrase#"]=urlencode($tags["#phrase#"]); //encodage au format URL

//url d'appel interaction
$url="http://IPJEEDOM/core/api/jeeApi.php?apikey=CléAPI&type=interact&query=".$tags["#phrase#"];

//récupération de la réponse des intéractions
$reponse_intraction=file_get_contents($url);
$reponse_intraction=str_replace(".","virgule",$reponse_intraction); //remplace le "." par le mot "virgule" pour le retour TTS de valeurs décimales

//stockage dans la variable
$scenario->setData("retour_interac",$reponse_intraction ,false) ;
Le scénario :
Capture1.PNG
Capture1.PNG (155.63 Kio) Consulté 5528 fois
Exemple d'interaction :
Capture2.PNG
Capture2.PNG (58.7 Kio) Consulté 5528 fois
L'ifttt :
Capture3.PNG
Capture3.PNG (39 Kio) Consulté 5528 fois
Dernière édition par meute le 14 déc. 2017, 18:10, édité 2 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 07 déc. 2017, 00:03

Suite de l'ifttt:
Capture4.PNG
Capture4.PNG (63.55 Kio) Consulté 5528 fois
L'url :

Code : Tout sélectionner

https://VotreDomaine/core/api/jeeApi.php
Le body :

Code : Tout sélectionner

apikey=VotreCléAPI&type=scenario&id=VotreIdScenario&action=start&tags=phrase%3D"allume {{TextField}}"
le "allume" est un exemple pour cette applet dont la phrase a dire est "allume $", si vous utilisez votre applet avec un mot clé genre "jarvis $" ou "jeedom $" faites alors simplement :

Code : Tout sélectionner

apikey=VotreCléAPI&type=scenario&id=VotreIdScenario&action=start&tags=phrase%3D"{{TextField}}"
Si vous voulez utiliser un mot clé et conjointement des interactions avec un retour et IFTTT et d'autres avec un vrai retour jeedom alors faites 2 applets :
une avec "jarvis donne-moi $" comme phrase a dire, "un instant" comme retour IFTTT et comme body :

Code : Tout sélectionner

apikey=VotreCléAPI&type=scenario&id=VotreIdScenarioAvecRetour&action=start&tags=phrase%3D"donne-moi {{TextField}}"
ce qui vous permet de dire "Ok google, jarvis donne-moi la température du salon" et d'avoir le retour de jeedom

et une avec "jarvis $" comme phrase a dire, "Ok, j'exécute $" comme retour IFTTT et comme body :

Code : Tout sélectionner

apikey=VotreCléAPI&type=scenario&id=VotreIdScenarioSansRetour&action=start&tags=phrase%3D"{{TextField}}"
ce qui vous permet de dire "Ok google, jarvis allume la lumière du salon"

Le reste du boulot est à faire dans les interactions jeedom pour gérer celles avec "donne-moi" et les autres de façon tout à fait standard.
Dernière édition par meute le 07 déc. 2017, 09:40, édité 1 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 07 déc. 2017, 00:13

Dans la version sans retour jeedom j'ai quand même conservé des lignes de codes qui servent à récupérer le retour jeedom même si elle ne sont pas utilisées ensuite dans le scénario, on sait jamais qu'un jour j'en fasse quelque chose quand même dans la suite du scénario.

Mes applet IFTTT appellent soit le scénario avec retour si c'est une interaction qui nécessite un retour jeedom soit l'autre si c'est une action où le retour IFTTT est suffisant.

Et en plus maintenant en désactivant seulement les deux scénario je peux couper toutes les interactions de l'IFTTT vers jeedom en une foi en cas de problème ...
Dernière édition par meute le 07 déc. 2017, 02:15, édité 1 fois.
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

meute
Actif
Messages : 1102
Inscription : 26 août 2017, 11:07
Localisation : Belgique

Re: [TUTO] Sécuriser un peu plus vos requêtes IFTTT

Message par meute » 07 déc. 2017, 00:20

Et voici les phrase générées pour les interaction précédentes :

Pour la demande de température :

Code : Tout sélectionner

donne-moi la temperature abri de jardin
donne-moi la temperature abri de jardin via l'atelier
donne-moi la temperature abri de jardin via la salle de bain
donne-moi la temperature abri de jardin via le bureau
donne-moi la temperature abri de jardin via le sejour
donne-moi la temperature atelier
donne-moi la temperature atelier via l'atelier
donne-moi la temperature atelier via la salle de bain
donne-moi la temperature atelier via le bureau
donne-moi la temperature atelier via le sejour
donne-moi la temperature chambre florent
donne-moi la temperature chambre florent via l'atelier
donne-moi la temperature chambre florent via la salle de bain
donne-moi la temperature chambre florent via le bureau
donne-moi la temperature chambre florent via le sejour
donne-moi la temperature chambre matheo
donne-moi la temperature chambre matheo via l'atelier
donne-moi la temperature chambre matheo via la salle de bain
donne-moi la temperature chambre matheo via le bureau
donne-moi la temperature chambre matheo via le sejour
donne-moi la temperature chambre parents
donne-moi la temperature chambre parents via l'atelier
donne-moi la temperature chambre parents via la salle de bain
donne-moi la temperature chambre parents via le bureau
donne-moi la temperature chambre parents via le sejour
donne-moi la temperature de abri de jardin
donne-moi la temperature de abri de jardin via l'atelier
donne-moi la temperature de abri de jardin via la salle de bain
donne-moi la temperature de abri de jardin via le bureau
donne-moi la temperature de abri de jardin via le sejour
donne-moi la temperature de atelier
donne-moi la temperature de atelier via l'atelier
donne-moi la temperature de atelier via la salle de bain
donne-moi la temperature de atelier via le bureau
donne-moi la temperature de atelier via le sejour
donne-moi la temperature de chambre florent
donne-moi la temperature de chambre florent via l'atelier
donne-moi la temperature de chambre florent via la salle de bain
donne-moi la temperature de chambre florent via le bureau
donne-moi la temperature de chambre florent via le sejour
donne-moi la temperature de chambre matheo
donne-moi la temperature de chambre matheo via l'atelier
donne-moi la temperature de chambre matheo via la salle de bain
donne-moi la temperature de chambre matheo via le bureau
donne-moi la temperature de chambre matheo via le sejour
donne-moi la temperature de chambre parents
donne-moi la temperature de chambre parents via l'atelier
donne-moi la temperature de chambre parents via la salle de bain
donne-moi la temperature de chambre parents via le bureau
donne-moi la temperature de chambre parents via le sejour
donne-moi la temperature de exterieur
donne-moi la temperature de exterieur via l'atelier
donne-moi la temperature de exterieur via la salle de bain
donne-moi la temperature de exterieur via le bureau
donne-moi la temperature de exterieur via le sejour
donne-moi la temperature de l'abri de jardin
donne-moi la temperature de l'abri de jardin via l'atelier
donne-moi la temperature de l'abri de jardin via la salle de bain
donne-moi la temperature de l'abri de jardin via le bureau
donne-moi la temperature de l'abri de jardin via le sejour
donne-moi la temperature de l'atelier
donne-moi la temperature de l'atelier via l'atelier
donne-moi la temperature de l'atelier via la salle de bain
donne-moi la temperature de l'atelier via le bureau
donne-moi la temperature de l'atelier via le sejour
donne-moi la temperature de l'exterieur
donne-moi la temperature de l'exterieur via l'atelier
donne-moi la temperature de l'exterieur via la salle de bain
donne-moi la temperature de l'exterieur via le bureau
donne-moi la temperature de l'exterieur via le sejour
donne-moi la temperature de la chambre florent
donne-moi la temperature de la chambre florent via l'atelier
donne-moi la temperature de la chambre florent via la salle de bain
donne-moi la temperature de la chambre florent via le bureau
donne-moi la temperature de la chambre florent via le sejour
donne-moi la temperature de la chambre matheo
donne-moi la temperature de la chambre matheo via l'atelier
donne-moi la temperature de la chambre matheo via la salle de bain
donne-moi la temperature de la chambre matheo via le bureau
donne-moi la temperature de la chambre matheo via le sejour
donne-moi la temperature de la chambre parents
donne-moi la temperature de la chambre parents via l'atelier
donne-moi la temperature de la chambre parents via la salle de bain
donne-moi la temperature de la chambre parents via le bureau
donne-moi la temperature de la chambre parents via le sejour
donne-moi la temperature de la salle de bain
donne-moi la temperature de la salle de bain via l'atelier
donne-moi la temperature de la salle de bain via la salle de bain
donne-moi la temperature de la salle de bain via le bureau
donne-moi la temperature de la salle de bain via le sejour
donne-moi la temperature de la sejour
donne-moi la temperature de la sejour via l'atelier
donne-moi la temperature de la sejour via la salle de bain
donne-moi la temperature de la sejour via le bureau
donne-moi la temperature de la sejour via le sejour
donne-moi la temperature de salle de bain
donne-moi la temperature de salle de bain via l'atelier
donne-moi la temperature de salle de bain via la salle de bain
donne-moi la temperature de salle de bain via le bureau
donne-moi la temperature de salle de bain via le sejour
donne-moi la temperature de sejour
donne-moi la temperature de sejour via l'atelier
donne-moi la temperature de sejour via la salle de bain
donne-moi la temperature de sejour via le bureau
donne-moi la temperature de sejour via le sejour
donne-moi la temperature du sejour
donne-moi la temperature du sejour via l'atelier
donne-moi la temperature du sejour via la salle de bain
donne-moi la temperature du sejour via le bureau
donne-moi la temperature du sejour via le sejour
donne-moi la temperature exterieur
donne-moi la temperature exterieur via l'atelier
donne-moi la temperature exterieur via la salle de bain
donne-moi la temperature exterieur via le bureau
donne-moi la temperature exterieur via le sejour
donne-moi la temperature salle de bain
donne-moi la temperature salle de bain via l'atelier
donne-moi la temperature salle de bain via la salle de bain
donne-moi la temperature salle de bain via le bureau
donne-moi la temperature salle de bain via le sejour
donne-moi la temperature sejour
donne-moi la temperature sejour via l'atelier
donne-moi la temperature sejour via la salle de bain
donne-moi la temperature sejour via le bureau
donne-moi la temperature sejour via le sejour
Pour l'allumage de l'ambiance du séjour:

Code : Tout sélectionner

allume ambiance
allume ambiance du sejour
allume l'ambiance
allume l'ambiance du sejour
allume l'eclairage d'ambiance
allume l'eclairage d'ambiance du sejour

Oui, j'aime bien aider au maximum Jeedom dans son matching pour éviter qu'il trouve autre chose que ce que je veux en chemin, puis on est 5 à utiliser les GH et chacun a un peu ses façons de parler ... donc faut palier à toutes les éventualités, sans compter que des fois GH ne comprend pas exactement les articles comme prévu genre "Ok, j'allume la atelier" au lieu de "Ok, j'allume l'atelier" ...

Il faut savoir que si jeedom peut établir une correspondance immédiatement entre une interaction et une requête c'est extrêmement rapide car pas de recherche de matching pondéré à faire alors que si il ne trouve pas instantanément de correspondance alors il commence à scruter les possibilités les plus proches en pondérant les résultat pour en ressortir le plus probable et là ça commence à pomper en ressources, je ne sent pas de différence sensible entre les deux car mon jeedom tourne sur une config couillue avec un bench à 0.67s mais sur un PI3 avec un bench à 50s ça doit se sentir un peu plus. Tout ça se voit facilement dans les log "interact", et moi je fais tout pour que ce log soit le plus clean possible avec du matching direct sans pondération.

Et en effet je n'utilise pas de mot clé genre "jeedom" ou "jarvis" pour interagir avec mon jeedom, c'est toujours "Ok google, ..." et la commande directement derrière, c'est pourquoi l'ai une applet IFTTT pour chaque type d'action "Allume $" "Eteins $" "Ouvre $" "Ferme $" "Donne-moi $" "Passe en mode $" "Change la couleur $" "Mets $" je dois en avoir entre 10 et 15 mais c'est aussi tout à fait possible de faire simplement :
"Jarvis $" pour toutes les actions sans retour et "Jarvis donne-moi $" pour les actions avec retour jeedom comme ça avec 2 applet on fait tout, mais il y a le mot clé à dire en plus ...
Jeedom VM ESXI sur NUC
Ilot I/O Modbus Wago Z-Wave (11 volets,prises,présences) + RFXCom (sondes T°+RH, prises)
Pont Hue et une vingtaine d'ampoules,une flopée de Xiaomi aquara, Harmony Elite
8 Google Home et un PC tactile All-In accroché au mur

TaG
Actif
Messages : 1159
Inscription : 26 oct. 2016, 11:02

Re: [TUTO] IFTTT, Sécuriser un peu plus vos requêtes, Interaction par scénario avec correction IFTTT avec et sans retour

Message par TaG » 12 déc. 2017, 17:28

Hello.
Je raccroche le train

Micramaniac
Timide
Messages : 216
Inscription : 17 oct. 2017, 11:22

Re: [TUTO] IFTTT, Sécuriser un peu plus vos requêtes, Interaction par scénario avec correction IFTTT avec et sans retour

Message par Micramaniac » 05 janv. 2018, 14:13

Bonjour,
Bonne idée d'avoir regrouper tout ce qui touche aux interactions via IFTTT.
En tout cas, un grand merci à tous ceux qui ont fait avancer les choses.

@Meute
J'ai bien compris l'intérêt de passer par 2 scénario unique pour les interactions via IFTTT. Je trouve que l'idée est très bonne. Ainsi on maîtrise ce qui se passe uniquement via ces 2 scénarios.
En revanche, pour les interactions sans retour jeedom, je ne comprends pas l'intérêt de créer autant d'applet dans IFTTT que de commandes (allume, éteins, mets, ...).
Je ne suis pas fan du mot clé type jarvis$ ou autre mais en mettant par exemple "peux-tu$" ce qui donnerais "Ok Google, peux-tu allumer la lumière du salon".
avec un retour "OK, je vais$", on obtient "OK? je vais allumer la lumière du salon".
Il suffit ensuite de gérer ça via une interaction jeedom du genre :
#commande# [ le |la ] #equipement# [dans | dans la | dans le | de la | de |du ] #objet#
avec comme synonyme on=allumer | off=éteindre

Est-ce que c'est pour favoriser le matching comme tu le précisais?

Merci

Répondre

Revenir vers « Discussions Générales »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité