IFTTT / google assistant

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
miralant
Messages : 58
Inscription : 02 mars 2018, 14:33

IFTTT / google assistant

Messagepar miralant » 07 août 2018, 11:35

Bonjour à tous,

[edit : j'essais dans un post dédié pour donner un peu de visibilité]

Je pilote déjà quelques devices avec IFTT pour allumer des lumière, pompes and co.

J'utilisais Controlicz pour certaines actions avec google home pour faire un : "quelle est la température du salon"
Il me répond, il fait "23°c dans le salon, thermostat blablabla".
Je souhaiterai faire quelque chose de similaire avec IFTT et les webrequest. Le soucis c'est que je ne sais pas comment récupérer une valeur et lui faire dire :(

ex : https://login:mdp@url.hopto.org/json.ht ... ices&rid=1

me renvoie

Code : Tout sélectionner

{
   "ActTime" : 1533291211,
   "ServerTime" : "2018-08-03 12:13:31",
   "Sunrise" : "06:42",
   "Sunset" : "21:16",
   "result" : [
      {
         "AddjMulti" : 1.0,
         "AddjMulti2" : 1.0,
         "AddjValue" : 0.0,
         "AddjValue2" : 0.0,
         "BatteryLevel" : 255,
         "CustomImage" : 0,
         "Data" : "26.8 C",
         "Description" : "controlicz:température piscine",
         "Favorite" : 1,
         "HardwareID" : 2,
         "HardwareName" : "sonde",
         "HardwareType" : "1-Wire (System)",
         "HardwareTypeVal" : 12,
         "HaveTimeout" : false,
         "ID" : "FFAD",
         "LastUpdate" : "2018-08-03 12:11:58",
         "Name" : "Température piscine",
         "Notifications" : "false",
         "PlanID" : "2",
         "PlanIDs" : [ 2, 4 ],
         "Protected" : false,
         "ShowNotifications" : true,
         "SignalLevel" : "-",
         "SubType" : "LaCrosse TX3",
         "Temp" : 26.800000000000001,
         "Timers" : "false",
         "Type" : "Temp",
         "TypeImg" : "temperature",
         "Unit" : 173,
         "Used" : 1,
         "XOffset" : "624",
         "YOffset" : "202",
         "idx" : "1"
      }
   ],
   "status" : "OK",
   "title" : "Devices"
}


l'idée est de récupérer le noeud "Data" : "26.8 C" du json et lui faire dire :D

avez vous une idée ?

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


landaisbenj
Messages : 584
Inscription : 12 mars 2017, 19:24

Re: IFTTT / google assistant

Messagepar landaisbenj » 10 août 2018, 09:20

Récupérer une valeur ne sera pas compliqué, mais lui faire dire c'est autre chose.

Tu pourras surement utiliser IFTTT pour actionner domoticz, mais pas pour faire la reponse via le gh derriere...
A mon avis il faut que tu couples les deux.

Il y a des tutos sur le forum qui te permettent de faire parler le gh via domoticz je crois.

Trouve ça, et fait en sorte que ça fonctionne. Une fois que ce sera bon, tu pourras peut être simplement activer un code LUA via IFTTT.

Dans le fonctionnement moi j'imaginerai ca:

Hook IFTTT -> webhook pour modification d'un variable (ulterieurement dans cette variable tu peux faire transiter ce que tu veux par exemple si j'ai un ifttt qui dit: 'Ok google' 'Demande a domoticz' $ en webhook je vais simplement changer une variable de domoticz avec la chaine complete, et sur le changement de cette variable utilisateur je vais activer un script lua. Selon la variable je pourrai faire tout ce que je veux.)

"ok google demande a domoticz la temperature du salon" -> user variable 'la température du salon' -> Script lua:

Code : Tout sélectionner

Si uservariable commence par 'la temperature' alors
     parser les devices pour trouver le reste de la chaine (ici 'du salon')
     faire dire a google "otherdevice_temperature['Salon']"
Sinon si uservariable commence par 'fermer' ou 'ouvrir' alors
    parser les devices pour trouver le reste de la chaine
    fermer ou ouvrir le device
    faire dire a google "j'ai fermer ou ouvert"...
