[Tuto] Google Home Assistant + Domoticz + IFTTT

Vous avez créé 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.
fratton
Messages : 150
Inscription : 19 août 2015, 16:38

[Tuto] Google Home Assistant + Domoticz + IFTTT

Message par fratton »

IFTTT est super simple à mettre en place et à utiliser si c'est juste pour passer des interrupteurs de on à off ! Cela remplace assez rapidement controlicz qui est devenu payant.

IFTTT (IF This Then That) est un service web gratuit utilisé pour provoquer une action (then that) à la suite d'un événement déclencheur (if this). Parmi la liste des très nombreux déclencheurs possibles, on retrouve Google Assistant. Et parmi les actions possibles, on peut envoyer une requête HTML avec WebHooks.

https://ifttt.com

Alors le principe est simple.

Éveiller Google Home: « OK Google »
Énoncer une commande: « Alume la lampe de chevet »
Envoyer, avec WebHooks, une requête HTML formatée selon les exigences du logiciel de domotique qui allumera la lampe.

Il suffit d'utiliser le tuto à partir de l'étape 7 : https://www.sigmdel.ca/michel/ha/domoti ... html#ifttt

mais pour l'url, il faut encoder en base64 le login et le mot de passe :

Exemple (utilisez https://codebeautify.org/base64-encode ):
idx=115
username = moi = bW9p en base64
password = monpass = bW9ucGFzcw== en base64

ce qui donne comme url :

Code : Tout sélectionner

https://domoticz-ip:port/json.htm?type=command&param=switchlight&idx=115&switchcmd=On&username=bW9p&password=bW9ucGFzcw==

Pour faire lire une température par l'enceinte google, j'ai créer un script PHP en passant action "Temp" et l'IDX du capteur.
Le PHP recupère la valeur json du capteur et execute le script notification_google_home.sh
https://easydomoticz.com/forum/viewtopic.php?t=5914
qui se base sur stream2chromecast.py
https://github.com/dohliam/stream2chromecast

Mon php :

Code : Tout sélectionner

$DOMOTICZ_URL="http://xxx.xxx.xxx.xxx:8081";

if(isset($_GET['idx']) and isset($_GET['action'])) {
    $idx = $_GET['idx'];
    $action = $_GET['action'];

        if($action=='Temp') {
                $curl = curl_init($DOMOTICZ_URL."/json.htm?type=devices&rid=".$idx);
                curl_setopt($curl, CURLOPT_TIMEOUT, 30);
                curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
                curl_setopt($curl, CURLOPT_HEADER, 0);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                $json = json_decode(curl_exec($curl),true);
                $json = $json['result'][0];
                $temp = $json['Temp'];

                $phrase = 'sudo /home/scripts/sh/stream2chromecast/notification_google_home.sh "'.$temp.' degrés" 0 0 2>&1 &';
                $output = shell_exec($phrase);
                echo "<pre>$output</pre>";

        }

} else {
    echo 'attente';
}
exemple d'appel WebHooks de IFTTT à la phrase "Quelle est la température du salon" :
https://monurl/monscript.php?action=Temp&idx=120
Dernière modification par fratton le 20 août 2018, 15:37, modifié 3 fois.
Raspberry Pi B+ / RF-Link 433MHz / divers device maison 433MHz et Wifi
miralant
Messages : 157
Inscription : 02 mars 2018, 14:33

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par miralant »

fratton a écrit :
mais pour l'url, il faut encoder en base64 le login et le mot de passe :

Exemple (utilisez https://codebeautify.org/base64-encode ):
idx=115
username = moi = bW9p en base64
password = monpass = bW9ucGFzcw== en base64

ce qui donne comme url :

Code : Tout sélectionner

https://domoticz-ip:port/json.htm?type=command&param=switchlight&idx=115&switchcmd=On&username=bW9p&password=bW9ucGFzcw==
euh, ça fonctionne parfaitement sans l'encodage.
il y'a d'ailleurs un post sur ce sujet déjà ouvert ici > https://easydomoticz.com/forum/viewtopi ... hilit=IFTT
fratton
Messages : 150
Inscription : 19 août 2015, 16:38

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par fratton »

miralant a écrit :euh, ça fonctionne parfaitement sans l'encodage.
Tout dépend de ta méthode d'identification : Page de connexion (celle que j'utilise) ou Basic-AUTH et de ta version de Domoticz. La doc officielle est claire :
https://www.domoticz.com/wiki/Domoticz_ ... parameters
Capture.JPG
Capture.JPG (31.18 Kio) Consulté 23719 fois
De plus cela evite d'afficher en clair l'utilisateur et le mot de passe, ce qui est une petite amélioration quand même ;)
Raspberry Pi B+ / RF-Link 433MHz / divers device maison 433MHz et Wifi
Gardaux
Messages : 109
Inscription : 05 oct. 2017, 13:42
Localisation : Bouches du Rhône

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par Gardaux »

Bonjour,
Le système à l'air pas mal du tout pour avoir les différentes températures de la maison via GH.
Comme tout novice ma question est simple, où dois-je placer le fichier PHP ? :?
---------------------------------------------------------------------------------------------------
Domoticz + Raspberry Pi3 x2 + RFXCOM (IFTTT)
Domoticz + Synology + RFLink
Seb13
Messages : 273
Inscription : 07 janv. 2016, 23:46

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par Seb13 »

Merci, cela fonctionne très bien !

Pour la base64, possible de faire le contraire... je ne comprends pas l'interet car si je prends en clair : VHVOZVRyb3V2ZXJhc1Bhcw==

Avec le lien que tu as donné tu peux faire decode donc on trouvera le code : TuNeTrouverasPas

L’intérêt ?
Seb13
Messages : 273
Inscription : 07 janv. 2016, 23:46

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par Seb13 »

Hello à tous,

Une réponse ? ;)
fratton
Messages : 150
Inscription : 19 août 2015, 16:38

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par fratton »

Comme dit plus haut, je n'ai fait que suivre la doc officielle. Pose la question au développeurs pour en connaitre le pourquoi.
Mais comme le disent les autres, tu peux te passer de l'encodage base64.
Raspberry Pi B+ / RF-Link 433MHz / divers device maison 433MHz et Wifi
glybra
Messages : 95
Inscription : 05 avr. 2015, 12:58

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par glybra »

Bonsoir a toute et a tous,
je n arrive pas a acceder au site https://www.sigmdel.ca/michel/ha/domoti ... html#ifttt , j ai une erreur 403 a chaque essai !! quelqu un pourrait m'eclairer..merci
fratton
Messages : 150
Inscription : 19 août 2015, 16:38

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par fratton »

Tu trouveras un tuto pour IFTTT ici : https://easydomoticz.com/forum/viewtopi ... hilit=IFTT
Raspberry Pi B+ / RF-Link 433MHz / divers device maison 433MHz et Wifi
glybra
Messages : 95
Inscription : 05 avr. 2015, 12:58

Re: [Tuto] Google Home Assistant + Domoticz + IFTTT

Message par glybra »

Merci fratton
Répondre