With this release the library was updated to comply with ThingSet Specification v0.5.
Related PR: #24
Background information regarding Spec updates
While developing a mobile phone app that translates ThingSet data objects read from a device into a user interface, I realized several shortcomings with the approach of structuring the data into categories like info, conf, meas, etc. Most importantly, it was not semantically clear which data items could be written, so an app would have to try writing a value, process the response and if it is allowed to write the value, display it in a text box so that it can be changed via the UI.
The v0.5 spec introduces prefixes for data items which define if an item is write-able, read-only, executable, stored in RAM or flash, etc. This makes the previous categories obsolete and data can be structured more logically based on features of the device.
An example using the new data structure can be seen in ThingSet Spec v0.5 Example Data. Also consider the section "User interface processing" at the end.
As data item names don't have to be globally unique anymore (e.g. there can be a measured current for the battery Bat/rMeas_A
and the load Load/rMeas_A
) the JSON in the statement messages needs to be nested.