Better Laundry Monitor Port & Update

Hey all, I grabbed the "Better Laundry Monitor" from Kevin on the ST forum as I like that it can use outlets with power monitoring:

and made a few modifications to it to suit my needs.

#1 - his power variables were numbers, I allowed them to be decimals. Most people don't need this but the outlet I'm using (ZEN15) is pretty sensitive if you ask it to be and I was playing with getting my washer to trigger accurately.

#2- I added a "delay" trigger for turning off. Left blank it does nothing. Enter a number (1-3 is typical) and it will help with washers (or gas dryers) which tend to drop down to very lower power usage during the cycle. My washer was dropping BELOW the "Off" state as it was transitioning between parts of the cycle. I was tweaking the time between power reports but just couldn't make it reliable.

A delay will require the power usage to drop below the threshold for more than one reporting. In the case of my washing machine on a ZEN15 I have it set for 3. If the wattage goes above the turn off threshold at any point the delay resets. This way once the washer is below the threshold for 3 reporting increments (I have my Zen15 set to 5 seconds, so for 15 seconds) it will call it off. It got rid of false positives because of how low my washers power usage can get during a cycle.

I didn't have to use the delay at all on the dryer to get accuracy.

I didn't add a delay to the start as that was reliable due to how high you can set that threshold for most devices.

I'm using the Speak Via the Pushover Integration for my notifications.

My version:


Slow day. Converted to Parent-Child App.

Sadly, I haven't done any Laundry to test it!! But the Child code is identical to the Original, so it should.


Thank you both

This is a great app!

Is there a way to add a virtual switch to the app to be able to know and keep track of the state of the laundry machine?

@bill.d are you suggesting adding a selection for a Device as part of the notification?


maybe this??

I want to know when the device is running by looking at the status of a switch.

It looks like all one would have to do is track atomicState.cycleOn status in a switch.

I'm not a programmer, so it would take me a lot of trial and error and example searching to do.

I guess one could add an optional notification for the start of a cycle too.

What Energy Switch are you using? I have both a Dome and an Aeon. Both provide "acceleration" and other values that can be used to display the status.


I've got the Zooz. I'd like to see "On" or "Off" instead of some decimal number. As I'm still pretty new, I've just barely looked at dashboards. Is it possible to show a number greater than a threshold as "On"?

The two Acceleration tiles are on/off (showing as off).

these are the values available from the Dome driver:

Current States

acceleration : inactive
contact : open
current : 0.00
currentH : 0.08
currentL : 0.00
energy : 0.00
energyCost : 0
energyDuration : 3.74 Hours
energyTime : 1535581124362
lastCheckin : 1535594584220
power : 0.00
powerH : 10.77
powerL : 0.00
prevEnergyCost : 0.02
prevEnergyDuration : 51.8 Minutes
status : on
switch : on
voltage : 122.39
voltageH : 126.42

When I switched to the Zooz driver, they looked very similar.

The Child driver has been updated to v1.3.

The state of the Switch(es) are set to On when the PowerMeter of the monitored device goes above the Threshold. The Switch(es) are set to Off when the cycle ends (after the delay count.)

I tested with a several Virtual switches and created a virtual power sensor driver for testing. It all virtually worked :slight_smile: (A virtual joke for those keeping virtual track. :smiley: )


For that, I gave you a virtual :heart:. :laughing:

1 Like

Just what I was looking for. Thanks!

Nice! I had just added this to my local version yesterday and had sloted time to check it into the public version today.

I would say there is another option I might add, which is "turn on a switch after the cycle ends" and possibly even "set a bulb color when a cycle ends" -- my wife doesn't watch her phone very closely with the kids so being able to set the under cabinet RGBW strips to an obvious color when the load finishes (or turn on a light somewhere) might be more useful than a text.

Oh and sidenote, this app works great for toaster ovens and what not (I can't here the Pizzazz ding from downstairs in my office when I'm re-heating things...) so that's a plus if you've got a heavy duty plug.

You can use RM to handle the End of Cycle rituals... "When VSwitchBLM001 goes to off, then turn on RGB light to purple" kinda thing. But it won't go On again til the next load of Laundry. Tomorrow? The weekend?

Which is why RM seems like a better solution.. you can have the "purple" last for 15 mins, for example.

1 Like

How about this:

This sets the Private Boolean of the message rule to true when the voltage kicks up:

This sits there and cycles away. The PB becomes true, but the voltage will go false when the washer cycles. It will continue that way due to the "Delay by 1 minute Cancel" My washer takes at most 45 seconds to complete a drain/fill cycle. If your washer takes longer to cycle, then increase the delay. Now you can set a whole list of actions including bulb color.

1 Like

Update: The one rule for both didn't work out so I'm back to two rules.

okay...I did a bit more testing and I got them down to two rules.

The trick with the dryer was to find out how much wattage the dryer used with the door open. This included the control panel and the light bulb being on (15.338 watts). I hadn't thought about this before and wondered why I'd get notified it was finished even if I just opened the door. That led me down the private boolean path when I should have gone down the wattage path.

The washer rule really came down to the delay. My washer does a bit of maintenance after the final rinse and I wasn't accounting for that.

Seems setting modes wont stick.

A suggestion for the cycle start. My zooz zen 15 will randomly report bad power (only 1, reporting 10 seconds) : Washing Machine power is 805308.083 W this triggers the cycle start, then the new reports are normal (< 2 watts) and the cycle end triggers. Perhaps adding the cycle start after X reports just like the ending.

I originally had that after I built the configurable wait/triggers for the ending but I realized that I could set my starting wattage up quite a bit (just so long as each cycle hits at least that much somewhere in the cycle) to prevent false starts as I wasn't timing the load, nor did I care that one started (I'd pushed the button after all, I knew it started) but that said It'd be trivial to add the option.