MQTT Transmission provides a configuration section to the Ignition Gateway.  These can be seen in the Configure section of the Ignition Gateway web UI. There are two configuration pages "History" and "Settings".                                                                  

Settings

Once in the "Settings" configuration section there are five tabs: General, Servers, Sets, Transmitters, and Records.  Each of these tabs is described in detail in the following sections.  

General

The General Settings tab contains advanced configuration options for the default MQTT Server settings created in the Servers tab.  These are described below.

Servers

The first tab is a list of MQTT Servers that MQTT Transmission should connect to.  By default, MQTT Transmission is configured to connect to a local MQTT Distributor based MQTT Server.  It is set up to connect to localhost, port 1883, using the default username/password pair of admin/changeme.  Out of the box MQTT Transmission will work with MQTT Distributor and its default configuration.

Additional or alternative MQTT Servers can be configured in MQTT Transmission.  Often times more than one will be configured to handle fail-over or in redundant or geographically distributed systems.  The configuration options for servers are listed below.

Main Properties

TLS Properties

Advanced Properties


Clicking on the 'Create new MQTT Server...' link will bring up the following form to add a new Server.

Sets

The Sets tab contains a list of server sets.  Each set represents a logical grouping of MQTT servers.  When a set is referenced by a Transmitter configuration a single connection to one of the servers in the set will be maintained. The other servers will act as failover in the case that a connection with the first is lost.  Server sets are disjoint, meaning that a single MQTT server cannot be in more than one set.

Additional sets can be configured in MQTT Transmission for situations where multiple Custom Settings will need to point to different sets (or groupings) of MQTT servers. The configuration options for sets are listed below.

Transmitters

Transmitters are the agents within MQTT Transmission that monitor tags, convert them to Sparkplug Messages, and publish them to an MQTT Server. Each transmitter is configured with a server Set and will attempt to maintain an MQTT client connection with one server in that Set at all times.

There are two types of Transmitters: Default and Custom.  These types are explained in more detail below.

Default Transmitter

MQTT Transmission provides a single Default Transmitter. The Tags that this Transmitter monitors must be placed in the "Edge Nodes" folder within the configured Tag Provider.  Their Tag paths must conform to the strict structure of:

<Provider>/Edge Nodes/<GroupID>/<EdgeNodeID>/<DeviceID

The individual elements of the above tag path (Group ID, Edge Node ID, and Device ID) are used when building up the MQTT message payload that will represent the Tags.

The configuration options for the Default Transmitter are listed below.:

Custom Transmitters

Custom Transmitters behave in much the same way as the Default Transmitter.  However, unlike the Default Transmitter, Custom Transmitters are not bound to a specific "Edge Nodes" folder and do not have any required folder path structure.  The Group ID, Edge Node ID and Device ID are explicitly defined in a Custom Transmitter configuration instead of inferred from the tag path, as in the Default Transmitter.  This allows Custom Transmitters to point at any folder in any provider and monitor the contained tags and/or tag folders.

Each Custom Setting has the following fields

Tag Settings

Sparkplug Settings

Note that if a 'Device ID' is not specified, any folder within the folder specified by the Tag Path will be considered a device folder and any Tags within it will be published as device Tags. 

Clicking on the 'Create new Custom Settings..' link will bring up the following form to add a new Server.

Records

The 'Records' tab allows user to create a table of custom records. Each record defines a folder (under specified tag provider) in which user can create a number of tags that will be published as a record by clicking the 'Publish' checkbox. The 'Publish' tag will be created automatically in the folder specified.

Clicking on the 'Create new Records ...' link will bring up the following form to add a new Record:

Each custom record has the following fields under two categories: 'Tag Settings', and 'Sparkplug Settings'

Below is an example of a submitted record:

History

The "History" page allows for the configuration of MQTT Transmission History Stores.  In the event that a Transmitter loses it's connection with the MQTT Server and is unable to reconnect, a History Store (if enabled) will store all messages corresponding to change events on the monitored tags.  Once a connection with an MQTT server is reestablished the History Store will publish the stored messages with a flag set to indicate that the messages are "historical" to prevent confusion with live data values.

Each History Store has the following fields