For the following example, eACM is collecting data from a device named “Device1”.
AUTOSOL MQTT’s SparkplugB publisher has a GroupID of “LocalGroup” and NodeID of “FirstNode” (set on the SparkplugB tab).
What topics should appear in the broker?
When the publisher first starts, there will be a node birth:
spBv1.0/LocalGroup/NBIRTH/FirstNode
Followed by a birth message for our device(s). These will contain the initial values for all of the tags associated with each device:
spBv1.0/LocalGroup/DBIRTH/FirstNode/Device1
Finally, in the course of normal operation, there will be a series of data messages at a rate defined by the Publish Interval in the device object, assuming any tag’s value has changed within that interval:
spBv1.0/LocalGroup/DDATA/FirstNode/Device1
If communications are lost, or AUTOSOL MQTT is stopped, a node death message will arrive, signalling to all subscribers that the node is down:
spBv1.0/LocalGroup/NDEATH/FirstNode
As SparkplugB is not a human readable format, a Sparkplug Decoder is needed to resolve the contents of these messages.