Versions Compared

Key

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

...

MQTT Transmission provides a mechanism for publishing MQTT Messages from an Ignition script.  This can be useful for general messaging outside of Sparkplug.  For example, one may want to interface to another system that uses MQTT.  This method allows arbitrary MQTT messages to be published based on events that exist in Ignition.

title
Note
Warning
Note

MQTT Transmission must have a client connection an RPC client enabled and connected to a broker/server to use the publish mechanism.  Be sure to Enable the RPC Client Connection in your Transmission Server configuration.  This is configured here under the Advanced Server Section in the:


Note
titleNote

Prior to release 4.0.18 , configuration for the RPC Client was under the Server Advanced

For release 4.0.18 to 4.0.22, configuration for the RPC Client was under the Server RPC Client Connection

For release 4.0.23 and newer, configuration for the RPC Client is under Server RPC Client Connection and Sets RPC Client

Server Settings - RPC Client Connection


MQTT Message Publishing via Ignition Script:

...

Note

Prior to release 4.0.22, MQTT Transmission has a max inflight message limit of 10. Depending on the frequency of MQTT publishes and the QOS selected, you may see the error "Too many publishes in progress" in the Ignition logs.

There are a couple of options to work around this now:

  • Slow down the publish rate if possible
  • Use QoS0 for publishing
  • Set up multiple clients and spread the load across them

The max inflight message for release 4.0.22 and newer is 500

Logging Errors

If you have not enabled the RPC Client under Sets RPC Client and attempt to perform the system.cirruslink.transmission.publish call, the logs will show:

Image Added


If the RPC Client is enabled under Sets RPC Clientbut is misconfigured under Server RPC Client Connection, the logs will show errors similar to the one below:

 Image Added

Additional Resources