[Store] Shelly

Discussion et échanges de scripts pour la box eedomus

Re: [Store] Shelly

Messagepar KikiFUNstyle » 05 Oct 2020 17:14

CFlo a écrit:Bonjour à tous,

Je déterre ce post car je me suis procuré un module Shelly Relai 2.5. Plutôt satisfait du fonctionnement par contre je n'ai qu'un seul périphérique à la création du module dans l'Eedomus. Je n'ai que le périphérique actionneur. Je n'ai pas le périphérique capteur pour la remonté des information de consommation.

Est-ce que quelqu'un a déjà installé ce module et aurai une réponse a me donner.

Merci d'avance,

Version 3.5.1
- fix consommation shelly 2.5 relay
- fix polling of power and total
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar CFlo » 06 Oct 2020 19:03

Merci KikiFUNstyle! Du coup je suppose que je dois supprimer le scipt que j'ai installer et installer la nouvelle version 3.5.1
CFlo
 
Messages : 28
Inscription : 21 Nov 2017

Re: [Store] Shelly

Messagepar KikiFUNstyle » 06 Oct 2020 20:21

Non pas besoin de supprimer le script, il est générique pour tous les nouveaux modules Shelly.
Fais simplement une nouvelle installation de ton module Shelly 2.5 et dis moi si tu as bien la consommation instantané et totale.
N'oublie pas la procédure pour avoir le retour d'état ;)

Si tu as un soucis n'hésite pas, je n'ai pas le module pour être sûr à 100% de mon correctif.
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar KikiFUNstyle » 09 Oct 2020 12:28

CFlo a écrit:Merci KikiFUNstyle! Du coup je suppose que je dois supprimer le scipt que j'ai installer et installer la nouvelle version 3.5.1

Ça fonctionne avec la version 3.5.1 ? :roll:
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar thevret » 08 Nov 2020 11:46

bonjour,
Je viens de découvrir la gamme shelly et je suis bluffé de sa facilité de mise en oeuvre.
Bravo pour votre travail d'intégration dans eedomus et pour ce que j'en ai vu, c'est nickel.
Tellement content de cette gamme que je me pose la question d'intégration dans eedomus des modules shelly uni et shelly button 1 si ce ne serait trop vous demander?
Cordialement
thevret
 
Messages : 72
Inscription : 05 Déc 2018

Re: [Store] Shelly

Messagepar MRAB » 08 Nov 2020 17:12

Bonjour,

Pareil pour moi, je viens d'installer mon premier shelly1 et ça marche comme dans les livres grâce au plugin de kikiFUNstyle.
Merci à lui.

J'envisage également d'acheter un Shelly button 1 pour remplacer un dash button HS.

+1 pour l'intégrer au plugin.
MRAB
 
Messages : 182
Inscription : 08 Fév 2015

Re: [Store] Shelly

Messagepar KikiFUNstyle » 08 Nov 2020 17:15

thevret a écrit:bonjour,
Je viens de découvrir la gamme shelly et je suis bluffé de sa facilité de mise en oeuvre.
Bravo pour votre travail d'intégration dans eedomus et pour ce que j'en ai vu, c'est nickel.
Tellement content de cette gamme que je me pose la question d'intégration dans eedomus des modules shelly uni et shelly button 1 si ce ne serait trop vous demander?
Cordialement

Merci pour ton retour, c'est super motivant :thumbup:

Concernant l'intégration du Shelly Bouton1, je vais pouvoir l'intégrer facilement via la documentation de l'API

Pour le Shelly Uni, la documentation n'est pas encore disponible :? je vais voir si je trouve des JSON d'utilisateur pour en faire l'intégration.

J'ai en ma possession un shelly1 et un shelly 4pro, je n'ai malheureusement (pas encore ?) tous les produits pour pouvoir faire des tests.
La documentation est souvent pas à jour ...
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar KikiFUNstyle » 08 Nov 2020 17:20

MRAB a écrit:Bonjour,

Pareil pour moi, je viens d'installer mon premier shelly1 et ça marche comme dans les livres grâce au plugin de kikiFUNstyle.
Merci à lui.

Merci merci :thumbup:

MRAB a écrit:J'envisage également d'acheter un Shelly button 1 pour remplacer un dash button HS.

+1 pour l'intégrer au plugin.

J'ai un peu de temps la semaine prochaine je vais faire l'intégration rapidement.

