MQTT Engine (Ignition): Namespace Advice/Issues

We have a multi-site application we are working on where the Namespace Hierarchy needs to be organized by Company or Business unit followed by various levels that further breakdown the hierarchy (see figure).

The issue we seem to be having is that when we implement the hierarchy we get a conflict in the data coming in as the devices at the Equipment level are from different locations and are (obliviously) different EoN.

Do you have any advice on how we can achieve our Hierarchy and have multiple field devices?

The only hard requirement is that each MQTT client in the system have a unique combination of Group ID and Edge Node ID. In this case that is you couldn’t have two Edge Nodes using the same company name and plant name. So, this only allows for one edge node per plant which probably isn’t ideal. As one option, you could combine the plant name with area name. For example:

Group ID = company name
Edge Node ID = plant name combined with area name (i.e. plant1_area3)

Obviously this means you could only have one edge node per area. But if this is ok, this could work for you.

Hmm…Just to be clear, I am not using the MQTT Group ID and Edge Node ID in the namespace. I am using Ignition’s name space only. (Fields are blank in the configuration of Gateway for MQTT Group/Node IDs)

Oddly the system (Designer) allows me to configure this architecture without constraint, but it was only when I noticed the unusual data quality color changes and the fact the the “heartbeats” were not displaying did I realize that this namespace design had problems. (see figure below)

The edge side (MQTT Transmission) really defines the Sparkplug IDs that are used to define the layout that is shown in MQTT Engine. I’d recommend reading this document: MQTT Transmission Transmitters and Tag Trees - MQTT Modules for Ignition 8.x - Confluence

It should provide some additional context.