# Edge MQTT Pub/Sub Capabilities

**URL:** <https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937>\
**Category:** Ignition\
**Created:** [June 30, 2025, 3:14pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937 "2025-06-30T15:14:59Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 3:14pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/1 "2025-06-30T15:14:59Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 30, 2025, 3:22pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/2 "2025-06-30T15:22:12Z")

</div>

You would need the MQTT Transmission module on Edge gateway.

See [MQTT Transmission - MQTT Modules for Ignition 8.x - Confluence](https://docs.chariot.io/display/CLD80/MQTT+Transmission)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 30, 2025, 3:27pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/3 "2025-06-30T15:27:49Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 30, 2025, 3:28pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/4 "2025-06-30T15:28:37Z")

</div>

Ooh, right, I assumed Sparkplug.

---

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 3:37pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/5 "2025-06-30T15:37:49Z")

</div>

> [@pturmel](#):
>
> as long as you are using Sparkplug as your MQTT format

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

> [@pturmel](#):
>
> Edge devices will permit writeback via **commands** to tags that the module is publishing

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?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 30, 2025, 3:41pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/6 "2025-06-30T15:41:09Z")

</div>

> [@pridesleap](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 30, 2025, 3:43pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/7 "2025-06-30T15:43:00Z")

</div>

> [@pridesleap](#):
>
> I am using HiveMQ as the cloud broker which I believe supports Sparkplug.

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.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [June 30, 2025, 3:50pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/8 "2025-06-30T15:50:27Z")

</div>

> [@pturmel](#):
>
> 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.

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

---

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 5:11pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/9 "2025-06-30T17:11:41Z")

</div>

> [@Kevin.Herron](#):
>
> What matters more is that whatever will be consuming / subscribing to this data on the other side also understands Sparkplug.

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.

> [@pturmel](#):
>
> 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.

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?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 30, 2025, 5:52pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/10 "2025-06-30T17:52:50Z")

</div>

> [@pridesleap](#):
>
> from the two remote systems

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

---

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 5:55pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/11 "2025-06-30T17:55:06Z")

</div>

> [@pturmel](#):
>
> Not sure if it supports **two** command sources.

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

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 30, 2025, 5:57pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/12 "2025-06-30T17:57:16Z")

</div>

You have exhausted my experience with MQTT.

---

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 8:17pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/13 "2025-06-30T20:17:04Z")

</div>

> [@Kevin.Herron](#):
>
> You would need the MQTT Transmission module on Edge gateway.

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?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 30, 2025, 8:18pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/14 "2025-06-30T20:18:04Z")

</div>

Yeah that's right.

---

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 8:22pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/15 "2025-06-30T20:22:17Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 30, 2025, 8:32pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/16 "2025-06-30T20:32:57Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![pridesleap](https://avatars.discourse-cdn.com/v4/letter/p/f4b2a3/32.png) [@pridesleap](https://forum.inductiveautomation.com/u/pridesleap)\
**Post date:** [June 30, 2025, 8:37pm UTC](https://forum.inductiveautomation.com/t/edge-mqtt-pub-sub-capabilities/107937/17 "2025-06-30T20:37:58Z")

</div>

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.
