Awtrix Light, MQTT et ordre Topic

Bonjour

Je bloque sur un point qui me rend fou!

J’ai un Ulanzi TC001, flashé en Awtrix Light 0.98, et jMQTT pour envoyer les données. Jusque là tout va bien.
J’ai buté un moment sur l’ordre des topics, le Ulanzi semblant afficher les topics dans l’ordre qu’il voulait! Et puis, en fouinant, j’ai trouvé un topic qui portait ce nom: awtrix_ba9e14/stats/loop, et qui définit l’ordre des topics.
Alors, j’ai effectué la manip suivante:

  • effacement du topic loop (en envoyant une valeur vide)
  • définition de la nouvelle valeur loop, avec la valeur suivante:
{"Time":0,"Date":1,"saint":2,"power":3,"temphome":4,"ext":5,"meteo":6,"pellets":7}

Tout est OK, sauf le 2, qu’il s’évertue à me mettre en dernier (donc après le pellets). J’ai essayé de changer le nom du topic, de redémarrer le Ulanzi…j’ai essayé sans ce topic, cela fonctionne (il ne l’affiche pas, comme prévu), et dès que je le remets en 2, il s’affiche en dernier.

Pourtant, il est bien envoyé au broker comme je l’ai demandé:

Pour info, la valeur du topic saint est:

{"text":'Aujourd\'hui, c\'est la #[Maison][INFOS VIRTUEL][saint-jour]#. Demain ce sera la #[Maison][INFOS VIRTUEL][saint-demain]#',"icon":52563,"rainbow":true,"pushicon":0,"repeat":1}

Ce qui donne, une fois les valeurs remplacées:

{"text":"Aujourd'hui, c'est la \"Ste Marcelle\". Demain ce sera la \"Ste Ella\"","icon":52563,"rainbow":true,"pushicon":0,"repeat":1}

C’est pas grave, mais ça m’agace et ça me rend fou :sweat_smile:

Alors si vous avez une idée du pourquoi, je vous en remercie d’avance.

Infos:
Jeedom 4.4.19
Plugin jMQTT version v23.11.8 (2024-06-08 14:14:45)
Broker MQTT sur Debian 13 (LXC Proxmox)
Ulanzi TC001 avec Awtrix Light 0.98

Bonjour,

As-tu lu la doc ?
Normalement stat c’est du read-only. Il faut utiliser pos (et ça marche pas tout le temps).

Tu es limité par l’esp32 qui ne permet pas par manque de mémoire une réelle gestion de l’ordre des custom apps. Une nouvelle app ne peut être ajoutée qu’à la fin.
Donc le contournement est d’effacer ta loop et de la recréer quand tu veux intercaler une custom app.

1 « J'aime »

Oui j’avais lu la doc, mais j’étais passé à côté de ça.

Donc la partie stats est en lecture seule et il faut utiliser le paramètre POS pour gérer l’ordre des topics.

Par exemple:

{"text":'Aujourd\'hui, c\'est la #[Maison][INFOS VIRTUEL][saint-jour]#. Demain ce sera la #[Maison][INFOS VIRTUEL][saint-demain]#',"icon":52563,"rainbow":true,"pushicon":0,"repeat":1,"pos":2}

J’ai cependant quelques questions:

  • est ce que le numérotage des POS a une importance? J’ai vu dans la doc qu’il faut commencer à 0 (alors que j’ai déjà Time en 0 et Date en 1)
  • est-il obligé d’avoir des pos qui se suivent? Ou alors peut-on numéroter 10,20,30… par exemple? Pour pouvoir insérer des topic entre les existants, sans avoir à tout renuméroter à chaque fois
  • Quelle serait la syntaxe pour un topic avec des customapp multiples?
    Par exemple, dans ce topic, où dois-je mettre le paramètre POS (j’ai cru comprendre que le POS doit être géré par topic, même s’il comprend plusieurs customapp)?
[{"text":"METEO","icon":8756,"rainbow":true,"pushicon":0,"repeat":1,"duration":5},{"text":"round(#[Jardin][Pluviomètre][Pluie 24H]#,2)mm","icon":16584,"rainbow":true,"pushicon":0,"repeat":1,"duration":5},{"text":"#[Meteo][CAPTEUR_EXT][Humidité]#%","icon":3359,"rainbow":true,"pushicon":0,"repeat":1,"duration":5}]

Merci de ton aide :slight_smile:

C’est précisément ce que je fais dans mon scenario:

  • effacement de la loop via envoi d’un topoc vide
  • Envoi de la nouvelle donnée dans la loop

Ce qui est surprenant, c’est que ce loop est censé etre en lecture seule, mais que j’arrive à le modifier en envoyant une nouvelle donnée (avec juste un seul topic qui n’est pas à sa place).

Alors est-ce que ce topic loop est juste impossible à supprimer mais qu’il est possible de changer sa valeur?
Pour les customapp, envoyer une valeur vide supprime le topic dans le broker MQTT, alors que sur le loop, envoyer une valeur vide donne loop= en regardant dans le broker. Donc le topic est impossible à supprimer mais il reste possible de changer sa valeur (et ça fonctionne, je le fais comme ça).
Et si c’est vraiment ça, pourquoi y’-a-t-il juste un topic qui ne se met pas à la bonne place?

Après reboot et maj des topics, le topic « saint » se retrouve en 2eme position, entre time et date donc.
Avec le time en 0, et le date en 1, il aurait dû se trouver après le date!
Je suis sûr qu’il fait exprès pour m’agacer :joy:

Bonjour,

Essaye la bêta 0.99b qui vient juste de sortir :wink:.

Voir Discord Awtrix.