Rafraichissement des infos MQTT

Bonjour,

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…

Une autre solution ?

Merci :wink:

Bonsoir !

Je n’ai pas d’autre solution :neutral_face:
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

  • online tant que l’écran est allumé
  • offline environ 20s après extinction de l’écran

Bonjour,

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

Bonjour,

Comment tu mets ce flag ?:thinking:

Ca dépend du client mqtt utilisé

J’ai jmqtt et mpttmanager :hugs:

Voir documentation du coup ou simplement la liste des commandes à mon avis: https://domotruc.github.io/jMQTT/fr_FR/#commandes-de-type-action

2 « J'aime »

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

Cool :+1:

Comment modifier les scripts system ?:thinking:

Ce sont les fichiers xxx.cmd que tu peux éditer dans l’éditeur de fichier

Ils sont appelés sur quelques évènements dans l’écran : perte de connexion au WIFI, connexion au serveur MQTT, etc… (liste exhaustive ici)

Si tu n’en as pas, ce n’est pas grave :slight_smile:

1 « J'aime »

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 :wink:

Bonsoir,

Je viens de mettre à jour la beta avec l’option Retain

Chaque commande de type Action a désormais ces 2 paramètres :
image

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
    • Ça sera plus clair dans la doc :sweat_smile:

N’hésitez pas à faire des retours !!

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 ».

:wink:

Bien essayé mais non, il n’y a pas encore cette évolution :laughing:

Ç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

1 « J'aime »

Bonsoir,

Je viens de mettre à jour la beta pour ajouter le lien avec une commande info et la publication automatique.

image

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.

Exemple :
Commande dans un équipement openhasp :


Quand la commande info « #[Maison][page][puissance]# » change et prend « xxx » comme valeur alors « xxx W » est publié

J’attends des retours !

PS : obligé de grogner un peu, mais j’aurai perdu moins de temps si la fonction postAjax() avait été indiquée dans la doc

1 « J'aime »

Top :+1:,

Suis en déplacement cette semaine, je teste en rentrant :hugs:

Bonjour,

Je confirme que la dernière version fonctionne bien avec les nouveautés ajoutées, j’ai tout rebasculé de jmqqt sur ce plugin.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.