Versions Compared

Key

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

AUTOSOL MQTT supports Sparkplug B v2.2.

This object links to a Broker Connection to publish all data collected by Edge ACM in Sparkplug B format.

General

...

...

Property

...

Description

Name

...

The name of this item

Enabled

...

When enabled, data will be published

...

Folder

The parent folder

...

MQTT

...

for this item

MQTT

...

Property

Description

Broker Connections

The Broker Connection objects used by this Sparkplug B Publisher object.

Info

Brokers will be connected to in a round robin fashion starting with highest priority and continuing to lowest priority.

Assigned Schedules

The Publish Schedules that are associated with this publisher. AUTOSOL MQTT will only publish tags that match the publish group id’s assigned to these schedule objects.

Publish QoS

The Quality of Service for published messages

  • 0 - At most once (least bandwidth, least reliable)

  • 1 - At least once (middle bandwidth, middle reliability)

  • 2 - Once and only once (most bandwidth, most reliable)

Subscribe QoS

The requested Quality of

...

Service for subscribed messages (typically tag value writes from remote clients)

  • 0 - At most once (least bandwidth, least reliable)

  • 1 - At least once (middle bandwidth, middle reliability)

  • 2 - Once and only once (most bandwidth, most reliable)

Broker Connection

The Broker Connection object used by this Sparkplug B Publisher object

Sparkplug B

...

Default Publish Rate

The time between data update messages

Note

This publish rate will only be used if there are no assigned Publish Schedule objects! If any schedules are assigned this setting does nothing.

Sparkplug B

...

Property

Description

Group ID

The Group ID used in the Sparkplug B message

...

. This is a name that can be shared by multiple devices so

...

clients can more easily group

...

published data.

Node ID

The identifier used in the Sparkplug B message

...

.

Note

Node ID must be unique

...

to the system! If there are duplicate Node IDs then your system could enter an infinite rebirth loop.

Primary Host ID

Optional. The Host ID the publisher expects to be receiving data. If a value is provided, the publisher will stop when the expected Host is offline then resume publishing and backfill when the Host comes online

Disable Tag Aliases

When Tag Aliases are disabled, the full tag name will be sent with each update of tag values. This can be useful for clients that missed the

...

BIRTH notice or to manually read data

...

.

Note

Disabling Tag Aliases requires more bandwidth

Backfill

...

Property

...

Description

Backfill to Disk

Enable storing Backfill data on disk instead of in RAM. On most devices this will allow more storage.

Disk Location

The location on the Linux system that backfill data will be stored.

Disk Memory Allocated for Buffered Values (mb)

The maximum amount of backfill data to be stored on the disk.

Split Backfill Messages

...

If enabled, backfill messages will be divided up and sent in chunks, rather than

...

being sent a single large

...

DDATA message.

Tag Values per Message

When splitting the backfill message, set the maximum number of tag values sent per message

Advanced Sparkplug

...

Property

Description

...

Payload

...

On QoS 1 or 2 this will force eACM to republish the most recentl sent message if it lost the broker connection without confirmation that the message was received

Serialize Publishing

On QoS 1 or 2 ensures packages are published in sequence and only after the previous message receipt is confirmed

...

Compression

If selected, outgoing payloads will be compressed before being sent to the broker. There are 2 compression algorithms available

  • ZLIB RFC 1950 (DEFLATE)

  • GZIP

Publish Arrays As

If arrays of data are being published in the metrics, this option will determine how the array is published. The ‘String’ option will publish your data as a comma separated string value, the ‘Dataset’ option will publish your data in a single column dataset, and the ‘ByteValueArray’ will publish your data in its base64 byte value representation.

Include Tag Quality in Metrics

If checked, the tag quality of each tag will be published in the metric alongside the value of each tag

Include backfill in Birth Message

If checked, all backfill data will be sent in the DBIRTH message instead of the first DDATA message

Include Node Name in the Node Birth (NBIRTH) message

If checked, an internal string tag will be published in the NBIRTH message with the value matching the node name of this install

Include Node IP address in the Node Birth (NBIRTH) message

If checked, an internal string tag will be published in the NBIRTH message with the value matching the IP address of this node

Out of Schedule Publish allowed

When checked, if a majority of tags in a device have a quality change, then an out of schedule publish will take place. This allows the publisher to send DDEATH and DBIRTH messages when it loses and regains connection to an end device. If set to false device messages will be limited to only publish at scheduled times.

Delay Between Births

The minimum amount of time to wait between rebirth messages, if a rebirth request is issued

...

during the delay the next birth message will not be sent until after the

...

delay

Publish Device Death

When enabled, DDEATH messages will be published when an end device loses connection

Advanced MQTT

...

Property

...

Description

Delay Between Publishes

...

The time

...

between published messages

Info

...

Information on the installed version of this object

MQTT Topic Examples

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 shoudl appear in the broker?

When the publisher first starts, there will be a node birth:

Code Block
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:

Code Block
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:

Code Block
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:

Code Block
spBv1.0/LocalGroup/NDEATH/FirstNode

...