J'ai aussi une autre version que j'ai commencé (V4) en parallèle pour automatiser le retour d'état via un actionneur HTTP pour ne plus copier/coller les [VAR1] / [VAR2] que j'ai vu dans un script d'Influman (lightalarm ^^)
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar MRAB » 11 Nov 2020 16:30

Bonjour,

Au sujet de :
"automatiser le retour d'état via un actionneur HTTP ", comment faire cela en attendant la mise à jour du script sachant que si je commande mon Shelly avec mon smartphone, l'état du shelly dans l'eedomus ne change pas car il s'agit effectivement d'une commande et non d'un état.
Faut-il créer un nouveau périphérique dans eedomus et de quel type dans ce cas?
MRAB
 
Messages : 182
Inscription : 08 Fév 2015

Re: [Store] Shelly

Messagepar KikiFUNstyle » 11 Nov 2020 17:34

MRAB a écrit:Bonjour,

Au sujet de :
"automatiser le retour d'état via un actionneur HTTP ", comment faire cela en attendant la mise à jour du script sachant que si je commande mon Shelly avec mon smartphone, l'état du shelly dans l'eedomus ne change pas car il s'agit effectivement d'une commande et non d'un état.
Faut-il créer un nouveau périphérique dans eedomus et de quel type dans ce cas?

C'est quel module ?
Si tu vas dans Actions de ton module shelly tu as quoi comme url ?
Ou sinon avec http://[ipDuShelly]/settings/actions ca donne quoi comme résultat ?
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar MRAB » 11 Nov 2020 18:04

C'est un Shelly 1 (commande on/off d'une caméra)

Dans les actions j'ai ça :

Capture d’écran (14).png
Capture d’écran (14).png (105.36 Kio) Consulté 10824 fois


ou en VAR1 j'ai : _username_:_password_@192.168.1.xxxx (adresse Ip de mon module)
MRAB
 
Messages : 182
Inscription : 08 Fév 2015

Re: [Store] Shelly

Messagepar KikiFUNstyle » 11 Nov 2020 18:15

MRAB a écrit:C'est un Shelly 1 (commande on/off d'une caméra)

Dans les actions j'ai ça :

Capture d’écran (14).png


ou en VAR1 j'ai : _username_:_password_@192.168.1.xxxx (adresse Ip de mon module)

Ha d'accord c'est un Shelly 1, pour le retour d'état tu dois copier/coller les valeurs généré dans [VAR2] et [VAR3] et les exécuter dans onglet de ton un navigateur.

Ca remplis les actions url de ton shelly.

Dis moi si ça fonctionne.
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar MRAB » 12 Nov 2020 10:35

Bonjour KikiFUNstyle,

Comme tu le proposais, j'ai recopié VAR2 puis VAR3 dans mon navigateur et voici la page sur laquelle je suis arrivé???
Capture d’écran (15).png
Capture d’écran (15).png (84.31 Kio) Consulté 10799 fois


Aucune action url n'a été créée dans mon périphérique Shelly.

Finalement, j'ai créé un capteur HTTP dont l'URL de la requête et le chemin xpath sont la recopie de ceux qui on été créés par le plugin dans les paramètres expert du périphérique de commande.
Cf ci-dessous
Capture d’écran (16).png
Capture d’écran (16).png (97.9 Kio) Consulté 10799 fois


Dans ce nouveau périphérique, j'ai donc bien maintenant l'état du Shelly, qu'il soit commandé par l'eedomus ou par l'application Shelly de mon smartphone.

Inconvénient, comme j'ai mis une fréquence de requête de 1 min, le changement d'état n'apparait pas instantanément.(1min maxi).
Pour éviter des requêtes ttes les min, je vais mettre la fréquence à 0 et faire une règle qui met à jour la requête quand j'ai un changement d'état de la commande du Shelly, par contre si j'utilise mon smartphone ça ne marchera pas.
C'est un compromis!
MRAB
 
Messages : 182
Inscription : 08 Fév 2015

Re: [Store] Shelly

Messagepar KikiFUNstyle » 12 Nov 2020 10:49

C'est leur nouveau firmware > 1.8 ils ont changé les accès aux actions URL :cry:u

Le but justement c'est de ne pas avoir de polling toutes les minutes...
Copie colle dans tes actions url "OUTPUT SWITCH ON URL" et "OUTPUT SWITCH OFF URL" la valeur :
Code : Tout sélectionner
http://192.168.1.21/script/?exec=shelly.php&periphId=2131120

