Transaction group executing without tag change

I'm having an issue with a transaction group that is only supposed to execute when values have changed. I have set up two transaction groups this way already in this project, and they are functioning. This group however, executes on the timer, and writes the tag values to the database regardless of whether a tag has changed value or not. I've even limited the "tags to watch for change" to a single tag that I know is not changing (expression tag). But the transaction group is still writing to the database on the timer interval.

Anyone had this happen before?

Are you sure it is really that TG? (Try disabling it and see if data still shows up.)

Have you verified that the QualifiedValue for this tag is not changing? While the value might not be changing, the quality &/or timestamp might be.

It is definitely that transaction group, as I'm just setting it up, and the table is new (created by that TG).

I assumed that the TG was just looking at the actual value, not the QualifiedValue. Is there a way to change that for the transaction group? While the QualifiedValue shouldn't be changing, there is the possibility that it is...

The User Manual page for the Trigger Settings mentions Quality/Value being considered:

You could enable storing the quality codes on the group to confirm the suspicion. You could also verify if the tags are changing by adding temporary logging to the tag changes related to the TX Group.

OK. Assuming that it is a tag quality change that is triggering the TX group log, is there a work around to get the TX group to log strictly on tag value change? I feel like this is the functionality that most situations call for.

Off the top of my head, you would probably need to make a custom script.

Before that, I recommend never assuming anything, and always testing. Maybe there is a value that is not obviously changing. You said you limited it to a single tag, prove that the tag quality is changing and causing the execution. Once you prove it, then move forward with theorizing workarounds.

Quality changes are significant, they could indicate the incoming value is not accurate, so I am not surprised the transaction group considers it a change worth tracking.

If your group can be triggered by a single expression tag, but you only want to do it on pure value changes. You could setup a change script on that tag, that checks on the incoming value for each change/quality for each change. You can write logic to flip a separate Boolean, for the conditions you want. Now that separate Boolean can be used as the value-only-trigger, you can reset it with the TX Group handshake settings.