MQTT in general is considered a lightweight protocol however there are some additional configuration options to further reduce the overall bandwidth when using Ignition and MQTT modules over a cellular connection.

Set appropriate deadbands on Edge side tags 

Setting the deadband value on the Edge side tags can reduce the amount of tag changes going from Edge to Engine for tags whose values change by small amounts.

Refer to Ignition's Tag Properties on how to configure these properties.

At Transmission and engine, the Deadband and Deadband Mode properties are filtered by default and are not included when tags are published.

Review the MQTT Transmission Configuration and MQTT Engine Configuration documentation on how to remove these properties from the Filtered Properties list.

Use PrimaryHostId at Engine and Transmission 

Using the PrimaryHostId at Engine and Transmission can cut down on unnecessary rebirth requests from Engine.

The primary host ID is an ID to identify the main application that is receiving the MQTT data to guarantee that we don't lose the data and ultimately deliver it to the applicationThe ID is used for state notifications which are used to notify the Edge Node if the primary application goes offline.

Review the MQTT Engine Configuration documentation for setting and enabling the Primary Host ID.

Review the MQTT Transmission Configuration documentation for setting the Primary Host ID.

Configure Transmission to convert UDTs

Unless absolutely necessary, it is recommended that MQTT Transmission is configured to convert UDTs.

This will cut down on the size of Birth message by excluding UDT definitions and the tags representing the UDT member will retain their member path prefixed by the UDT Instance name.

Review the MQTT Transmission Configuration documentation for enabling Convert UDTs.

Enable compression and/or aliasing at the Edge

Enabling compression and/or aliasing at the Edge can reduce overall Sparkplug MQTT message size.

For aliasing, tag names are replaced by aliases in order to optimize payload size when publishing data. 

For compression, either the DEFLATE or GZIP algorithm can be used to use to compress payloads before they are published.

Review the MQTT Transmission Configuration documentation for enabling Aliased Tags and Compression.

Include only the necessary tag properties in Birth messages

Both Transmission and Engine supported a Filtered Properties list to filter/block non default tag properties from being published in birth messages.

Do not “unfilter” unnecessary tag properties by modifying the Engine and Transmission “Filtered Properties” list to include non-default tag properties in Birth messages

Review the MQTT Engine Configuration documentation for setting the Filtered Properties

Review the MQTT Transmission Configuration documentation for setting the Filter Properties



Additional Resources


  • No labels