Alarms via MQTT

I have a system that monitors several sites over cellular and I’m trying to convert these sites to MQTT via Ignition Edge IIOT. Each of these sites will have an Edge unit sending lots of data via MQTT to a central gateway where the users need to view history data, get alarm info, etc.

I’ve set up a test site where all of the tag info is being sent up and the history (configured on the engine side MQTT tags) works just as I would expect. The problem I’m seeing is on the alarming. If I configure alarms on the MQTT tags on the engine side, any alarms that occur during a network disconnect, do show up but their timestamp is essentially the time that the network connection is re-established. I need to know the timestamp of the alarm when the actual events occur such as active and cleared.

I’ve been told that the better way to handle this is to use the Gateway Network (GWN) instead of MQTT for handling alarms. While this does work as expected and will accomplish my needs, I question what this will do to the cellular data. The point of going to MQTT was to reduce the customers cellular data plan.

My questions are:

Is the best way to handle alarms to use the GWN vs MQTT?

Though I understand that alarms wont be happening very frequently, isn’t the use of the GWN the less efficient method? Did I really gain anything by using MQTT?

Will I see significant traffic/data usage due to the GWN because of any handshaking that goes on between Edge and the central GW (if any)?

Any feedback/advice would be greatly appreciated.

Can you set up a TAG that is actually the timestamp, and when the alarm event TAG is published just also publish the TIMESTAMP TAG?

This way even if the network goes down and comes back up and you still get your tags you would be able to see what time the “Alarm Event” was triggered.

Just an Idea??

I like the idea but after further review, and a conversation with Cirrus-Link, alarms shouldn’t be handled this way through MQTT. I have since configured Edge Sync Services for alarms. This plug-in does what I was looking for, in that alarms are stored and forwarded from the edge and show up at the central GW in order, with timestamps intact.
Although history data can be stored and forwarded the same way using Sync Services, I chose to keep historization on the MQTT tags. For reasons to do with the existing SCADA design (all existing templates with indirection are built pointing to tag paths that are OPC driven), i created reference tags pointing to the MQTT tags and my templates point to the reference tags so I can maintain a consistent path to the new devices.