Contents
Cirrus Link Resources
Cirrus Link Website
Contact Us (Sales/Support)
Forum
Cirrus Link Modules Docs for Ignition 7.9.x
Inductive Resources
Ignition User Manual
Knowledge Base Articles
Inductive University
Forum
MQTT Engine has a number of configuration options that provides provide flexibility when connecting and subscribing to servers.
...
If multiple concurrent server connections are used desired, each one should be associated with a unique Server Set.
...
The MQTT Engine > Servers (> Advanced ) tab section contains the Filtered Namespaces configuration.
...
This filter applies to both the default namespaces (Elecsys, Xirgo, Sparkplug A and Sparkplug B) and any custom namespaces configured.
Note |
---|
The ‘Filtered Namespaces' are applied to the respective server only. If connection is switched to another server within the same server set, filtered namespaces are not applied. If multiple server connections are assigned to a set, it is recommended to use the MQTT Engine Namespaces Default - Sets configuration option as this applies to all servers in a set. |
Example
A system with Edge devices publishing using the Sparkplug B protocol to Server A and Edge devices publishing MQTT messages to another Server B.
MQTT Engine will have two server connections configured:
In this instance the Access Control Lists (ACLs) on Server B may not allow for the subscriptions required by MQTT Engine for the Sparkplug B protocol. Setting the Filtered Namespaces for the MQTT Engine Server configuration for Server B to "Sparkplug B" will disable the namespace for this server connection.
Anchor | ||||
---|---|---|---|---|
|
The MQTT Engine Namespaces > Default > Sets tab allows for specific Server Sets to be associated with the namespace.
This configuration expands on the MQTT Engine Servers - Filtered Namespaces by applying allows for a namespace to be associated with a specific server set(s) and applies to all servers in a specific the server set. If connection is switched to another server within the same server set, filtered namespaces are applied.
Example
A system with Edge devices publishing using the Sparkplug B protocol to Server A using Set 1 and Edge devices publishing MQTT messages to a failover server pair Server B and Server C using Set 2.
MQTT Engine will have three server connections configured:
In this instance the Access Control Lists (ACLs) on Servers B and C may not allow for the subscriptions required by MQTT Engine for the Sparkplug B protocol. Associating the Sparkplug B namespace only with Set 1 will disable the namespace for the two server connections associated with Set 2.
Anchor | ||||
---|---|---|---|---|
|
The MQTT Engine Namespaces > Default > Filters tab allows for specific Group or Group/EdgeNode combinations to be included in the MQTT Engine subscriptions to specific MQTT Servers.
This allows you to exclude incoming messages from being parsed at Engine using the configured namespace.
Note |
---|
The ‘Filters' are applied to the respective server(s) only. If connection is switched to another server within the same server set, filters are not applied and the required Sparkplug B subscriptions will be used. Ensure that any Access Control Lists (ACLs) configured on the server match the Group or Group/EdgeNode configured in the Namespace Filter |
Example 1 for the Sparkplug B namespace
A system with three Edge Nodes publishing data using the Sparkplug B protocol with Groups IDs Edge1, Edge2 and Edge3 where we want to limited MQTT Engine to data coming from Edge2.
Setting the Sparkplug B Default Namespace Filters for a Group ID to of 'Location1' will limit the subscriptions on the specific server to:
Setting the Group ID to 'Location1' an Edge Node ID to 'Stream1' will limit the subscriptions on the specific server to:
...
Edge2' will ensure that only this Group ID will be included in the MQTT Engine subscription.
Example 2 for Sparkplug B namespace
A system with one Edge Node configured with two Server connections - one using the Sparkplug B protobuf format and the other using the Sparkplug B JSON formats.
The Edge Node has two Transmitters, one using each server with unique Sparkplug Group IDs of "Group1JSON" and "Group1".
Setting the Sparkplug B Default Namespace Filters for a Group ID of 'Group1' will ensure that only this Group ID will be included in the MQTT Engine subscription and MQTT engine will never receive the JSON formatted Sparkplug B messages.
...
Custom Namespaces are are used to provide support for generic, non Sparkplug compliant MQTT messages with string based payloads.
The MQTT Engine Namespaces > Custom > Sets tab allows for specific Server Sets to be associated with the namespace.
This configuration expands on the MQTT Engine Servers - Filtered Namespaces by applying allows for a namespace to be associated with a specific server set(s) and applies to all servers in a specific the server set. If connection is switched to another server within the same server set, filtered namespaces are applied
Example
A system with Edge devices publishing using the Sparkplug B protocol to Server A using Set 1 and Edge devices publishing MQTT messages to a failover server pair Server B and Server C using Set 2.
MQTT Engine will have three server connections configured:
In this instance, associating the custom namespace only with Set 2 will disable the namespace for the single server connection associated with Set 1.