Edge MQTT Pub/Sub Capabilities

Apologies if this has been asked before. My searching wasn't finding a clear answer and infact only confused me even more. I am confused as to what the capabilities of Ignition edge are, specificaly regarding MQTT publish and subscribe to a cloud broker.

My test system consists of an Ignition Edge device and a cloud based MQTT Broker.

I am of the understanding that Edge can only publish data to the broker but not subscribe to data from it. However, I read the forums and it appears that this is indeed possible. To be clear, I need to be able to write data to the edge device from the broker, which I believe means I need to subsctibe to it.

Can anyone confirm that the edge is capable of subscribing to a broker and if so, what license would I need to support this?

You would need the MQTT Transmission module on Edge gateway.

See MQTT Transmission - MQTT Modules for Ignition 8.x - Confluence

In Edge's Transmission module, as long as you are using Sparkplug as your MQTT format, Edge devices will permit writeback via commands to tags that the module is publishing.

For anything more, I believe you need the Engine module on Edge, which would have to be purchased on top of the IIOT/Panel base package. Note that you cannot price that on the website--call or email IA sales.

2 Likes

Ooh, right, I assumed Sparkplug.

I am using HiveMQ as the cloud broker which I believe supports Sparkplug.

As I understand this, I can write to an Edge tag (via command) as long as that tag is being published to the MQTT Sparkplug broker. Do I understand this correctly?

Yes. And if you are using Cirrus Link's Engine module on the other end in Ignition, simply writing to the tag on that end will generate the right command.

Most brokers support Sparkplug because it only relies on standard functionality of the MQTT spec (QoS 0/1, retain flag, will, etc..)

What matters more is that whatever will be consuming / subscribing to this data on the other side also understands Sparkplug.

1 Like

There is a settings on the gateway for engine that needs changed first to permit this to happen.

1 Like

There will be two other systems potentialy connected to the Broker. One will be a remote Ignition system and the other would be a server running a Node Red flow. Node Red supports sparkplug.

One of the remote systems on the other end will be a remote Ignition server.

As I understand this, The Ignition Edge server at the site should be able to definitely publish to the Broker. It should also (effectively) subscribe to the broker and receive commands from the two remote systems, so long as the broker itself suports sparkplug, the remote Node Red server suports sparkplug and the remote Igntion platform is running the Ignition Engine module.

Is this a correct interpretation?

Not sure if it supports two command sources. You might want to mock all of this up in trial mode.

Gotcha. How about it if was just either one or the other?

You have exhausted my experience with MQTT.

I think I see where I am getting confused here. Ignition Edge gateway just refers to the core Edge product line (used for both IIoT and Panel). Ignition Edge IIoT is bundled with MQTT transmission and other core drivers. It will support publishing and subscribing to a cloud broker so long as that broker supports Sparkplug and the transmission module is already publishing to the tags that I want to subscibe to?

Is this correct?

Yeah that's right.

Ok, progress.

So for my development test setup, I need to install Edge and then the MQTT Transmission Module on top of that. Additionaly, any other core drivers I may need to conenct to the edge device?

I think just the MQTT Transmission module, the IA driver modules will be included.

This may be different for installers, not sure if the MQTT modules are included/optional or what, I'm always working with the zip files.

I was originally just trying to clarify that the MQTT functionality you're looking for comes from that MQTT Transmission module. The actual version/edition of Ignition you use isn't really relevant - you just need to make sure it has the Transmission module.

Got it. From the Pricing page, it looks like the standard IIoT license comes with MQTT Transmission. Either way, I should have enough now to warrant building a test set up.

Thanks everyone for your input. Sometimes I make things far more difficult than they need to be.