Jmqtt et unicode

Salut à tous ,

Je viens d’acquérir un écran et je le fait tourner avec openhasp.
Il y a bien un plugin pour, mais j’essaie de faire beaucoup de chose par moi même donc j’utilise un max jmqtt.
Pour info j’ai le soucis, enfin pas vraiment c’est juste un problème d’interprétation, sur le plugin et jmqtt .

Le problème d’interprétation avec des caractères en Unicode.
si je publie sur mqtt explorer
image

J’ai bien le rendu sur mon ecran,
par contre sur Jmqtt si je mets la même commande :

{"page": 6,"obj": "btn","id": 3,"val": "1","text": "\uE335"}

après la sauvegarde de l’élément créer il m’affiche :
image

J’ai perdu la partie unicode , c’est à dire \uE335

Si quelqu’un a une idée.


Mes infos de config
OS version: debian 11 on diy
PHP version: 7.4.33
Python version: 3.9.2
Core version: 4.4.19 (master)
Nb lines in http.error: 2075
Plugins: AdGuard alexaamazonmusic alexaapi alexasmarthome arrosageAuto ash camera conso consoWidget cozytouch darksky docker2 elevenlabs gardena geoloc geotrav heliotrope HomeAssistantConnect homeconnect icon ifttt JeedomConnect jMQTT klf200 livebox luminotherapie meteofrance MeteoFull mode Monitoring monitoring2 mqtt2 MQTTDiscovery mqttDomutils mymodbus networks Nut_free octoprint openhasp openvpn piHole pimpJeedom previsy programmateur ProJote proxmox scan_ip script solcast songs sonos3 telegram tvremote vantage vigilancemeteo virtual Volets weather wireguard

jMQTT: 23.11.8 (2024-06-08 14:14:45) branch: stable
Nb Errors or Warnings in jMQTT logs: 2192 (level is info)
Daemon Status: Started (2024-10-27 02:00:03)
Nb eqBrokers: 5 / eqLogics: 120 / cmds: 1533

Hello, peut être doubler ou tripler le \

Salut @nebz

alors avec un double ou triple idem
image

Hello @freeddoo,

Peux-tu me fournir tous les logs de jMQTT concernant l’envoi/réception de ce payload stp ?

Je vois que tu as pas mal de messages dans le log http.error, rien concernant jMQTT ?

Bad

Salut @Bad

Merci pour ton aide.
C’est mon Jeedom de teste donc il peut y avoir énormément de défaut diffèrent
J’ai vide mes log et relance mes testes.
Ci joint la commande que j’ai capture dans le log

1703|[2024-12-31 10:21:00] INFO  : Cmd #[Openhasp][Openhasp command][command:jsonl]# <- {"page":6,"obj":"btn","id":3,"val":"1","text":"\\"}
5493|[2024-12-31 10:30:32] INFO  : Cmd #[Openhasp][Openhasp command][p6b3 on]# -> '{"page":6,"obj":"btn","id":3,"val":"1","text":"\\"}' sur le topic 'hasp/1/command/jsonl' (qos=1, retain=0)
5494|[2024-12-31 10:30:32] INFO  : Cmd #[Openhasp][Openhasp command][command:jsonl]# <- {"page":6,"obj":"btn","id":3,"val":"1","text":"\\"}

et le resulat dans mqtt explorer
image

Je me pose la question, cette possibilité d’envoyer est-elle géré par Jeedom , surement pas un problème de Jmqtt? Comme j’ai le problème sur les 2 plugins

Je n’ai rien dans http.error

Ps:
J’ai trouve ceci egalement

[2024-12-31 10:30:32,862][INFO] Client513       Brk513Th        on_message() : Message received (topic="hasp/1/command/jsonl", payload="{"page":6,"obj":"btn","id":3,"val":"1","text":"\\"}", QoS=1, retain=False)
[2024-12-31 10:30:32,862][DEBUG] JMsg.Snd        Brk513Th        send_async() : Enqued the message in 0.002861ms (qToJ size 1): {'cmd': 'messageIn', 'id': '513', 'topic': 'hasp/1/command/jsonl', 'payload': '{"page":6,"obj":"btn","id":3,"val":"1","text":"\\\\\ue335"}', 'qos': 1, 'retain': False}
[2024-12-31 10:30:32,932][DEBUG] JMsg.Snd        SockOut           _loopSnd() : Sending 1 messages (0 left in queue)

Après un teste de nouveau avec le bon playload , j’ai trop fait d’essais hier

  publish() : Sending message to broker (topic="hasp/1/command/jsonl", payload="{"page":6,"obj":"btn","id":3,"val":"1","text":""}", QoS=1, retain=False)
[2024-12-31 10:35:36,710][INFO] Client513       Brk513Th        on_message() : Message received (topic="hasp/1/command/jsonl", payload="{"page":6,"obj":"btn","id":3,"val":"1","text":""}", QoS=1, retain=False)
[2024-12-31 10:35:36,711][DEBUG] JMsg.Snd        Brk513Th        send_async() : Enqued the message in 0.003576ms (qToJ size 1): {'cmd': 'messageIn', 'id': '513', 'topic': 'hasp/1/command/jsonl', 'payload': '{"page":6,"obj":"btn","id":3,"val":"1","text":"\ue6e8"}', 'qos': 1, 'retain': False}
[2024-12-31 10:35:36,724][DEBUG] JMsg.Snd        SockOut           _loopSnd() : Sending 1 messages (0 left in queue)
[2024-12-31 10:35:36,790][DEBUG] JMsg.Snd        SockOut               send() : Sent TO Jeedom 1 messages handled in 65.796137ms (qToJ size 0): [{'cmd': 'messageIn', 'id': '513', 'topic': 'hasp/1/command/jsonl', 'payload': '{"page":6,"obj":"btn","id":3,"val":"1","text":"\ue6e8"}', 'qos': 1, 'retain': False}]

Il convertit les majuscule en minuscule: \uE6E8 est devenu \ue6e8

Après quelque recherche :

{"page": 6,"obj": "btn","id": 3,"val": "0","text": "\ue6e8"}

fonctionne bien sur mqtt explorer

Hello,

Merci pour les infos :+1:
Je ne suis pas sûr d’avoir compris les enchainements des messages, mais ta conclusion est bien qu’il s’agit d’un problème d’affichage de la valeur du payload sur la commande, plus que de l’envoi de la valeur ?

Bad

Salut et désolé pour la réponse tardive.

J’ai un peu profite des fêtes.

Meilleurs vœux à vous tous.

J’ai repris mes testes , je ne sais pas ou j’ai buggé mais j’arrive bien à envoyer ce que je veux.
Effectivement la commande passe bien, mais l’affichage ne fonctionne pas sous jeedom.

image
Ca envoie bien la commande mais ne l’affiche pas sous jeedom.

Maintenant que je le sais, il y aura surement une évolution mais je ne sais pas si c’est le plugin ou jeedom.
Donc je n’incriminerai ni l’un ni l’autre :yum:. Les 2 sont fantastiques

Meilleurs vœux à toi aussi :partying_face::clinking_glasses::slightly_smiling_face:

En effet :rofl:

Blague à part, je ne pense pas traiter le cas de l’affichage d’un payload unicode pour le moment, c’est trop à la marge des cas d’usage habituels.
Mais je t’invite à ouvrir une issue pour tracer le besoin ou faire un PR si tu sais corriger rapidement.

Bad