sebcbien Posté(e) le 21 décembre 2016 Signaler Posté(e) le 21 décembre 2016 Bonjour, Pour ne pas polluer le topic de @ADN182 et comme les solutions divergent, voici le post avec une solution pour pousser les valeurs de Jeedom vers un HC2 en utilisant l' API PUT Les deux soluitions font la même chose La solution de ADN182 effectue la plupart du traitement sur la HC2 alors que ici c'est via ce script sur Jeedom. La solution de ADN182 convertit les noms des pièces/devices automatiquement en ID, on peut donc utiliser la même url de push dans tous les modules Z-Wave Ce script ne le fait pas (encore) la recherche automatique d'id sera peut être ajouté par la suite, éventuellement par ADN182 La solution de ADN182 ne peut être utilisé que avec la commande push et non dans des scénarios ou ailleurs. Ce script peut être utilisé pour modifier des valeurs de fake/dead devices sur une HC2 exemple de format de l'url http: arguments: id: id du device Fibaro value: valeur numérique value_bin: valeur binaire, 0 et 1 seront transformés en false et true properties: si non sspécifié, le script utilisera value. exemple: appel via script "message" : http://127.0.0.1/plugins/script/core/ressources/put2hc2V2.php?id=#title#&value=#message# appels via url: http://127.0.0.1/plugins/script/core/ressources/put2hc2V2.php?value_bin=0&id=1245 appel via push url d'un device: http://127.0.0.1/plugins/script/core/ressources/put2hc2V2.php?value_bin=#value#&id=1245 http://127.0.0.1/plugins/script/core/ressources/put2hc2V2.php?value=150&id=1245&properties=power Installation: Installer un script php dans jeedom via le plugin script: Affichage sur le dashboard, pratique pour tester: Utilisation dans un scénario (ou ailleurs, plugins, alarme, modes etc...) dans Jeedom: Dans la zone push d'un device: Contenu du script put2hc2.php: Version2: <?php // ce script peut être utilisé pour modifier des valeurs de fake/dead devices sur une HC2 // exemple de format de l'url http: // arguments: // id: id du device Fibaro // value: valeur numérique // value_bin: valeur binaire, 0 et 1 seront transformés en false et true // properties: si non sspécifié, le script utilisera value. // exemple: // appel via script "message" // http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?id=#title#&value=#message# // appels via url // http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value_bin=0&id=1245 // appel via push url d'un device // http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value_bin=#value#&id=1245 // http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=150&id=1245&properties=power // V2.0 22/12/2016 $userName = "XXXXXXXXX"; $password = "XXXXXXXXXXXXXXXXXXX"; $ipHc2 = "192.168.XXX.XXX"; $tcpPort = "80"; $default_properties="value"; // si pas de properties spécifiée utiliser celle-ci (convient à quasiment tout les cas) //si value vide, tester value_bin et transformer if (isset($_GET['value'])) { $value=$_GET['value']; }else{ $value_bin=$_GET['value_bin']; // transformer 0 et 1 en true/false if ($value_bin=="1") { $value="true"; } if ($value_bin=="0") { $value="false"; } } // récupérer l'id $id=$_GET['id']; //si properties vide, mettre properties=value if (isset($_GET['properties'])) { $properties=$_GET['properties']; }else{ $properties=$default_properties; } //pour debug //if !isset($id) then $id="2153" end; //$properties=value; //$value= true; $request = "/api/devices/".$id; $data_string = '{"properties":{"'.$properties.'": '.$value.'}}'; $url = 'http://'.$userName.':'.$password.'@'.$ipHc2.':'.$tcpPort .$request; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); // retours possibles pour debug //echo $result; //echo $data_string; //echo $properties.$value; ?> Plus de détails et d'explications déjà données sur le fil de ADN182: https://www.domotique-fibaro.fr/topic/9659-jeedom-to-hc2/?do=findComment&comment=148369 https://www.domotique-fibaro.fr/topic/9659-jeedom-to-hc2/?do=findComment&comment=148353 améliorations futures: https://www.domotique-fibaro.fr/topic/9659-jeedom-to-hc2/?do=findComment&comment=148355 3
pepite Posté(e) le 2 janvier 2017 Signaler Posté(e) le 2 janvier 2017 Super, je l'avais rate celui la !! Merci @sebcbien. TOP du top Du tonnerre pour le RFX dont j'ai besoin..mais pas encore mis lol 1
trainkill666 Posté(e) le 30 mai 2017 Signaler Posté(e) le 30 mai 2017 Salut Sebcbien, pourrais-tu stp me donner un équivalent pour appuyer sur le bouton d'un vd sur la hc2 ? Il y aurait donc l'id du module et le numéro du bouton. Je souhaite le faire en passant par un scénario. Merci d'avance.
pepite Posté(e) le 30 mai 2017 Signaler Posté(e) le 30 mai 2017 Salut @trainkill666, Dans le sens Jeedom --> HC2 pour appuyer sur un bouton tu peux le faire en utilisant l'api http de la HC2 en passant par le plugin script de jeedom, et après dans le scénario tu dois pouvoir passer par le plugin script non ?
trainkill666 Posté(e) le 30 mai 2017 Signaler Posté(e) le 30 mai 2017 Merci pepite mais euh, j'ai compris la démarche en passant par un script php et l'api hc2, tout est bien expliqué dans ce tuto, il me manque juste ce script modifié pour ne pas agir sur un fake device mais plutôt sur le bouton du vb. Le 22/12/2016 à 00:35, sebcbien a dit : put2hc2.php Le reste étant identique je suppose pour le scénario.
sebcbien Posté(e) le 30 mai 2017 Auteur Signaler Posté(e) le 30 mai 2017 De mémoire je ne sais pas te répondre, mais je peux essayer de trouver un peu de temps d'ici ce weekend.Sent from my SM-N910F using Tapatalk
Guiro Posté(e) le 31 janvier 2018 Signaler Posté(e) le 31 janvier 2018 Bonjour à tous, Un grand merci @sebcbien, @ADN182 et le reste de la communauté pour votre travail sur les Fake Device. J'allais prendre la décision de revendre ma HC2 et migré sur Jeedom pour la compatibilité avec les autres protocoles et je suis tombé sur votre topic qui ma fait changer d'avis. J'ai passé deux nuits blanches a essayé de comprendre pourquoi ça ne fonctionnai pas chez moi et j'ai fini par trouver. J’utilisai pas mon compte admin HC2, mais un compte utilisateur normal à cause du "@" de l'adresse mail et après relecture du tuto de @ADN182 je me suis aperçu qu'il donnait la solution du "%40 ". @+Guiro 2
remsmachous Posté(e) le 8 octobre 2022 Signaler Posté(e) le 8 octobre 2022 Bonjour. Désolé de vous déranger, je tente d'incoporer une prise meross présente sur jeedom sur une HC2. J'utilise sur hc2 un dead device qui est une prise fibaro FGWP102 mais je n'arrive pas envoyer la valeur power depuis jeedom vers hc2. Mais je n'ai pas de retour sur la hc2, la valeur reste à 0, voici la commande que j'envoie: "http://127.0.0.1/plugins/script/data/put2HC2.php?value=15& id=98&properties=power" j'arrive à modifier via votre script les valeurs binaires. Pourriez vous m'aider? Rémi
Messages recommandés