Notification of no change

Hi,
I want to be notified if my fridge/freezer/pump does not run for some duration. What is the best way to do this ?

I tried the following rule


but it does not seem to run.

It seems that the "and stays that way for"... is for the whole rule, not for resetting a specific trigger. According to the logs, the power of my fridge/freezer did go from "running" (above 70W) to "idle", but the "Still waiting to stay ... for trigger" does not reset with a new trigger event. I would expect that the timer get reset if the power goes from above to below 70W, or from below to above 5W.

I'm not sure if this is still an issue but assume it is: it sounds like you're running into the issue noted (see the docs) when you have multiple trigger events specified that look at the same event/attribute.

Two separate rules should work for you, however--among other ways you might approach this (is there anything special about these levels or would a "changed" trigger -- normally a bad idea but possibly useful here -- work, for example?).

Thanks for the pointer.

I will try to split the rules.

A Ā« changed Ā» trigger would not work, because the power level can change somewhat when it is above 70W.

What I need basically is a Ā« did not change for 60 minutes Ā» trigger. But that does not exist, so I am trying to work around that.

Trigger event: Power *changed*

Actions to run:

Wait for event: elapsed time --> 0:60:00
// Whatever you want

But you also said

so I'm not sure if this is what you really want, given that these statements are contradictory.

In any case, if you want more or less what you have your original post, I think two separate rules will work.

Good luck!

Ah, I had in mind a trigger of the form "changed *and stay that way for..." (which does not exist)...

So, with the

Wait for event: elapsed time --> 0:60:00

the statement after gets cancelled every time there's a new trigger within 60 minutes ?

Yes, a wait gets cancelled on any re-trigger. See: Rule 5.1 | Hubitat Documentation

Ah, but then I need one rule per device. I think I would rather the trigger to be cancelled than the rule to be cancelled.

Something to think about.

If you use the Wait for 60, then you might be able to use required expressions.

Set the required expression as the same conditions as what you had for the trigger. Use changed as the trigger. Under actions, put your wait for statement and then have whatever notifications/other actions you want.

When the required expressions are no loger true, the rule will stop. If they are still true at the end of the wait, the actions will run.

You may need an exit for the situation where the condition continues to be true for longer than your wait duration. (Maybe a private boolean exclusion or some similar, just not sure how that might reset itself after the rule closes due to required expressions going false)

May also need a way to handle if the power is 0, as that likely would not change to trigger the wait.

:man_shrugging: