MQTT Recorder (Cirrus Link modules) does not resume recording after Ignition Gateway restart

Hello,
I am currently using Ignition 8.3.2 and MQTT Transmission + MQTT Engine + MQTT Recorder (Cirrus Link modules).
The system is configured correctly and works as expected under normal operation, data is properly recorded into the database.
However, I am experiencing an issue after restarting the Ignition Gateway:
After a Gateway restart, the MQTT Recorder does not resume publishing/recording data automatically. No new records are written to the database.
To restore functionality, I must manually navigate to:

MQTT Transmission -> Records -> [My Record] -> Advanced Settings -> Override Publish Tag ->Check the Override Publish Tag checkbox
-> Click Save -> Uncheck it again -> Click Save

After performing this procedure, the Publish tag appears as FALSE. I have a Gateway script that sets this tag to TRUE, and Recorder then automatically sets it back to FALSE as expected.
At this point, recording resumes normally.

It appears that after a Gateway restart, the Recorder does not properly detect or reinitialize the Override Publish Tag state.
My questions are:
Is this expected behavior?
Is there a recommended way to ensure MQTT Recorder resumes recording automatically after a Gateway restart?
Is there a configuration setting (for example related to NBIRTH handling, initial publish behavior, or session recovery) that I may be missing?
The system is using Sparkplug B and the Override Publish Tag mechanism to trigger recording.

Any guidance would be greatly appreciated.

1 Like

I would try posting this on the Cirrus Link board, including versions of all the modules you are using (and also doing that here). I don’t believe this behavior is expected. My first thought is to check out known issues with your module versions and upgrade if deemed necessary. Sorry I can’t help more specifically.

1 Like

Summary / Solution

This issue was confirmed to be a bug in Cirrus Link MQTT modules (v5.0.x on Ignition 8.3.x).
After a Gateway restart, MQTT Recorder does not properly reinitialize the Publish Tag, so recording does not resume automatically.

Workaround:

Automatically refresh the Transmission Record configuration after restart:

system.cirruslink.transmission.setConfigEnabled('record', 'Data Record', False)
system.cirruslink.transmission.setConfigEnabled('record', 'Data Record', True)

Replace 'Data Record' with your actual Record name.

Run this in a Gateway Timer Script (with a short delay after startup)

  1. This replaces the manual “Override Publish Tag - > Save” step

Status:

  • This affects setups using Sparkplug B + Override Publish Tag

  • Bug acknowledged by Cirrus Link

  • Fix planned in a future release (no ETA)

  • Confirmed by both vendors


Implementation details

Implement this in a Gateway Timer Script (on Edge Gateway)
Add a small delay after startup (important!)
Startup Script does NOT work because MQTT modules are not fully initialized yet

The script:
Disables the record
Re-enables it

This forces reinitialization (same effect as manual Save)
After this:
Publish Tag behaves correctly again
Your existing logic (set TRUE -> auto reset to FALSE) works as expected
Recording resumes automatically