Bonjour,
j’ai une question sur la fonction compteur d’impulsion présente sur espeasy connecté à mon jeedom avec du MQTT.
Comment faire pour sauvegarder cette valeur dans jeedom car si j’ai bien compris, lors d’un redémarrage de l’esp easy, le compteur va repartir à 0.
Comment faites vous ?
Merci
En créant une variable sur Jeedom ?
1 « J'aime »
Bonjour,
Je suis justement entrain de configurer un Espeasy pour récupérer l’info.
J’ai fait une fonction qui se lance à la connexion WIFI de l’esp qui met une valeur à 1 sur l’équipement de jeedom.
Un scénario déclenché quand cette valeur est à 1, et je renvoie les valeurs à l’esp
On WiFi#Connected do
if [Compteur#indexreleve]=0
SendToHTTP 192.X.X.,8121,/plugins/espeasy/core/api/jeeEspeasy.php?apikey=Clé_API_ESPeasy &device=ESPGazpar&taskid=0&cmd=init&value=1
timerSet,3,60
Endif
endon
et
on compteur_reel do
TaskValueSet,2,1,%eventvalue%
TaskValueSet,2,2,%eventvalue%
SendToHTTP 192.X.X.X,8121,/plugins/espeasy/core/api/jeeEspeasy.php?apikey=Clé_API_ ESPeasy&device=ESPGazpar&taskid=0&cmd=releve&value=[Compteur#indexreleve]
SendToHTTP 192.X.X.X,8121,/plugins/espeasy/core/api/jeeEspeasy.php?apikey=Clé_API_ESPeasy &device=ESPGazpar&taskid=0&cmd=indexcalcule&value=[Compteur#indexreleve]
timerSet,2,30
endon
et dans jeedom
Pour info, je l’avais fait en passant les messages MQTT en « retain » - c’est dans les options « Advanced » de ESP Easy - et en utilisant le plugin MQTT Import et des « rules ».
Ce que je faisais, c’est que lorsque la valeur repart à zéro (inférieure à xxx), je vais chercher la valeur qui est sur le serveur MQTT. Mais pour que cela marche il faut gérer soit même la publication vers le serveur MQTT. Et il y a aussi un paramètre de « persistence » je crois côté serveur MQTT au cas où il est également arrêté en même temps (coupure de courant générale par exemple).
Les exemples du code sont là : Demande : calculer une puissance cumulée - #4 par seb821
Pour autant, la solution de @scotty92fr me paraît plus pertinente et simple à mettre en place. Je me demande juste si la commande SentToHTTP ne risque pas de se perdre si Jeedom n’a pas fini de démarrer ou si problème réseau. Si c’est le cas, cela doit être facile à régler par exemple en déplaçant la variable d’initialisation dans un « dummy » qui serait envoyé régulièrement à Jeedom.
C’est pour cela que je déclenche le timerSet,3,60. toute les 60s tant que la valeur =0 je recommence