Sinon si uservariable commence par 'allume' ou 'eteins' alors
    parser les devices pour trouver le reste de la chaine
    allumer ou eteindre le device
    faire dire a google "j'ai allumer ou eteins"...


C'est clair dans ma tete mais c'est peut etre compliqué a comprendre..

Du coup avec un seul ifttt ce serait autonome et pas avec un script trop compliqué ( a par parser le device ), A la suite on pourrait chacun ajouter notre petit plugin d'utilisation genre:

Code : Tout sélectionner

Sinon si uservaraible commence par 'quel est l'etat'
    parser les devices pour trouver le reste de la chaine
    faire dire a google otherdevice[device]


Pour ma part je pourrais largement faire le code mais j'ai un peu la flemme de suivre le tuto pour faire parler domoticz :/
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

miralant
Messages : 58
Inscription : 02 mars 2018, 14:33

Re: IFTTT / google assistant

Messagepar miralant » 10 août 2018, 12:12

landaisbenj a écrit :Récupérer une valeur ne sera pas compliqué, mais lui faire dire c'est autre chose.

Tu pourras surement utiliser IFTTT pour actionner domoticz, mais pas pour faire la reponse via le gh derriere...
A mon avis il faut que tu couples les deux.

Il y a des tutos sur le forum qui te permettent de faire parler le gh via domoticz je crois.

Trouve ça, et fait en sorte que ça fonctionne. Une fois que ce sera bon, tu pourras peut être simplement activer un code LUA via IFTTT.

Dans le fonctionnement moi j'imaginerai ca:

Hook IFTTT -> webhook pour modification d'un variable (ulterieurement dans cette variable tu peux faire transiter ce que tu veux par exemple si j'ai un ifttt qui dit: 'Ok google' 'Demande a domoticz' $ en webhook je vais simplement changer une variable de domoticz avec la chaine complete, et sur le changement de cette variable utilisateur je vais activer un script lua. Selon la variable je pourrai faire tout ce que je veux.)

"ok google demande a domoticz la temperature du salon" -> user variable 'la température du salon' -> Script lua:

Code : Tout sélectionner

Si uservariable commence par 'la temperature' alors
     parser les devices pour trouver le reste de la chaine (ici 'du salon')
     faire dire a google "otherdevice_temperature['Salon']"
Sinon si uservariable commence par 'fermer' ou 'ouvrir' alors
    parser les devices pour trouver le reste de la chaine
    fermer ou ouvrir le device
    faire dire a google "j'ai fermer ou ouvert"...
Sinon si uservariable commence par 'allume' ou 'eteins' alors
    parser les devices pour trouver le reste de la chaine
    allumer ou eteindre le device
    faire dire a google "j'ai allumer ou eteins"...


C'est clair dans ma tete mais c'est peut etre compliqué a comprendre..

Du coup avec un seul ifttt ce serait autonome et pas avec un script trop compliqué ( a par parser le device ), A la suite on pourrait chacun ajouter notre petit plugin d'utilisation genre:

Code : Tout sélectionner

Sinon si uservaraible commence par 'quel est l'etat'
    parser les devices pour trouver le reste de la chaine
    faire dire a google otherdevice[device]


Pour ma part je pourrais largement faire le code mais j'ai un peu la flemme de suivre le tuto pour faire parler domoticz :/


Merci, je pense que t'on approche est bonne pour faire parler le google home. Cependant dans mon cas, c'est le google assistant (sur mon mobile) que je souhaite faire parler :D

Pour le coup, ok, j'ai fait le webhook, qui écrit dans une variable via l'api Domoticz. Je vais regarder pour faire un script lua qui parse et déclenche une lecture du capteur demandé. Reste à trouver comment faire le retour vers Google assitant :?

landaisbenj
Messages : 584
Inscription : 12 mars 2017, 19:24

Re: IFTTT / google assistant

Messagepar landaisbenj » 10 août 2018, 12:55

