External switch add-on : non géré par le plugin

Bonjour

Désolé de vous prendre un peu de votre temps. Mais serait-il possible au développeur du plugin d’ajouter la gestion du external switch add-on des shelly 1 dans le plugin jeedom (bouton branché sur le port où en général on branche le capteur de température, Shelly a ajouté un plugin il y a quelques mois pour gérer un bouton d’état avec retour visuel de l’état de la porte dans leur application : ils appellent ça external switch add-on dans les paramètres de l’application).

Il faudrait donc une propriété binaire de plus dans le plugin du genre ExternalSwitchAddon).

Cordialement

Hello,

A voir la doc API, il n’y a pas de webook existant pour les external switch. Tu confirmes ?
Si c’est le cas, on aura une mise à jour uniquement à la minute.

Ca sera dans la prochaine release en tout cas, mais donc sans webhook

Déjà… merci. Je ne m’attendais pas à une réaction aussi rapide.

Maintenant je dois t’avouer que je n’ai aucune idée de ce qu’est un webhook lol.
Sur la version bêta j’ai vu apparaître l’info Switch ext 0
J’imagine que c’est l’external switch addon.
Tout ce dont j’ai besoin c’est que dès que l’état de cet interrupteur change Jeedom en soit alerté et que je puisse à tout moment consulter l’état de cet interrupteur. Est-ce qu’avec la dernière béta cela est censé fonctionner (je testerai dans deux jours) ? Si oui ça me permettra de retirer la bidouille que j’avais fabriquée à partir d’un script…

Cordialement

Le webhook c’est ce qui permet de recevoir l’info instantanée justement, là c’est fait que lors du refresh

OK.

En fait, je viens de tester, ça ne fonctionne pas.

Switch ext 0 reste toujours à 0 que j’ouvre le portail (détecteur d’ouverture branché sur le external switch add-on) ou que je le ferme.
Que je rafraichisse ou pas. Alors que l’app remonte l’info (dessin de la porte ouverte ou fermée).

Dans l’app de Shelly j’ai 2 I/O url actions spéciales pour le external switch add-on:
external switch on
external switch off
elles sont vides.

Il suffirait que j’y mette une URL du type
http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=114&relay=0&value=btn_on_url

avec autre chose que btn_on_url
et ça tournerait. Ca ressemble à ce que tu appelles un webhook. Au pire si on doit mettre à la main la ligne pas grave, le tout c’est de la connaître…

Pour le moment je me suis créé avec le plugin script un device et je récupère la donnée avec le json.
http://192.168.1.117/status
requête : ext_switch > 0 > input

Et pour avoir un webhook je rajoute l’url de button 0 dans mon external switch url. Quand button 0 change, je lance le script pour lire l’état. Tordu mais ça fonctionne.

Bien entendu pour faire le test j’avais viré mes url perso. et resauvegardé le device créé par le plugin shelly pour qu’il crée les url. Sans succès.

A+

Bonjour,
J’ai exactement la même configuration que Cycnus à savoir l’addon avec un poussoir momentanée pour détecter l’ouverture/fermeture de mon portail.
Je suis le sujet avec intérêt, sa m’intéresse aussi.
lunarok au cas ou tu as besoin de testeur, je suis à ta dispo :wink:

C’est exactement ca le webhook, tu peux ouvrir :
http://192.168.1.117/settings/actions

Ca me permettra de voir exemple le nom des paramètres à appeler pour enregistrer le webhook en auto

Voila le résultat chez moi.

{"actions":{"btn_on_url":[{"index":0,"urls":["http://192.168.100.178/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=150&relay=0&value=btn_on_url"],"enabled":true}],"btn_off_url":[{"index":0,"urls":["http://192.168.100.178/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=150&relay=0&value=btn_off_url"],"enabled":true}],"longpush_url":[{"index":0,"urls":["http://192.168.100.178/plugins/shelly/core/api/jeeShelly.php?apikey=xxxid=150&relay=0&value=longpush_url"],"enabled":true}],"shortpush_url":[{"index":0,"urls":["http://192.168.100.178/plugins/shelly/core/api/jeeShelly.php?apikey=xxx=150&relay=0&value=shortpush_url"],"enabled":true}],"out_on_url":[{"index":0,"urls":["http://192.168.100.178/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=150&relay=0&value=out_on_url"],"enabled":true}],"out_off_url":[{"index":0,"urls":["http://192.168.100.178/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=150&relay=0&value=out_off_url"],"enabled":true}],"lp_on_url":[{"index":0,"urls":[],"enabled":false}],"lp_off_url":[{"index":0,"urls":[],"enabled":false}],"ext_temp_over_url":[{"index":0,"urls":[],"enabled":false,"ext_temp_over_value":0.000000,"ext_temp_over_onetime":true},{"index":1,"urls":[],"enabled":false,"ext_temp_over_value":0.000000,"ext_temp_over_onetime":true},{"index":2,"urls":[],"enabled":false,"ext_temp_over_value":0.000000,"ext_temp_over_onetime":true}],"ext_temp_under_url":[{"index":0,"urls":[],"enabled":false,"ext_temp_under_value":0.000000,"ext_temp_under_onetime":true},{"index":1,"urls":[],"enabled":false,"ext_temp_under_value":0.000000,"ext_temp_under_onetime":true},{"index":2,"urls":[],"enabled":false,"ext_temp_under_value":0.000000,"ext_temp_under_onetime":true}],"ext_hum_over_url":[{"index":0,"urls":[],"enabled":false,"ext_hum_over_value":0,"ext_hum_over_onetime":true}],"ext_hum_under_url":[{"index":0,"urls":[],"enabled":false,"ext_hum_under_value":0,"ext_hum_under_onetime":true}]}}

