You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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

The Topic contains the following key/value pairs:

  • namespace
    • Set as "spBv1.0"
  • edgeNodeDescriptor
    • The combination of the Group ID and Edge Node ID which provides a unique identifier for the Edge Node
  • groupId
    • The Group ID
  • edgeNodeId
    • The Edge Node ID
  • deviceId
    • The Device ID
  • type
    • Message type including:
      • NBIRTH
      • DBIRTH
      • DDATA
      • NDEATH
      • DDEATH
The deviceId is only included for the device level message types of DBIRTH, DDATA and DDEATH


The Payload contains the following key/value pairs:

  • timestamp
    • The time stamp that the payload was created
  • metrics
    • An array containing data specific to the message type being published
    • Each object in the array will include the following name/value pairs:
      • name
      • timestamp
      • dataType
      • value
    • Additional name/value pairs in the DBIRTH or NBIRTH messages only include:
      • metaData ****
      • properties
        • The Quality property. See the Ignition Tag Property Enum Reference for the Data Quality value reference
        • Additional property values such as engHigh, engLow etc are included if they have been changed from the Ignition default. See the Ignition Tag Properties reference for all available properties.
  • seq
    • The message sequence number used to ensure that messages are processed in the correct order


Sample JSON messages

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

NBIRTH

The Edge Node BIRTH message will contain a Topic and Payload:

  • Topic
    • Namespace
    • Edge Node Descriptor
    • Group ID
    • Edge Node ID
    • Message Type
  • Payload
    • Timestamp
    • Metrics array containing 
      • A Birth/Death sequence number to track the Sparkplug session of the Edge client
      • Any Edge Node tags defined in the Edge Node folder
    • Seq 


Edge Node Birth message
{
  "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
      {,

    ],
    "seq": 0
  }
}


DBIRTH

The Device BIRTH message will contain the following:

  • The Sparkplug elements: Namespace, Group ID, Edge Node ID, Device ID.  They will be grouped under "topic" along with Message Type
  • A "timestamp" for when the payload was constructed
  • Any Device tags defined in the Device folder
  • A message sequence number


Device BIRTH message
{
  "topic": {
      "namespace": "spBv1.0",
      "edgeNodeDescriptor": "G1/E1",
      "groupId": "G1",
      "edgeNodeId": "E1",
      "deviceId": "D1",
      "type": "DBIRTH"
  },
  "payload": {
    "timestamp": 1638223073192,
    "metrics": [
        {
            "name": "T1",
            "timestamp": 1638223073192,
            "dataType": "Int32",
            "metaData": {},
            "properties": {
                "Quality": {
                    "type": "Int32",
                    "value": 192
                }
            },
            "value": 12
        }
    ],
    "seq": 1
  }
}


DDATA

The Device DDATA message will contain the following:

  • The Sparkplug elements: Namespace, Group ID, Edge Node ID, Device ID.  They will be grouped under "topic" along with Message Type
  • A "timestamp" for when the payload was constructed
  • Any Device tags defined in the "Device folder that have changed
  • A message sequence number


Device DATA message
{
  "topic": {
    "namespace": "spBv1.0",
	"edgeNodeDescriptor": "G1/E1",
    "groupId": "G1",
    "edgeNodeId": "E1",
    "deviceId": "D1"
	"type": "DDATA"
  },
  "payload": {
    "timestamp": 1638223663812,
    "metrics": [
      {
        "name": "T1",
        "timestamp": 1638223662800,
        "dataType": "INT32",
        "value": 100
      }
    ],
    "seq": 2
  }
}


NDEATH


DDEATH





Understanding and decoding Ignition QualityCodes



  • No labels