Versions Compared

Key

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

...

  • Enabled
    • Whether or not to enable or disable MQTT Transmission from connecting to the configured MQTT Servers.
  • Primary Host ID
    • The primary host ID to use for 'state' notifications.  These notifications are used to notify MQTT Transmission if the primary backend application loses connection with the MQTT Server, meaning it has gone 'offline'.  If MQTT Transmission is notified that the primary backend application 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.  If the primary host ID is not set, MQTT Transmission will not subscribe on the notification topics and not receive any 'state' notifications.

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.

...

  • Client ID
    • Optional MQTT client ID to use.  If specified this will be used in the MQTT Engine connect packet when connecting to the server.   If left blank, a random client ID will be create of the form 'IgnitionTargetMT-xxxxxxxx-xxxx-xxxx'.  This should almost always be left blank. Do not use this setting unless it is an absolute required that a specific client ID be used for connection to the MQTT server.
  • Keep Alive
    • The MQTT client keep alive time (in seconds).
  • Random Startup Delay
    • The Random Startup Delay in milliseconds of the form 'min-max' where min is the low end and max is the high end of the random range. This will provide a random delay in the startup and connection of the MQTT Client with the MQTT Server. This is useful in use cases where large numbers of clients might be reconnecting simultaneously to the MQTT Server. By introducing a randomized delay, the rate at which clients will connect will be spread out over a period of time, reducing the load on the server.
      • Example: 1000-5000

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

Image Added

Image RemovedImage Added

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 Transmitters need to point to different sets (or groupings) of MQTT servers. The configuration options for sets are listed below.

...

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

  • Name
    • Default Transmitter
  • Enabled
    • Whether the Default Transmitter is enabled
  • Tag Provider Name
    • The name of the tag provider that Transmission will monitor.  By default this is the Ignition 'default' provider.
  • Tag Pacing Period
    • The buffer period for outgoing Transmission messages in milliseconds.  The default is 1000ms.  This means when a tag change event is detected 1000ms will elapse before an MQTT message is sent.  This allows additional tag change events to be buffered and put into the message and in turn reduce the number of generated MQTT messages.
  • Set
    • The Set that the default MQTT Transmission client will connect to.
  • Discovery Delay
    • An optional startup delay, in milliseconds, to wait before scanning for Tags to monitor. This is useful when Tags are dynamically created on initial startup, as is the case when using the MQTT Engine module.
  • History Store
    • The MQTT Transmission History Store to use with the Default Transmitter.
  • In-Order History
    • Whether MQTT Transmission will publish historical messages in-order upon reconnecting to an MQTT Server before resuming the publishing of live events.
  • Aliased Tags
    • Whether to use aliases for tag names when published data messages as tag values change.  This is used to optimize payload size when publishing data.
  • Compression
    • The algorithm to use to compress payloads before they are published to the MQTT Server.  If 'NONE' is selected then compression is disabled.
  • Block Commands
    • Whether to block commands and tag writes received as messages from the MQTT server.
  • Convert UDTs
    • Whether to convert UDT members to normal Tags before publishing.  If enabled the Tags representing the UDT member will retain their member path prefixed by the UDT Instance name.
  • Publish UDT Definitions
    • Whether to publish UDT definitions in the birth messages that are publish upon every connection or reconnection with an MQTT server.

Image RemovedImage Added

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.

Image RemovedImage Added

Each Custom Setting has the following fields

Tag Settings

  • Transmitter Name
    • The name of the Custom Transmitter Setting.
  • Enabled
    • Whether the Default Transmitter is enabled
  • Tag Provider Name
    • The name of the tag provider that Transmission will monitor.
  • Tag Path
    • An optional folder path under the tag provider where the root folder of the tags can be found.
  • Tag Pacing Period
    • The buffer period for outgoing Transmission messages in milliseconds.
  • Set
    • The Set that the Custom Settings client will connect to.
  • Discovery Delay
    • An optional startup delay, in milliseconds, to wait before scanning for Tags to monitor. This is useful when Tags are dynamically created on initial startup, as is the case when using the MQTT Engine module.
  • History Store
    • The MQTT Transmission History Store to use with the Default Transmitter.
  • In-Order History
    • Whether MQTT Transmission will publish historical messages in-order upon reconnecting to an MQTT Server before resuming the publishing of live events
  • Aliased Tags
    • Whether to use aliases for tag names when published data messages as tag values change.  This is used to optimize payload size when publishing data.
  • Compression
    • The algorithm to use to compress payloads before they are published to the MQTT Server.  If 'NONE' is selected then compression is disabled.
  • Block Commands
    • Whether to block commands and tag writes received as messages from the MQTT server.
  • Convert UDTs
    • Whether to convert UDT members to normal Tags before publishing.  If enabled the Tags representing the UDT member will retain their member path prefixed by the UDT Instance name.
  • Publish UDT Definitions
    • Whether to publish UDT definitions in the birth messages that are publish upon every connection or reconnection with an MQTT server.

Sparkplug Settings

  • Group ID
    • An ID representing a logical grouping of MQTT Edge Of Network (EoN) Nodes and Devices into the infrastructure.
  • Edge Node ID
    • An ID that uniquely identifies the MQTT Edge Of Network (EoN) Node within the infrastructure.
  • Device ID
    • An optional ID that uniquely identifies a Device within the infrastructure.

...

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

Image RemovedImage Added

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.

Image RemovedImage Added

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

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

Tag Settings

  • Tag Provider
    • The name of the tag provider (i.e. default)
  • Tag Folder Path
    • The path to the tag folder under specified tag provider
  • Record Type
    • Type of Record. This can be any label or identifier.

Sparkplug Settings

  • Group ID
    • An ID representing a logical grouping of MQTT Edge Of Network (EoN) Nodes and Devices into the infrastructure.
  • Edge Node ID
    • An ID that uniquely identifies the MQTT Edge Of Network (EoN) Node within the infrastructure.
  • Device ID

      Below is an example of a submitted record:

      ...

        • An optional ID that uniquely identifies a Device within the infrastructure.

      History
      Anchor
      History
      History

      ...