Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

  • 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


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

...

  • 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
    • Optional name/value pairs include:
      • metaData
        • NEED TO ADD DETAILS HEREMeta Data property values, including Tooltip and Documentation, are included if they have been changed from the Ignition default. See the Ignition Tag Properties reference for all available properties.
      • properties
        • The Quality property. See the Ignition Tag Property Enum Quality Code Reference for the Data Quality value reference.
          • If the Quality property is not included, the quality of the tag data is considered Good.
        • Additional property values such as engHigh, engLow etc are included if they have been changed from the Ignition default or if they are custom properties. 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


Note
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:

Anchor
NBIRTH
NBIRTH
NBIRTH

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

  • A Birth/Death sequence number to track the Sparkplug session of the Edge client
  • Any Edge Node tags defined in the Edge Node folder


Code Block
titleEdge Node Birth 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
      },       
	  {
        "name": "Tag 5",
        "timestamp": 1638223073001,
        "dataType": "Boolean",
        "metaData": {},
        "properties": {
             "Quality": {
                 "type": "Int32",
                 "value": 192
             }
        },
        "value": false
      }
     ],
    "seq": 0
  }
}


Anchor
DBIRTH
DBIRTH
DBIRTH

The metrics array for the Device BIRTH message will contain:

...

Code Block
titleDevice BIRTH message
{
  "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
   }
}


Anchor
NDATA
NDATA
NDATA

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

...

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


Anchor
DDATA
DDATA
DDATA

The metrics array for the Device DDATA message will contain: 

...

Code Block
titleDevice DATA message
{
  "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
  }
}


Anchor
NDEATH
NDEATH
NDEATH

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

  • A Birth/Death sequence number to track the Sparkplug session of the Edge client


Code Block
titleEdge Node Death DEATH message
{
  "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
      }      
     ]
  }
}


Anchor
DDEATH
DDEATH
DDEATH

The metrics array for the DDEATH message will be empty.


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

...




Excerpt Include
CLD80:FAQ: Ignition Modules
CLD80:FAQ: Ignition Modules
nopaneltrue

...