A oui ok. Effectivement ma remarque sur les totus pour faire parler google home ne sera donc pas valable. Google assistant est sur l'enceinte google home. Mais les tutos ne font que diffuser un son sur l'enceinte en elle meme... Ils ne font rien avec l'assistant.

Tu ne pourras donc pas faire parler le google assistant.
Il serait d'ailleurs peut etre judicieux de ce pencher sur la question. Domoticz pourrait tout a fait faire parti de la liste des partenaires valide de google.... Mais il y aura surement un contribution a avoir.

Il y a un sdk de google assistant offert par google. Il doit etre trouvable sur github. Avec ca on pourrait peut etre regarder comment faire repondre le google assistant a des retour de domoticz. C'est une piste a creuser mais je ne m'y connais pas assez :(
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


miralant
Messages : 58
Inscription : 02 mars 2018, 14:33

Re: IFTTT / google assistant

Messagepar miralant » 10 août 2018, 13:25

landaisbenj a écrit :A oui ok. Effectivement ma remarque sur les totus pour faire parler google home ne sera donc pas valable. Google assistant est sur l'enceinte google home. Mais les tutos ne font que diffuser un son sur l'enceinte en elle meme... Ils ne font rien avec l'assistant.

Tu ne pourras donc pas faire parler le google assistant.
Il serait d'ailleurs peut etre judicieux de ce pencher sur la question. Domoticz pourrait tout a fait faire parti de la liste des partenaires valide de google.... Mais il y aura surement un contribution a avoir.

Il y a un sdk de google assistant offert par google. Il doit etre trouvable sur github. Avec ca on pourrait peut etre regarder comment faire repondre le google assistant a des retour de domoticz. C'est une piste a creuser mais je ne m'y connais pas assez :(


En fait, c'est le seul service que j'utilisais avec Controlicz. Je me suis donc dit que ça serait bien de tout faire avec IFTTT et la API domoticz

miralant
Messages : 58
Inscription : 02 mars 2018, 14:33

Re: IFTTT / google assistant

Messagepar miralant » 10 août 2018, 16:37

J'ai trouvé une solution pour notifier mon mobile via un webhook maker. C'est en fait un API entrante à IFTTT qui permet de déclencher un event.

Code : Tout sélectionner

curl -X POST -H "Content-Type: application/json" -d '{"value1":"chambre : 34"}' https://maker.ifttt.com/trigger/Test/with/key/maclef


Donc en appelant la ligne ci dessous, je lance le Trigger "Test" auquel je passe 34 (ma température). Mon mobile est notifier du nombre "chambre : 34":D

Il me manque donc la partie script lua et pour le coup, je suis un peu dans le flou.

L'idée :
1. Appel de l'API domoticz. Nom de la zone souhaitée mise dans une variable (Zone) : OK
2. Script lua déclenché sur changement d'état de la variable Zone.
si Zone = bureau, chercher idx de la zone et récupérer la température
Appel de l'IFTTT avec le nom de l'idx + " : "+ la température de l'idx

Vous auriez un sample de code pour la partie lua (trouver l'idx et les infos correspondantes) + l'appel d'une API Json ?

Merci

landaisbenj
Messages : 584
Inscription : 12 mars 2017, 19:24

Re: IFTTT / google assistant

Messagepar landaisbenj » 10 août 2018, 16:57

Ça ne doit pas être trop compliqué en jouant avec la chaîne de caractère.

J'essaierai de voir pour pondre quelque chose assez vite.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

landaisbenj
Messages : 584
Inscription : 12 mars 2017, 19:24

Re: IFTTT / google assistant

Messagepar landaisbenj » 10 août 2018, 16:58

Par contre moi j'étais parti sur une seule variable. Et la détection de la zone se faire dans cette variable.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

miralant
Messages : 58
Inscription : 02 mars 2018, 14:33

Re: IFTTT / google assistant

Messagepar miralant » 10 août 2018, 17:23

landaisbenj a écrit :Par contre moi j'étais parti sur une seule variable. Et la détection de la zone se faire dans cette variable.


C'est bien ça l'idée. Une seule variable avec le nom de la zone souhaitée.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.



Revenir vers « La Bibliothèque Scripts et Tutos »

Qui est en ligne ?

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