![]()
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 useddesired, each one should be associated with a unique Server Set.
...
The MQTT Engine > Servers (> Advanced ) tab section contains the Filtered Namespaces configuration.
...
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.
...
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 to all servers in allows for a namespace to be associated with a specific server set. If connection is switched to another server within the same server set, filtered namespaces are applied.(s) and applies to all servers in the server set.
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 a Server Set for the Sparkplug B namespace only with Set 1 will disable the namespace for all the two server connections associated with the server setSet 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.