Help with my rule Dryer notification

I am setting up a rule to tell me when my dryer is done using vibration. It’s works per se, but if I open the dryer door ( essentially setting sensor to ‘active’ I get a Dryer done message, even if doesn’t stay active for 5 min. Screenshots included.

Sorry it’s in two pieces, on a phone.

You should use the built-in Notifier app for this.
It will let you select a vibration sensors and the time period it needs to be inactive for before you are notified.

Maybe I’m wrong but I don’t think that app allows for the complexity I am seeking. Since the vibration sensor may be activated by other activities, the process should only start once it has been active for 5 min (assuring the dryer is on) and then notify once it’s been inactive for 2 minutes (assuring dryer is off).

1 Like

You can do this with RM, but if you're not committed to it I would recommend you take a look at Better Laundry Monitor. It's designed for exactly this kind of use case. GitHub - HubitatCommunity/Hubitat-BetterLaundryMonitor

1 Like

You're correct, the Notifier app is not meant for the use case you describe.

I'm curious - which vibration sensor are you using?

@aaiyar Smartthings multipurpose v5.

Can someone look at the rule and help identify why it is behaving the way it does. Basically, the 5 minute delay does not appear to work. I get a Dryer is Done message anytime it goes from inactive to active and back again.

@dman2306 My understanding is that BLM is using power consumption and not vibration which is what I wish to use.

I believe the newer version supports both. There is an option you set. I have power metering so I haven’t tried vibration but I believe it has what you’re looking for.

Ah yes, I see there is a newer version than I used previously. I will give it a try, however, I would still be interested to know what is the issue with my rule.

I think your delays are wrong which is causing the issue.

Cancel delayed actions should not be delayed. You only need 1 of these and as the very first action in the rule to run.
Set running to true is what needs the 5 minute delay.
The delay of 1 minute isn't needed. You should delay the notifications and running to false by 1 minute.

Also you should change the else to else-if and can do away with the nested if statement.

Do you mind to write up example for what you mean? Thanks!

I think this will work.

You will only ever be notified if the dryer has been running longer than 5 minutes. (e.g. if you only run it for 4 minutes then stop it you won't be notified.)
This will restart every time the sensor becomes active.

If you stop the dryer you have 1 minute before you are notified and if it restarts in this minute you won't. This also won't restart he 5 minute requirement. (e.g. run the dryer for ten minutes, stop for 30 seconds run for 2 more minutes and you will still be notified.)