You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

MQTT Engine Custom Namespaces do not handle changing JSON structures automatically due to the way JSON payloads are parsed.


Consider these two message payloads received sequential on topic "a/b" at MQTT Engine:

{
    "level": "value1"
}

{
    "level": {
        "key": "value2"
    }
}

MQTT Engine will initially create the tag with the tagpath of "[MQTT Engine]a/b/level" with a value of 'value1'.

Now, when the second payload arrives on the same topic, since MQTT Engine does not automatically delete tags, it will try to create the tag "[MQTT Engine]a/b/level/key" with a value of 'value2'. However, level at this point is a leaf tag, not a folder. So, the new leaf tag called 'key' can not be created.

Our recommendation to manage MQTT messages published with the same topic and changing payload JSON structures, is not to use the built in JSON parsing option in the Custom Namespace but to leave parsing as a string, create a tag change script and parse teh string in a custom script per your requirements.
  • No labels