Go to the idea exchange and vote for this. One of the best ideas and only has 19 votes.
I wrote an encoder but cannot share it because it was something that someone paid me to do. I can explain it though.
The VI takes a cluster reference and produces a JSON string representing the cluster. It supports strings, integers, floats, booleans and arrays. It also supports paths, VISA references and such representing them as strings. It iterates over the cluster Controls property looking at the Value property and determines the type by examining the type string from Variant to Flattened String. I found out later that there is something buried in vi.lib that does the same thing.
I managed to get a working code, but went away from using the UDP functions...it proved too difficult.
I simply read the data file in using the xml format, then stripped out the data that I wanted. The code can be used on a system with as many inverters connected to the SunnyBox as you like, and you can strip out as many of the data values as you like. The file downloaded from the webbox comes in a zipped format and the code can even do the unzipping for you.
If you are interested I can dig out the appropriate code and post it.
That sounds interesting. I would like to see that if is not too much trouble.
Ok....I'm not in front of my work pc at the moment, but as soon as I am, I'll post the code for you.