Une question concernant le rafraichissement des infos sur l’écran de l’ESP32 sous openHASP. Lorsqu’il démarre ou lorsque l’on modifie le fichier pages.jsonl, les valeurs reviennent à celles écritent dans le ficheir jsonl.
Elles ne se mettent à jour que lorsque l’info est mise à jour via MQTT par Jeedom.
Pour palier à cela, j’ai fait un scénario qui test une valeur, si elle est à la valeur par défaut, je rafraichis toutes les infos mqtt…
Je n’ai pas d’autre solution
Quand on met à jour les valeurs affichées via mqtt, elles ne sont pas sauvegardées dans l’écran
A chaque démarrage de l’écran, les fichiers jsonl sont chargés et les valeurs contenues sont affichées
Mes écrans sont toujours alimentés mais pour être sur des valeurs affichées si ils redémarrent j’ai comme toi un scénario.
Je le déclenche sur une commande LWT qui n’a comme Topic que LWT
Peut-être publier avec le flag « retain » ainsi elles resteront sur mqtt et esp pourra les relire après son reboot.
Ca me semble plus simple qu’un scénario
Je viens d’essayer d’activer cette option sur un label avec le logiciel « MQTT Explorer » pour tester avant de passer dans Jeedom
Merci !!
Ça fonctionne très bien mais attention aux scripts systèmes présents sur l’écran !
Par exemple avec ce script système ça ne fonctionnera pas : mqtt_on.cmd
clearpage all
run /pages.jsonl
Dans ce cas la page par défaut jsonl sera rechargée et viendra écraser les valeurs venant du broker mqtt (s’affichera à l’écran 5s avec la valeur par défaut du fichier jsonl, puis 3 à 4s avec la bonne valeur du broker mqtt puis à nouveau la valeur par défaut du fichier jsonl)
Je n’ai pas observé de problème avec le même contenu dans le script système online.cmd
@006fazer : je vais ajouter cette option retain directement dans le plugin openhasp, mais pas de date encore
Rentré à la maison, je confirme, les commandes envoyées via jmqtt, après un reboot sont rechargées par l’esp32, celles envoyées par le plugin openHASP non, mais c’est normal
Je viens de mettre à jour la beta avec l’option Retain
Chaque commande de type Action a désormais ces 2 paramètres :
Les 2 options sont les suivantes :
Retain → dire au serveur de retenir la valeur
Penser à Enregistrer l’équipement avant de tester
Si coché : la valeur sera conservée par le serveur MQTT
Si décoché : la valeur ne sera pas conservée, le plugin gère la suppression du tag Retain auprès du serveur
Refresh → demander à l’écran d’envoyer la valeur de l’objet
Penser à Enregistrer l’équipement avant de tester
Si coché la commande est envoyée 2 fois : 1 première fois avec la valeur demandée et 1 seconde fois avec une valeur vide → l’écran va alors envoyer la valeur qu’il affiche via MQTT
Par exemple avec ces 2 commandes : 1 action et 1 info, si vous voulez que l’info soit mise à jour alors il faut cocher cette option Refresh
Le cas de la page est un mauvais exemple car l’écran envoie quand même la mise à jour « state/page » au changement de page même sans envoyer « command/page » vide
Merci pour les évolutions du plugin, ça ne permet pas de publier automatiquement une valeur modifiée ? Comme le fait jMqtt avec la case à cocher « Pub Auto ».
Bien essayé mais non, il n’y a pas encore cette évolution
Ça sera la prochaine évolution : lier une commande action openhasp avec une commande info et déclencher automatiquement l’action quand l’info change. J’ai compris l’idée, je dois le mettre en place. Ça devrait arriver en avril
Je viens de mettre à jour la beta pour ajouter le lien avec une commande info et la publication automatique.
Cette option n’est présente que pour les commande de type Action.
Relier à info : checkbox pour activer / désactiver la surveillance de la commande info
Choix de la commande : ça ouvre une popup classique pour sélectionner une commande de type info. Une seule commande info possible, pas de combinaison
Si la checkbox est cochée et la commande info est valide alors le mécanisme de surveillance est actif.
Quand la valeur de la commande info liée change alors la commande action est exécutée avec la valeur de la commande info liée.