Forum eedomus
http://forum.eedomus.fr/

[Résolu] Remontée d'état Sonoff Mini
http://forum.eedomus.fr/viewtopic.php?f=17&t=9214
Page 1 sur 2  Suivant »
Auteur:  tibalt76 [ 08 Jan 2020 00:55 ]
Sujet du message:  [Résolu] Remontée d'état Sonoff Mini

Bonjour,

Comme l'a remonté il y a peu ARTNOW, les Sonoff Mini fonctionnent parfaitement avec eedomus en suivant le petit tuto.
Pas de problème pour effectuer les actions ON et OFF de ces relais WIFI.
Question donc : comment récupérer les états (qui peuvent changer en dehors d'eedomus si on utilise l'entrée interrupteur physique ou des "request http REST" via des clients REST comme l'outil mentionné dans le tuto).
Bref, j'ai rapidement observé comment était fait le plugin sonoff présent dans le store eedomus mais il fonctionne spécifiquement avec les sonoff flashés avec le firmware ESPeedomus etc...
On comprend en se référant à la doc et en consultant les valeurs une fois le plugin créé que 2 actions visibles sont ON et OFF, que l'on peut remplacer par nos action POST / json : comme cela :{"deviceid":"1000b44f39","data":{"switch":"off"}}
et que, pour la remontée d'état, l'auteur phroc, utilise une remontée d'état à partir de la réponse aux ping sur l'ip du sonoff sur 2 valeurs invisibles. (je ne comprends pas à quels moments sont lancés ces valeurs invisibles et comment cela interagit avec les valeurs visible type action ON /OFF)
en tout cas, j'en conclue que les sonoff qu'il utilise ne répondent pas au ping si ils sont éteints "off".
Pour ces Sonoff mini, ils répondent au ping qu'ils soient on ou off.
Par contre, une méthode HTTP POST http://[ip]:[port]/zeroconf/info avec en body {"deviceid":"1000b44f39","data":{}} renvoie l'état.... (j'ai testé)

Comment extraire du json response la valeur de data.switch ?
Si quelqu'un sait ?
On pourrait imaginer un plugin dispo sur le store une fois l'analyse terminée ?
Merci d'avance pour votre aide
A+
Auteur:  merguez07 [ 08 Jan 2020 12:56 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

tibalt76 a écrit:Comment extraire du json response la valeur de data.switch ?


il suffit que tu mettes ta requête dans "l'URL de la requête" de ton périphérique et de cocher, dans les paramètres expert, convertir le json en xml,

et, dans le xpath, tu mets :/root/data/switch
Auteur:  tibalt76 [ 14 Jan 2020 00:26 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Merci pour ces éléments de réponse.
En parallèle, j'ai tenté une autre approche qui a fonctionné : j'utilise un script PHP avec la fonction strpos que je teste et renvoie une valeur 0 ou 1 dans un structure XML type root/status.

J'ai fait comme cela car je ne savais pas comment pousser dans le champ URL d'un capteur http, du json (qui doit normalement être plécé dans la partie body de la requete).

J'ai aussi avancé sur la création d'un composant pour le store mais avant publication j'aimerai éclaircir un dernier point.
Je suis capable de piloter avec un actionneur http un relai sonoff mini.
Je suis capable de récuperer le statut d'un relai sonoff mini avec un capteur http.
A ce stade, j'ai mis une fréquence de 1 minute pour récupérer le statut du relai.

Quand j'étudie le code du composant sonoff sur le store, il semble que ce composant, de type actionneur HTTP, contienne des 2 valeurs visibles : les actions ON et OFF, ainsi que 2 valeurs masquées pour la récupération d'état. C'est ce point de détail que je ne pige pas. sous quelle fréquence l'état est remonté sur le composant Sonoff ? comment cela fonctionne t'il ?

D'avance merci
Auteur:  ARTNOW [ 14 Jan 2020 08:11 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Bonjour tibalt76 , bravo pour ton travail , je n'ai pas toutes les compétences pour t'aider , mais je serais la pour tester , un plugin serait vraiment bien au vu du faible prix du Sonoff Mini et de ses capacités . ;)
Auteur:  merguez07 [ 14 Jan 2020 09:16 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

tibalt76 a écrit:Quand j'étudie le code du composant sonoff sur le store, il semble que ce composant, de type actionneur HTTP, contienne des 2 valeurs visibles : les actions ON et OFF, ainsi que 2 valeurs masquées pour la récupération d'état. C'est ce point de détail que je ne pige pas. sous quelle fréquence l'état est remonté sur le composant Sonoff ? comment cela fonctionne t'il ?


C'est vrai que c'est bizarre, j'aurais tendance à dire que ça ne fonctionne pas. Je viens d'envoyer un message à Philippe Rochette pour qu'il nous explique .
Auteur:  tibalt76 [ 14 Jan 2020 10:16 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Merci ARTNOW c'est sympas. Du coup je publie une première version avec juste les 2 actionneurs, des incones moches et pas de doc :geek: , histoire d'avoir tes retours.

Et merci à toi merguez07, je suis currieux de la réponse.
Auteur:  merguez07 [ 14 Jan 2020 12:56 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

tibalt76 a écrit:Et merci à toi merguez07, je suis currieux de la réponse.


Philippe m' a expliqué que le retour d'info se fait grace au firmware SONOFF spécifique qu'il a développé pour l'Eedomus et qui envoie le compte rendu d'état vers l'eedomus par cet artifice ingénieux.
Auteur:  tibalt76 [ 14 Jan 2020 15:49 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Ok pour le firmware "maison" qui renvoie son état.
Ca reste tout de même floue pour moi.
Si on actionne ON sur le Sonoff via l'interface, l'action http est envoyée et l'action reste sur ON graphiquement sur l'interface eedomus.
Si maintenant on envoie l'action OFF mais hors eedomus (autre requeteur HTTP), à quel moment va t'on interroger sonoff pour vérifier l'état ? il y a une fréquence de rafraichissement ?
Auteur:  merguez07 [ 15 Jan 2020 12:09 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

tibalt76 a écrit:Si maintenant on envoie l'action OFF mais hors eedomus (autre requeteur HTTP), à quel moment va t'on interroger sonoff pour vérifier l'état ? il y a une fréquence de rafraichissement ?


Justement, le firmware est fait de telle façon que lorsque le Sonoff change d'état il va changer aussi l'état de l'actionneur Eedomus. Par exemple si tu passes à OFF le Sonoff par une commande externe à l'Eedomus, le firmware va envoyer une requête à 'actionneur Eedomus pour lui dire de passer à l'état Off.
Avantage : retour d'info réactif et événementiel
Inconvénient : necessite d'avoir un firmware adapté et contenant les identifiants Eedomus et l'API de l'actionneur concerné par le retour d'info

Une autre solution, c'est d'emettre une requête pour connaitre l'état :
Avantage : le firmware n'a pas a étre personnalisé
Inconvénient : temps de réponse long car calendaire et non événementiel
Auteur:  tibalt76 [ 15 Jan 2020 12:46 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Ok, tout s'éclaire !
Actuellement j'ai créé un script de type capteur pour récupérer l'état du relai à intervalle régulière.
Donc du coup pour l'instant, je saurai au mieux proposer un second périphérique au store de type capteur SonoffMini :(
Maintenant je vais vérifier si ce comportement existe nativement sur le sonoff mini mais ça m'étonnerai
Auteur:  tibalt76 [ 21 Jan 2020 09:44 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Bonjour, je me suis un peu plus documenté sur Sonoff. Un certain nombre de modèles sonoff relai wifi, utilisent la même puce ESP8266. Du coup il existe des tuto qui décrivent comment remplacer le firmware sonoff par un autre. On a tasmota, espeasy, et peut être d'autres comme celui de Philippe. La manipulation, pas impossible, reste à mon avis un peu compliquée car cela nécessite de passer par un carte USB liaison série, de souder sur la carte sonoff etc...
L'avantage de sonoff mini cette fois-ci, c'est qu'il est très accessible dans le passage d'une config dépendante du cloud (et d'une appli) à un mode local "DIY".
En plus de cela, le flashage de ce module vers un firmware custom est possible directement via commande API.
Donc juste à tout hasard, si la version de Philipe est compatible, cela serait nickel pour le retour d'état dans un même contacter eedomus, et sans bombarder des demandes d'état toutes les minutes...sur le wifi.
Bonne journée !
Auteur:  tibalt76 [ 21 Jan 2020 10:03 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Le firmware de Philippe est un "non officiel" : ESPeedomus.
Auteur:  KikiFUNstyle [ 21 Jan 2020 10:34 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

tibalt76 a écrit:Ok, tout s'éclaire !
Actuellement j'ai créé un script de type capteur pour récupérer l'état du relai à intervalle régulière.
Donc du coup pour l'instant, je saurai au mieux proposer un second périphérique au store de type capteur SonoffMini :(
Maintenant je vais vérifier si ce comportement existe nativement sur le sonoff mini mais ça m'étonnerai

Tu peux utiliser le même capteur HTTP pour gérer aussi l'état (paramètres avancées)

Capture.PNG
Capture.PNG (32.66 Kio) Consulté 17182 fois


Voir la documentation
Auteur:  tibalt76 [ 21 Jan 2020 17:56 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Ok merci KikiFUNstyle
Je n'avais pas vu, je vais essayer ça.
Question : le printscreen est bien un exemple, pas celui pour le sonoff mini rassures-moi ?
Sinon j'ai fait un script pour rien (enfin si, pour apprendre ;) )
Auteur:  KikiFUNstyle [ 21 Jan 2020 17:57 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Oui c'est un exemple pour montrer où cela se trouve :D
Test si cela répond à ton besoin
Auteur:  tibalt76 [ 21 Jan 2020 23:55 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Bon bah du coup j'ai publié une V2 pour ceux que ça intéresse.
Il y a le retour d'état en mode polling toutes les minutes (c'était bien ça KikiFUNstyle).
Moi je m'en sert pour des lampes mais j'ai voulu rester générique pour les icones et l'usage par défaut.
Du coup je change l'usage, répond non aux valeurs par défaut (qui me supprime la valeur 1 et la remplace par 100 + requete vide) et ajoute éclairage ("automatique") dans les pièces.

a+
Auteur:  benj70b [ 17 Fév 2020 15:08 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Pour info j'ai publié une nouvelle version (3.0) de plugin sonoff mini en mode DIY, voici les changements :

  • Ajout Configuration de l'état du relais au démarrage
  • Ajout Configuration Auto-Off
  • Ajout Information Signal Wifi
  • Ajout du lien vers le script php dans le json
  • Création des icônes
  • Documentation
  • Refactoring complet
  • Ajout sur Github
Auteur:  tibalt76 [ 23 Fév 2020 16:31 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

Ok c'est top ! Un poil plus serieux que ma précédente version...
J'avoue que je n'avais pas besoin des fonctionnalités que tu as ajouté mais vu qu'elles étaient dispo, ça a du sens effectiement.
well done !
Auteur:  Gdany [ 08 Août 2020 10:55 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

bonjour
déjà, je voulais dire merci a tous les développeurs qui enrichisse le store pour les gens comme moi qui ni connaisse rien en programmation c est vraiment un grand service

je vient vers vous car j ai un message erreur dans mes remontés états elle ne ce font pas voici le messages --pour le signal : <?xml version="1.0" encoding="ISO-8859-1"?>
<root>-59</root>
pour la remonté etat :
XML error: off
stay
off
10000
FREEBOX_DANY
0
3.5.0
1000aba122
e4:9e:12:86:f4:64
-59
j ai bien les valeurs qui s'affiche dans les message erreurs mais pas sur les modules en eux mêmes
si je fait testé voila ce que ca donne:

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>-59</root>

XPath :
//signalstrength

Résultat XPath :
ERREUR: Valeur lue vide

je ne sait si je suis tres clair dans mes explications
mais j espère que vous pourrez m aider
merci dany
Auteur:  benj70b [ 24 Août 2020 08:41 ]
Sujet du message:  Re: Remontée d'état Sonoff Mini

bonjour étonant, cela devrait etre comme ca :

Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1"?>
<root><signalStrength>-41</signalStrength>
</root>


sinon, tu peux remplacer //signalStrength par //root
ou encore verifier que le script 2B_sonoffmini.php est bien a jour.
Page 1 sur 2 Le fuseau horaire est UTC+1 heure