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.

Warning

MQTT Transmission must have an RPC client enabled and connected to a broker/server to use the publish mechanism


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


MQTT Message Publishing via Ignition Script:

...

Finally, save and publish the project.  At this point every time this tags value, quality, or timestamp changes it will result in a MQTT message being published on topic 'a/b/c' with a payload of 'hello world'.


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

...