Versions Compared

Key

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

When Store and Forward is enabled and the edge node detects a disconnect to the MQTT Server, tags will be stored locally in a history store. How quickly the edge node detects the disconnect and starts to store the data will minimize the data loss when using MQTT Store and Forward and there are a couple of configuration parameters that can assist with this

MQTT Transmission Keep Alive

...

Warning

Setting the Keep Alive to a short interval will increase the data traffic over the TCP connection in the event that the client is idle.

Setting the Keep Alive to 0 will disable the Keep Alive functionality

MQTT Transmission Primary Host

Note
The notion of Primary Host ID is part of the Sparkplug B specification and, as such, both the main application and edge nodes in a system will need to be Sparkplug compliant

...

If your system is fully Sparkplug B compliant, you can also use Store and Forward to ensure that data is buffered locally in the event the main application is offline but the client side is still connected to the server. The MQTT Sparkplug B specification defines a way for subscribing clients (such as MQTT Engine) to notify publishing clients (such as MQTT Transmission) via a STATE message when they are

...

ONLINE or

...

OFFLINE. The publishing clients can then key off a particular subscribing clients status to do different things when that subscriber status changes either to offline or online.

MQTT Transmission

...

uses this functionality to enable the store and forward of tag changes within the module. 

MQTT Transmission Primary Host ID

When Primary Host ID is configured, and MQTT Transmission will subscribe on STATE notification topics. If MQTT Transmission is notified that the primary backend application, configured in the Primary Host ID, has gone 'OFFLINE', it will close it's client connection with the MQTT server and walk to the next MQTT server defined in the set. Data will be stored locally until the state of the primary host is "ONLINE" when any stored data will be published.

Note
The notion of Primary Host ID is part of the Sparkplug B specification and, as such, both the main application and edge nodes in a system will need to be Sparkplug compliant