[FEATURE] Allow reference tags to receive backfill data from sources like MQTT tags

At the moment, if you have MQTT Engine connected to a device, and Ignition reference tags to reference the MQTT tags with history on, backfill data from MQTT doesn’t transfer to the reference tag if the connection to the MQTT device goes down.
If you enable history on the MQTT tag itself, then it backfills fine once connection to the MQTT device is re-established.

It would be great if this backfill data was transferred across to the tag(s) that reference it.

Idea: Allow reference tags to receive backfill data from sources like MQTT tags | Voters | Inductive Automation

5 Likes

That would be nice!

This is possible to impliment this via scripting,we have this feature working ,where the mqtt history of tag is backfilled and then is copied to any tag that references it.

This is build into Ignition now. I have tested this and seems to work perfectly.
You need to set this property on the MQTT Engine:


and this one on your reference tag provider:

So you’ve tested this with reference tags that reference mqtt tags, and the reference tags receive backfilled history in the case of a drop out?

So I updated to 4.0.9 from the Ignition modules download page and I can’t find the “Allow Back fill data”. Is there some version I’m not seeing? What version are you running of the engine and transmission?

Not built into MQTT, but built into the Ignition platform.

Exactly!!

It’s a setting on your tag provider.
I’m running 8.1.10 and 4.0.9.

OK, I’ve checked both boxes, and even restarted Ignition and still can’t get it to work. I’m just using the simulator on my desktop but running Ignition 8.1.11 and 4.0.9 of the plugins. To test it I just disabled the Engine which causes the Transmission to start storing the data. I let it sit for a bit and re-enalbed the Engine and my MQTT history fills in, but my tag referencing the MQTT tag never does.

Am I missing something else?

I’m also experiencing some unexpected behavior when forwarding data to reference tags. It looks like I’m only getting 2 minutes of backfill. This graph shows the source tag (Blue) with all the forwarded data backfilled, a derived tag (Red) with none of the historical backfilled, and a reference tag (Green) with only two minutes of backfilled data. Is this a setting I can adjust somewhere?


I am running version 8.1.10

How long have you waited? I think backfill data arrives really slowly (from what colleagues have said):man_shrugging:

So far it has been 15 hours.

I have gotten some clarity on this. The key is that all data should come into the system in chronological order. If that condition is met then all data will propagate to the correct history locations - including any reference tags that use that tag source.
If a data point comes into the system with a timestamp older than the current value’s timestamp you have two choices: 1. Ignore the timestamp and treat it like it is “now” data. 2. Enable back fill on the provider so that the timestamp is respected, but if it is older than the current value, it will only go into history and not update the tag value. That means that any reference tags that used that tag source will never see the value and therefore never make it into history.
So in summary - as long as the forwarded data comes in chronologically, everything will work by default (even without the backfill option enabled).