Merci Lunarok

Voilou…

{"actions":{"btn_on_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=btn_on_url"],"enabled":true}],"btn_off_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=btn_off_url"],"enabled":true}],"longpush_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=longpush_url"],"enabled":true}],"shortpush_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=shortpush_url"],"enabled":true}],"out_on_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=out_on_url"],"enabled":true}],"out_off_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=out_off_url"],"enabled":true}],"lp_on_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=btn_on_url"],"enabled":false}],"lp_off_url":[{"index":0,"urls":["http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=XXX&id=114&relay=0&value=btn_off_url"],"enabled":true}],"ext_temp_over_url":[{"index":0,"urls":[],"enabled":false,"ext_temp_over_value":0.000000,"ext_temp_over_onetime":true},{"index":1,"urls":[],"enabled":false,"ext_temp_over_value":0.000000,"ext_temp_over_onetime":true},{"index":2,"urls":[],"enabled":false,"ext_temp_over_value":0.000000,"ext_temp_over_onetime":true}],"ext_temp_under_url":[{"index":0,"urls":[],"enabled":false,"ext_temp_under_value":0.000000,"ext_temp_under_onetime":true},{"index":1,"urls":[],"enabled":false,"ext_temp_under_value":0.000000,"ext_temp_under_onetime":true},{"index":2,"urls":[],"enabled":false,"ext_temp_under_value":0.000000,"ext_temp_under_onetime":true}],"ext_hum_over_url":[{"index":0,"urls":[],"enabled":false,"ext_hum_over_value":0,"ext_hum_over_onetime":true}],"ext_hum_under_url":[{"index":0,"urls":[],"enabled":false,"ext_hum_under_value":0,"ext_hum_under_onetime":true}]}}

Je récupère l’info avec cette requête :
ext_switch > 0 > input

Et merci par avance pour le taf.

A tester la version Beta de demain, j’ai corrigé le status et ajouter les webhook sur sauvegarde

1 « J'aime »

Merci pour ton taf Lunarok, je test demain !

J’ai rapidement testé.
Premier problème détecté, dans l’application shelly il y a des I/O URL actions qui sont automatiquement renseignées par le plug-in shelly lorsqu’on sauvegarde un équipement. Par exemple button switched on ulr est rempli avec http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=114&relay=0&value=btn_on_url

Il y a 2 URL prévues pour le schitch add-on intitulées external switch on et external switch off. Mais il n’y a aucune URL renseignée. Il n’y aura donc à mon avis pas de notification à Jeedom en temps réel. d’ailleurs quand j’ouvre une porte et que le détecteur renvoie l’information la donnée Switch ext 0 du plug-in reste à 0. elle ne passe à 1 qu’après un refresh. Donc ça fonctionne… mais si on fait un refresh avant de lire la donnée.

Comme il y a l’URL dans l’application j’imagine qu’il doit être possible de la remplir automatiquement comme pour les autres URL via l’API (sauf s’ils n’ont pas mis à jour l’API ou s’ils ne l’ont pas documenté)… D’ailleurs jusqu’ici j’y copiais-collais l’URL qui déclenchait le changement d’état de bouton 0 et ça fonctionnait (même si c’était de la bidouille).

Au pire est-il possible de prévoir dans le plugin une URL que l’on indiquerait à la main dans l’application shelly s’il n’était pas possible de l’y ajouter automatiquement ?
Par exemple un truc comme http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=114&relay=0&value=ext_btn_on_url
et
http://192.168.1.240/plugins/shelly/core/api/jeeShelly.php?apikey=xxx&id=114&relay=0&value=ext_btn_off_url

Bonsoir, je viens de tester egalement.
Sa fonctionne, l’info remonte bien c’est parfait mais comme Cycnus, il faut que je fasse un refresh du widget pour que le statut change.
Les deux I/O url action " External switch ON url" et " External switch OFF url" sont vides, je sais pas si c’est normal ?

Merci pour ce beta test Lunarok !!

Bonjour,
Je viens aux nouvelles concernant la prise en compte de l’add-on car je n’arrive pas à le faire fonctionner.
J’étais sur le plugin stable depuis plusieurs mois, avec le shelly 1 en contact sec pour gérer mon portail. Paramètre Button Type en Detached Switch, et un timer à 3s pour que le bouton reviennent en OFF à chaque impulsion (si le relais reste en ON, je ne peux plus utiliser mon interphone ou digicode).
Je vies d’installer un ILS magnétique, branché sur le Shelly en SW et N. J’ai activé le paramètre :


et installé le plugin en beta.
J’ai bien l’icone qui apparait dans l’appli. Elle a changé 2 ou 3 fois en mode ouvert/fermé, puis plus rien.

Du coup je pense que le problème vient de mon paramétrage Shelly plutôt que du plugin. Puisque vous avez l’air d’avoir réussi, quelqu’un peut-il m’aider à comprendre ? Merci