The MQTT Modules publish data in a JSON format with each message comprising a Topic and Payload.

The Topic contains the following key/value pairs:


The deviceId is only included for the device level message types of DBIRTH, DDATA and DDEATH


The Payload contains the following key/value pairs:


metaData and property values, other that Quality, are only included in the NBIRTH or DBIRTH messages and only if they have changed from the Ignition default.

Sample JSON messages

Using a simple tag tree structure shown below, we can show how these JSON formatted messages will be generated:

NBIRTH

The metrics array for the Edge Node BIRTH message will contain:


{
  "topic": {
    "namespace": "spBv1.0",
	"edgeNodeDescriptor": "G1/E1",
    "groupId": "G1",
    "edgeNodeId": "E1",
	"type": "NBIRTH"
  },
  "payload": {
    "timestamp": 1638223073190,
    "metrics": [
      {
        "name": "bdSeq",
        "timestamp": 1638223073187,
        "dataType": "Int64",
        "value": 5
      },
	  {
        "name": "Tag 4",
        "timestamp": 1638223073156,
        "dataType": "Int32",
        "metaData": {},
        "properties": {
             "Quality": {
                 "type": "Int32",
                 "value": 192
			 }
        },
        "value": 100
      },       
	  {
        "name": "Tag 5",
        "timestamp": 1638223073001,
        "dataType": "Boolean",
        "metaData": {},
        "properties": {
             "Quality": {
                 "type": "Int32",
                 "value": 192
             }
        },
        "value": false
      }
     ],
    "seq": 0
  }
}


DBIRTH

The metrics array for the Device BIRTH message will contain:


{
  "topic": {
      "namespace": "spBv1.0",
      "edgeNodeDescriptor": "G1/E1",
      "groupId": "G1",
      "edgeNodeId": "E1",
      "deviceId": "D1",
      "type": "DBIRTH"
  },
  "payload": {
    "timestamp": 1638223073192,
    "metrics": [
      {
        "name": "Tag 1",
        "timestamp": 1638223073192,
        "dataType": "Int32",
        "metaData": {},
        "properties": {
            "Quality": {
                "type": "Int32",
                "value": 192
            }
        },
        "value": 1
      },
      {
        "name": "Tag 2",
        "timestamp": 1638223073011,
        "dataType": "Boolean",
        "metaData": {},
        "properties": {
             "Quality": {
                 "type": "Int32",
                 "value": 192
             }
        },
        "value": false
      },
      {
        "name": "Tag 3",
        "timestamp": 1638223073041,
        "dataType": "Float",
        "metaData": {},
        "properties": {
             "Quality": {
                 "type": "Int32",
                 "value": 192
             }
        },
        "value": 1.23
      }
     ],
    "seq": 1
  }
}


NDATA

The metrics array for the Edge Node NDATA message will contain: 


{
  "topic": {
    "namespace": "spBv1.0",
    "edgeNodeDescriptor": "G1/E1",
    "groupId": "G1",
    "edgeNodeId": "E1",
    "type": "NDATA"
  },
  "payload": {
    "timestamp": 1638223663812,
    "metrics": [
      {
        "name": "Tag 4",
        "timestamp": 1638223662800,
        "dataType": "Int32",
        "value": 10
      }
    ],
    "seq": 2
  }
}


DDATA

The metrics array for the Device DDATA message will contain: 


{
  "topic": {
    "namespace": "spBv1.0",
	"edgeNodeDescriptor": "G1/E1",
    "groupId": "G1",
    "edgeNodeId": "E1",
    "deviceId": "D1",
	"type": "DDATA"
  },
  "payload": {
    "timestamp": 1638223663812,
    "metrics": [
      {
        "name": "Tag 1",
        "timestamp": 1638223662800,
        "dataType": "Int32",
        "value": 10
      }
    ],
    "seq": 3
  }
}


NDEATH

The metrics array for the Edge Node DEATH message will contain:


{
  "topic": {
    "namespace": "spBv1.0",
    "edgeNodeDescriptor": "G1/E1",
    "groupId": "G1",
    "edgeNodeId": "E1",
    "type": "NDEATH"
  },
  "payload": {
    "timestamp": 1638223073190,
    "metrics": [
      {
        "name": "bdSeq",
        "timestamp": 1638223073187,
        "dataType": "Int64",
        "value": 5
      }      
     ]
  }
}


DDEATH

The metrics array for the DDEATH message will be empty.


{
  "topic": {
      "namespace": "spBv1.0",
      "edgeNodeDescriptor": "G1/E1",
      "groupId": "G1",
      "edgeNodeId": "E1",
      "deviceId": "D1",
      "type": "DDEATH"
  },
  "payload": {
    "timestamp": 1638223073192,
    "metrics": []
  }
}