et pense a cocher enabled !

Refais un test en désactivant le polling et utilise ton smartphone pour faire un test et regarde si la MAJ se fait dans ton eedomus.
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar KikiFUNstyle » 12 Nov 2020 11:15

Y'a un bug avec le XML généré avec le le show_config à cause d'un caractère pipe dans le noeud XML :evil: (@Bart si ça peux être corrigé ...)


Remplace le contenu du shelly.php (http://192.168.1.21/script/editor/?src=shelly.php et pense à sauvergader en haut) par celui-ci dessous
Code : Tout sélectionner
<?
    //*************************************************************************************
    // Shelly
    // by KikiFUNstyle (^_^)
    //
    // PATCH 2020-11-12
    //
    //**************************************************************************************
    $periphIdParam =  getArg("periphId");
    $periphIdList = explode(",", $periphIdParam);
   
    foreach ($periphIdList as $periphId) {
        // periph caract
        $periphIdUrl = 'http://localhost/api/get?action=periph.caract&periph_id='.$periphId.'&show_config=1&format=xml';
        $periphIdXml = httpQuery($periphIdUrl);
       
        // patch '|' on xml node
        $periphIdXml = str_replace('hide|', 'hide_', $periphIdXml);
        $periphIdStatus = xpath($periphIdXml,"//URL");
       
        // appel au status du shelly
        $shellyStatusJson = httpQuery($periphIdStatus);
        $shellyStatusXml = jsonToXML($shellyStatusJson);
        $shellyStatusValue = xpath($shellyStatusXml, xpath($periphIdXml,"//XPATH"));
       
        setValue($periphId, $shellyStatusValue, false, true);
    }
?>


Si c'est bon je ferai une nouvelle version pour le store !
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar KikiFUNstyle » 12 Nov 2020 11:33

Appel de l'API avec show_config=1
Code : Tout sélectionner
http://192.168.0.20/api/get?api_user=xxxx&api_secret=xxxx&action=periph.caract&periph_id=1951442&show_config=1


donne comme JSON

Code : Tout sélectionner
{
   "success":1,
   "body":{
      "periph_id":"1951442",
      "name":"Shelly porte garage Garage",
      "last_value":"0",
      "last_value_text":"Off",
      "unit":"",
      "battery":"",
      "last_value_change":"2020-11-12 11:12:18",
      "POLLING":"0",
      "RAW_URL":"http://[VAR1]/status",
      "RAW_XPATH":"(//relays/relays[1]/ison) * 100",
      "TIMEOUT":"30",
      "TRUNCATE":"0",
      "URL":"http://_username_:_password@192.168.0.37/status",
      "VAR1":"_username_:_password_@192.168.0.37",
      "VAR2":"http://_username_:_password@192.168.0.37/settings/relay/0?out_on_url=http://192.168.0.20/script/?exec=shelly.php%26periphId=1951442",
      "VAR3":"http://_username_:_password@192.168.0.37/settings/relay/0?out_off_url=http://192.168.0.20/script/?exec=shelly.php%26periphId=1951442",
      "XPATH":"(//relays/relays[1]/ison) * 100",
      "alexa_hide|0":"0",
      "alexa_hide|100":"0",
      "convert":"1",
      "debug":"0",
      "ghome_hide":"0",
      "hidden_data":"",
      "homekit_hide":"1",
      "ignore_errors":"3",
      "script_origin":"shelly"
   }
}


Et formaté en XML &format=xml
Code : Tout sélectionner
http://192.168.0.20/api/get?api_user=xxxx&api_secret=xxxx&action=periph.caract&periph_id=1951442&show_config=1&format=xml

la partie avec les

Code : Tout sélectionner
alexa_hide|0":"0",
"alexa_hide|100":"0",

posent probème avec un format=xml

Voici le XML généré qui n'est pas PAS valide !
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<root><success>1</success>
<body><periph_id>1951442</periph_id>
<name>Shelly porte garage Garage</name>
<last_value>0</last_value>
<last_value_text>Off</last_value_text>
<unit>0</unit>
<battery>0</battery>
<last_value_change>2020-11-12 11:12:18</last_value_change>
<POLLING>0</POLLING>
<RAW_URL>http://[VAR1]/status</RAW_URL>
<RAW_XPATH>(//relays/relays[1]/ison) * 100</RAW_XPATH>
<TIMEOUT>30</TIMEOUT>
<TRUNCATE>0</TRUNCATE>
<URL>http://_username_:_password@192.168.0.37/status</URL>
<VAR1>_username_:_password@192.168.0.37</VAR1>
<VAR2>http://_username_:_password@192.168.0.37/settings/relay/0?out_on_url=http://192.168.0.20/script/?exec=shelly.php%26periphId=1951442</VAR2>
<VAR3>http://_username_:_password@192.168.0.37/settings/relay/0?out_off_url=http://192.168.0.20/script/?exec=shelly.php%26periphId=1951442</VAR3>
<XPATH>(//relays/relays[1]/ison) * 100</XPATH>
<alexa_hide|0>0</alexa_hide|0>
<alexa_hide|100>0</alexa_hide|100>
<convert>1</convert>
<debug>0</debug>
<ghome_hide>0</ghome_hide>
<hidden_data>0</hidden_data>
<homekit_hide>1</homekit_hide>
<ignore_errors>3</ignore_errors>
<script_origin>shelly</script_origin>
</body>
</root>
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar MRAB » 12 Nov 2020 14:07

Tu pédales plus vite que moi!!!!
Je n'ai pas donné suite à ton post de 10h49 sachant qu'il y avait ton post suivant.
Par contre j'ai remplacé le script par celui que tu me proposais dans ton post de 11h15.

Ensuite j'ai recopié VAR2 puis VAR3 dans mon navigateur : toujours la même page et pas d'actions php de crées.
MRAB
 
Messages : 182
Inscription : 08 Fév 2015

Re: [Store] Shelly

Messagepar KikiFUNstyle » 12 Nov 2020 14:15

Désolé mais je suis tombé sur un os.

C'est surtout le remplacement du script PHP qui devrait résoudre le problème.
J'ai testé chez moi ça devrait mettre à jour (retour état) sur Eedomus dès que ton Shelly change de valeur.
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar KikiFUNstyle » 12 Nov 2020 16:31

KikiFUNstyle a écrit:Y'a un bug avec le XML généré avec le le show_config à cause d'un caractère pipe dans le noeud XML :evil: (@Bart si ça peux être corrigé ...)


Remplace le contenu du shelly.php (http://192.168.1.21/script/editor/?src=shelly.php et pense à sauvergader en haut) par celui-ci dessous
Code : Tout sélectionner
<?
    //*************************************************************************************
    // Shelly
    // by KikiFUNstyle (^_^)
    //
    // PATCH 2020-11-12
    //
    //**************************************************************************************
    $periphIdParam =  getArg("periphId");
    $periphIdList = explode(",", $periphIdParam);
   
    foreach ($periphIdList as $periphId) {
        // periph caract
        $periphIdUrl = 'http://localhost/api/get?action=periph.caract&periph_id='.$periphId.'&show_config=1&format=xml';
        $periphIdXml = httpQuery($periphIdUrl);
       
        // patch '|' on xml node
        $periphIdXml = str_replace('hide|', 'hide_', $periphIdXml);
        $periphIdStatus = xpath($periphIdXml,"//URL");
       
        // appel au status du shelly
        $shellyStatusJson = httpQuery($periphIdStatus);
        $shellyStatusXml = jsonToXML($shellyStatusJson);
        $shellyStatusValue = xpath($shellyStatusXml, xpath($periphIdXml,"//XPATH"));
       
        setValue($periphId, $shellyStatusValue, false, true);
    }
?>


Si c'est bon je ferai une nouvelle version pour le store !


Nouvelle version 3.5.2
- fix XML node '|' char with show_config=1


Faire une MAJ du script shelly.php (2020-11-12 16:21)
https://secure.eedomus.com/pages/verify ... gin=shelly

Pas besoin de supprimer les périphériques déjà présent (mettre le polling à 0 pour ne pas saturé la box)
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: [Store] Shelly

Messagepar clarinette49 » 15 Nov 2020 18:24

Bonjour,

Je suis intéressé par le module EM.
Il est fourni avec 2 pinces.
Est ce que l'on a bien la remonté de la conso de 2 circuits différents ?
Est ce que c'est instantané (par ex pour détecter le démarrage d'un matériel précis) ?

Merci.
clarinette49
 
Messages : 759
Inscription : 21 Mai 2019
Localisation : Angers

PrécédentSuivant

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)