Trying to build a Dryer Done Rule and Need Some Help

I'm trying to build a rule for when my dryer is done but I need some help. My power meter seems flaky sometimes and will report 0W even though my electric dryer is still running (Aeotec Heavy Duty Switch). So what I want to do is basically say:

Dryer Power > 100W - start the rule, my dryer is running
If power < 30W for more than 6 minutes, consider the dryer done and send a notification.

What I tried doing was setting up a triggered rule where it triggers on power > 100. Then I was going to set a condition for < 30 with a delay of 6 mins and cancel on truth change, but apparently I can't do a cancel because it's a triggered rule, not a regular rule. Anyone have any thoughts?

I use a condition instead of a trigger. My power sensor is pretty solid so I don't need a delay.

But nothing there ever requires it to go above a particular level. So like if someone opens the door causing the light to go on, and it goes from 0W to 5W, won't that say the dryer is done even though it never started?

The rule runs on condition change, i believe. So it only "gets triggered" when the condition occurs for the power to fall below 20 (eg. only when the dryer has finished its cycle). It's a really nice example of the power yet simplicity of some rules

This is a Rule that relies upon the characteristics of the power monitoring device as much as the Dryer itself.

Some power monitoring devices are exceptionally chatty. Apparently this one isn't.

The Rule is subscribing to the power sensor and if it sends 30 "power = 0" messages, there would be 30 voice actions too. This power sensor is a good one and there's no reason to deal with multiple messages. (false alarms) Additionally, it may have a substantial delay in reporting, such that 5 watts for <1 min isn't enough to report.

In other words, what's not shown is the specific details of the power sensor... because this Rule is working hand in hand with it's configuration. It's an excellent example.

I have a pair of the Aeon Smart Switch 6's for my washer and (gas) dryer. They have these configuration options:

Also not shown is the 8 hours spent pouring through logs to get the precise details of what a dryer cycle looks like to the hub :smiley: Then building a rule that matches :smiley:

@Angus_M is spot on here. With RM being event based, the power has to drop below 20 before something will happen. I chose 20 for the reason that it gave enough of a buffer above the door opening event to not trigger the alert. And, since I don't have a repeat statement, it only happens once. So even though the rule is True right now, I won't hear a message until the next time the rule cycles to false (Dryer is on) and back to True. It took me a while to get the event driven model. I was using SmartThings and WebCoRE so it was a bit of a shift.

The power unit I'm using is a Zoos ZEN-15. I use the same one with the washing machine and have virtually the same rule except for the power level and I use a delay with cancel due to the cycling nature of my washer.

Here is my Zooz config:

Actually, it is a lot simpler than these other explanations. Rules only execute their actions when the rule's "truth" changes. So, the true actions happen when the truth changes from False to True and the False actions happen when the truth changes from True to False. So, that is why you only get the action when the power meter drops below 20. When it is still below 20 it is still True so the true actions don't happen again.

If you were to do a trigger for < 20, that would trigger the action every time the energy measurement changed and it was below 20.

I'm pretty sure the explanations above were pretty simple, but thank you for adding to it. Every little bit helps the adoption of this platform.

Another way of doing it... I tend to use virtual switches for things because then I can easily use them in other rules.

I have a separate rule for the notification when the vSwitch gets turned off. Clearly I could do that in this rule's "False" but that's just how I do it...