On Change node not storing previous value when taking false path


I am trying to use the On Change block to send an email when a value (water level) changes more than 5 units.This tells me when the sump pump has run. The level will be at 14 inches, and the next report it will be at 4 inches.

This does seem to work, but in testing I am seeing a strange behavior when just watching it take the false path.

I am placing the Previous values in working.previousValue, so I end up with working.previousValue.time and working.previousValue.value

From reading the docs, I thought working.previousValue should update every time, regardless of the True/False result of the comparison?
I expect the data.value to be 11.2 and working.previousValue.value = 11.0.

In actuality, it seems that previousValue only updates when the condition was evaluated to be true.
I can tell this because the previousValue.time does not change on these runs (every 15 seconds or so), until the condition is met, and then previousValue DOES change.

Can anyone please clarify for me, for an OnChange node, when Previous Value is supposed to be updated?

Adding Screenshots:

Here is that previous Report, as well as a screenshot of my flow.

Hi @Kyle_Stokes1,

I am following your use case very well so far, thank you so much for your detailed explanation!

The On Change Node will “reset” that value and timestamp whenever the “change case” occurs. So, for example, let’s say my On Change Node is looking for any change. If I am sending 10 to my On Change Node and then send 11, resulting in a true path, the timestamp recorded is when that change to true occurred. If I continue to send 11, the timestamp will still be for the first 11. The node is comparing incoming values to the value that “changed” the path of the node. So the “previous value” and timestamp will change when the path is switched from false ti true.

If you’d like to store the last value regardless of true or false paths, you can utilize workflow storage. The workflow storage interface lets you view and manipulate workflow values that are persistent (accessible for each workflow run).

In order to store the last available values and timestamps, the nodes you would want to make use of are the Storage: Get Value and Storage: Set Value nodes. This will allow you to reset the values for each run.

Thanks so much!

Thank you Julia,

My concern is that it is not updating when it follows the False path (change did not occurr, according to rule).
But the docs indicate it should update the value regardless of the path taken?

Am I mis-interpreting this?

Hi Kyle,

I do agree that this documentation is unclear. I am updating this currently and will reach out again once the changes have been released.

Thanks so much,