-
Compteur de contenus
4 189 -
Inscription
-
Dernière visite
-
Jours gagnés
85
Tout ce qui a été posté par sebcbien
-
Si l'on veut gérer complètement ça sur Jeedom, pour cela, je pense que l'on pourrait faire un simple script php sur jeedom qui récupèrerais le json "devices" de la fibaro et le stockerais dans un label ou une variable ensuite, on utilise ta commande #humanname#: http://<user>:<password>@<IP_DE_MA_HC2>/api/callAction?deviceID=333&name=setProperty&arg1=ui.UD.value&arg2=#humanname#:#value# Mais en appelant non plus la hc2 mais le script jeedom, un peu comme ceci: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=#value#&properties=value&id=#humanname# là le script ferai la même chose que tu a fait en lua, parser le json "devices", retrouver l'id, et ensuite appeler mon code PUT et l'envoyer sur la HC2 Ca je te laisse faire, c'est un supplice pour moi ces tables et tu as l'air de maîtriser sérieusement.
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
ADN, désolé lol, ce n'est pas mon intention. En fait c'est toi qui a titillé mon intérêt avec ces PUT et ces fake devices, je n'avais jamais regardé de ce côté. Donc j'ai cherché pour voir... et j'ai été "jusqu'au bout" ... Comme je le dit, ta solution à un gros avantage avec les noms et aussi effectivement que la logique n'est qu'a un seul endroit. Si tu a plusieurs autres solutions qui tournent autour comme RFX com, c'est un avantage. Concernant ta question de "comment mettre ça en place", j'y réponds ici: Donc en résumé, avec le plugin script (je ne sais pas si tu le connais) tu peux créer simplement un fichier php et l'éditer via l'interface de jeedom (comme le lua sur la hc2 en fait) Donc dans ce script, je mets le code php que j'ai écrit ci-dessus, il ne reste plus qu'a l'appeler. Pour l'appeler, deux solutions: soit via le plugin script lui même qui propose d'appeler le script via un bouton simple (une seule action donc par script) ou via un bouton "message". Ca donne ceci: et tu peux envoyer au script deux arguments (#title# et #message#) C'est maintenant que ça devient le plus intéressant, tu peux aussi appeler ce script via la syntaxe jeedom dans un scénario ou autre, exemple: Mais c'est limité à deux arguments, qui sont récupérés par le plugin script avec #message# et #title# Donc pas possible via cette méthode par exemple de spécifier l'id fibaro à commander (pour les tests, je l'avais écrit en dur dans le script) car c'est un 3e argument. C'est là que la possibilité d'appeler ce script via une commande http en 127.0.0.1 devient très intéressante... Donc on modifie le path du script /var/www/html/core/php/../../plugins/script/core/ressources/put2hc2b.php etc en http://127.0.0.1/plugins/script/core/ressources/put2hc2b.php Cela permet donc maintenant d'appeler le script via la fameuse case Push url des devices Exemple: http://127.0.0.1/plugins/script/core/ressources/put2hc2b.php?value=true&properties=value&id=2453 ou pour un FGMS: Motion: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=#value#&properties=value&id=2153 Température: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=#value#&properties=value&id=2154 Luminosité: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=#value#&properties=value&id=2155 etc... et donc là on tape direct dans l'api de la HC2. Ca marche tellement bien que je vois changer l'oeil de la fibaro plus vite sur la HC2 que sur jeedom qui pourtant héberge le device... Seul point "noir" la commande à mettre dans la case push doit contenir l'id du device fibaro au lieu de ton astuce #humanname#: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=true&properties=value&id=2453
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
Je dirais plutôt Docker.SYNO Sent from my Note4
-
C'est plus court oui, plus rapide sans doute un peu, mais la solution de ADN182 est bien plus pratique pour le setup ou une réinstallation... D'une des box. Sent from my Note4
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
Devinez quel jour à choisir l'araignée pour passer devant le capteur de mouvement du garage à 4h30 du matin ? Thouuuuuu ... comme dirait l'aut' Sent from my Note4
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
bon, ça va être la cata demain matin Mais voici la solution complète: <?php // exemple de format de l'url http: // http://127.0.0.1/plugins/script/core/ressources/put2hc2b.php?value=#message#&properties=#title#&id=2453 // ou // http://127.0.0.1/plugins/script/core/ressources/put2hc2b.php?value=true&properties=value&id=2453 // ce script peut être utiliser pour modifier des valeurs de devices sur un HC2 $default_id=2153; // si pas d'id spécifiée utiliser celle-ci (pour tests) $properties=$_GET['properties']; $value=$_GET['value']; // transformer 0 et 1 en true/false if ($value=="1") { $value="true"; } if ($value=="0") { $value="false"; } //si id vide utiliser default id if (isset($_GET['id'])) { $id=$_GET['id']; }else{ $id=$default_id; } $ipHc2 = "192.168.XXX.XXX"; $tcpPort = "80"; $request = "/api/devices/".$id; $userName = "XXXXXXXX"; $password = "XXXXXXXXXXXX"; //$data_string = '{"properties":{"value": false}}'; $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); //echo $result; //echo $data_string //echo $properties.$value ?> et l'url à mettre dans le device: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=#value#&properties=value&id=2153 pour un oeil de fibaro, j'ai testé avec le mouvement, la T° et la luminosité et ça fonctionne. y'a plus qu'a transformer l'id automagiquement. je suis nuil en php, mais content de moi quand même c'est fou les ressources sur le web pour le php, on trouve toujours son bonheur en exemples et manuels. Pour la liste des pièces et devices, on pourrait stocker le json de l'api de fibaro dans une variable jeedom ensuite il "suffit" de la parser avec le script ... il suffit yaka, 'yapluka etc... ainsi la hc2 ne serait pas chargée du tout.
- 82 réponses
-
- 1
-
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
Pour gérer les noms des pièces, devices etc, tu crois que tu saurais ré-écrire ton script getDevices = 'http://127.0.0.1:11111/api/devices?visible=true' en php ?
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
Voici le widget (pratique pour tester) Voici la config pour le script: et le contenu du script (qui récupère les paramètres de l'url) exemple: http://127.0.0.1/plugins/script/core/ressources/put2hc2.php?value=true&properties=value <?php // exemple de format de l'url http: // http://127.0.0.1/plugins/script/core/ressources/put2hc2b.php?value=#message#&properties=#title# // ce script peut être utiliser pour modifier des valeurs de devices sur un HC2 $properties=$_GET['properties']; $value=$_GET['value']; //$properties=value; //$value= true; $ipHc2 = "192.168.XXX.XXX"; $tcpPort = "80"; $request = "/api/devices/2153"; $userName = "XXXXXXX"; $password = "XXXXXXXXXX"; //$data_string = '{"properties":{"value": false}}'; $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); echo $result; //echo $data_string //echo $properties.$value ?> il faut enore ajouter dans l'url l'id du device à appeler si on le veut en paramètre, mais là, je dois aller dormir, demain c'est debout avant le coq...
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
cool. Je suis arrivé à faire un put d'une valeur à partir de jeedom, sans VD ni scène. Inspiré du script de @c-lol https://www.domotique-fibaro.fr/topic/2938-api-post-php/ Il suffit de créer un script, d'y coller ce code, de sauver et ensuite appeler ce script avec les bons paramètres... Voici ce que ça donne: <?php $ipHc2 = "192.168.XXX.XXX"; $tcpPort = "80"; $request = "/api/devices/2153"; $userName = "userhc2"; $password = "monpassword"; $data_string = '{"properties":{"value": true}}'; //$data_string = '{"properties":{"value": false}}'; $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); echo $result; ?> j'arrive à changer l'état d'un oeil de fibaro avec ça. Voilà, c'est juste pour info car tu bloquait sur le PUT. Maintenant les noms des devices, pièces etc. que tu as fait, ici y'a rien. Mai ça te donnera peut être des idées pour simplifier et surtout raccourcir le chemin
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
Il est content .... ça sonne, et il est content Bref, moi ça me rassurerais pas mais bon
-
pas de problème pour envoyer sarah dans sonos, c'est bien ce que je fait. Il "suffit" d'installer le plugin sonos dans sarah. La vidéo de démo dans le sujet sarah est avec des sonos, c'est quasi immédiat. Cette démo est avec un texte en cache mais avec un texte météo random c'est quasi identique. https://www.domotique-fibaro.fr/topic/9182-topic-unique-s-a-r-a-h/ parfois l'installation ne marche pas de premier coup, ... sarah n'est pas le genre de truc le plus facile à mettre au point
-
J'en a fait la démo live à@jojo Sent from my Note4
-
Oui moi aussi, de 7 à 15 secondes de latence pour un texte random avec la solution tts web. Avec Sarah, c'est dans la seconde et la voix est très agréable et naturelle Sent from my Note4
-
Le dicton "chat échaudé craint l'eau froide" prends tout son sens :-))) Sent from my Note4
-
mais comment tu fais pour matcher la dernière partie d'un device ? Exemple dans [Garage][Porte Celier][Alerte]:1 [Alerte], comment tu la fais matcher sur la HC2 ? si c'est un dimmer par exemple, ou une température ?
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
génial, bon boulôt !!!
- 82 réponses
-
- connexion
- interconnexion
-
(et 3 en plus)
Étiqueté avec :
-
tu peux aussi installer un petit jeedom par exemple comme nico sur son syno avec docker et avoir ton sonos dessus commandé par la HC2 ou alors si c'est pour du TTS, j'utilise sarah juste pour ça, et demande à jojo, ça marche super bien.
-
Oui mais après ça à évolué, entre autres à cause de ma Satel et de leur appli mobile... Et tant que ma HC2 ne me fait pas le coup de Jojo... D'ailleurs elle est sage dernièrement... Elle a senti l'odeur de la poudre ou quoi ? Sent from my Note4
-
pas crier trop vite victoire, y'a des trucs qui ne passent pas en docker apparement. Mais tout ce qui est fait est transférable sur une autre installation/la future box jeedom, alias la licorne
-
Nico, to do list: 1) faire un tuto pour @jojo 2) faire un backup de tes docker maintenant qu'ils son vides et propres 3) faire le setup pour les backups automatiques de jeedom. 4) mettre ces backups "ailleurs" Avec ça c'est failsafe
-
Il suffit d'attendre que.les.mises à jour db se fassent SS doute, c'est comme sur la hc2 après une mise à jour. Pas être trop pressé comme certains jo** ;-) Sent from my Note4
-
Là c'est le.pass par défaut de l'appli Jeedom alors non ? Sent from my Note4
-
dans le menu profil admin ;-)
-
Et oui c'est un message normal au démarrage je crois... J'en ai pas fait bcp et le dernier remonte à 20 jours... Sent from my Note4
-
Les syno c'est pas des foudres de guerre... J'ai un 412+, c'est pas le plus cheap mais c'est pénible souvent... Sent from my Note4