It seems that when mDash sends data to a hardware device, strings that contain brackets or ampersands (<>&) are HTML escaped.
I’m guessing this is a relic to keep browsers from misinterpreting JSON text. However, since there is no browser involvement in mDash <-> device messaging can this HTML escaping be removed? It is painful to have to manually parse for this sort of thing in firmware.
For those stumbling upon this thread, mDash v1.2.13 improves the handling of ASCII special characters in shadow registers. Previously, if you used characters like < > ? etc. within a string in a state.config.desired key, they would not be reflected properly in the corresponding state.reported.config key.
Note that the data is still URL-encoded as required by JSON. That means if you need to use the key contents locally on your device, you’ll need to decode the URL-encoded characters in your firmware.