Storing MQTT SparkplugB Dataset Objects


We're testing Canary and the MQTT Collector towards a MQTT broker were most of our data is sent as SparkplugB messages. Regular SparkplugB messages are automatically picked up and stored in the historian, but it seems messages defined as SparkplugB Dataset Objects (described in Sparkplug specification rev. 2.2, chapter 15.1.7) are not picked up by the collector.

We're running Canary version Typically, a dataset object we publish will be structured like this:


    "name" : "Site/Area/Device/datasettag",

    "timestamp" : 16215305151561,

    "datatype" : "DataSet",

    "properties" : {

        "Quality" : {

            "type" : "Int32",

            "value" : 192



    "value" : {

        "rows" : [    [ 10, 10.1, true, "one" ],    [ 20, 20.2, false, "two" ] ],

        "numberOfColumns" : 4,

        "columnNames" : [ "Col1", "Col2", "Col3", "Col4" ],

        "types" : [ "Int32", "Float", "Boolean", "String" ]


} ],

"seq" : 1


So I have a few qeustions collection of Sparkplug Datasets through the MQTT Collector supported by Canary? If not, is that something that will eventually be supported?

If it is supported, does Canary require a certain structure of the messages (any properties that are required/must be omitted, naming requirements, etc.)?

Are there any specific way to configure the MQTT collector for dataset objects?

How should we expect values to be stored in the historian given that these messages can contain a single name and multiple rows, values and columnnames? Would for example the name be treated as a node/device with the column names storing the datapoints indivudally below the name in the hierarchy?

Best regards, Jørn

1reply Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Hi jorn. hella ,

    Unfortunately, we do not support dataset objects. As of right now, there are no plans to include this functionality.

    Sorry 😕

Like Follow
  • 3 days agoLast active
  • 1Replies
  • 6Views
  • 2 Following