Comment encoder une cle JSON en 2 niveaux en MQTT subscribe

Bonjour

je voudrais que l’IPX800 V5 subscribe sur mon mosquito server pour les infos suivantes venant d’un Tasmota - Smart Meter Interface :

11:04:08.954 MQT: tm_pool/tele/SENSOR = {« conso »:{« DayEnergy »:7.55,« L1DayEnergy »:5.66,« L2DayEnergy »:0.09,« L3DayEnergy »:1.80}}

la key JSON est en 2 niveaux, par exemple conso/DayEnergy, je ne vois pas comment coder cela dans le champ key de l’objet mqtt subscribe

Merci d’avance

Bonjour @t0urista2 ,

Vous pouvez essayer les choses suivantes :

  1. Mqtt SUB avec l URL que vous avez indiqué puis une variable conso en STRING512
  2. UN PARSER sur le resultat du Mqtt crée ci-dessus en indiquant les sorties DayEnergy, L1DayEnergie, … en ANA
  3. Pour afficher les ANA sur le dashboard utilisez le widget format heure

Merci @Jweb

bonne idée en effet.
Cependant le point 1 ne fonctionne pas, avec une key json « conso », l’output correspondante n’est pas mise a jour.
donc les étapes suivantes ne fonctionnent pas non plus.

Pouvez-vous svp poster une copie d’écran de:

  1. MqttExplorer presentant le topic
  2. La déclaration de votre objet SUB

Les guillemets que vous avez sont << >> ou " "?

Voici le message MQTT recu par le broker :

11:04:08.954 MQT: tm_pool/tele/SENSOR = {"conso":{"DayEnergy":7.55,"L1DayEnergy":5.66,"L2DayEnergy":0.09,"L3DayEnergy":1.80}}


Et voici la déclaration de l'objet SUB

l’output reste vide
si je désactive l’option JSON dans la déclaration de l’objet SUB, je récupère bien l’intégralité du message MQTT en JSON, mais le problème reste le même, comment interpréter dans le parser JSON en message JSON avec plus d’un niveau de key ?

autoriser plusieurs niveaux de key dans le parser JSON, ne serait ce pas une amélioration utile du parser ?

j’ai aussi tenté de procéder comme suit, avec un objet MQTT SUB suivi d’un objet PARSER JSON :

  • definir un objet MQTT SUB, en desactivant l’option JSON.

    • l’URL est : tm_pool/tele/SENSOR
    • l’output correspondante STR512 est bien celle attendue : {« conso »:{« DayEnergy »:0.41,« L1DayEnergy »:0.27,« L2DayEnergy »:0.07,« L3DayEnergy »:0.06}}
  • Ensuite un objet PARSER JSON qui prend en entrée l’output précédente

    • la KEY json est conso (« conso » avec de vrais guillemets essayé aussi),
    • mais la sortie STR512 reste vide…