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)
- 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