Better Laundry Monitor Port & Update

I'd suggest you revisit your "stop" threshold - I found setting the wait time to 3 mins on our dryer / Washing machine produced reliable results.

Dryer:

Washing Machine:

Fundamentally one needs to "plot" a cycle as reported by the sensor over time and then match the threshold values to where the start and end points occur. If they occur more then once, then the repeat counter needs to increment that many times.

3 Likes

I must have done a bad job with my explanations so I repeated the test with a new power plug I just got using a simple bulb for the load. Only so much laundry I can do.

As you can see from the pics I set the value for "Stop after power .... minutes:" at 2.
Turn on the load at 11:34:20 (6W)
Turn off the load at 11:36:14 (0W)
Hits the delay 1 times at this point.

If I understand correctly the app should have stopped at 11:38:14 when the power had been at 0W for 2 minutes. But as you can see that did not happen and the cycle continued until the deadman kicked in at 11:49.

Don't mean to belabor the point but I wanted to be sure you understood the scenario under which the program does not operate as I thought it was intended.

Thanks for a great app BTW, my wife thinks this is one of the best things about Hubitat.

image

"We hit delay 1 times." indicates that you have not yet hit the Sequential Readings loop counter you set = 2. The NEXT time you get a report less than 1W, the cycle would end.

Here's something to try since you've run out of laundry... :smiley:

Get that Driver, create a Virtual device to use it and build a BLM child that uses that as the sensor. Then you can just type in values into it's SetPower field and "do a load of Laundry" in seconds.

Using that, here's my logs:

dev:1   2022-03-12 02:39:01.899 pm info  pseudoSwitch was turned off
app:464 2022-03-12 02:39:01.892 pm debug Cycle finished after delay.
app:464 2022-03-12 02:39:01.882 pm debug banner: today at 2:39pm
app:464 2022-03-12 02:39:01.854 pm debug send: Gary's laundry is done!
app:464 2022-03-12 02:37:17.581 pm debug Power: 0W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:37:17.542 pm debug pseudoPowerPlug setPower: 0
app:464 2022-03-12 02:37:01.830 pm debug Ending duration is set, waiting
app:464 2022-03-12 02:37:01.811 pm debug Power: 0.1W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:37:01.771 pm debug pseudoPowerPlug setPower: 0.1
app:464 2022-03-12 02:36:57.538 pm debug We hit Power Delay 1 times
app:464 2022-03-12 02:36:57.513 pm debug Power: 0W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:57.430 pm debug pseudoPowerPlug setPower: 0
app:464 2022-03-12 02:36:47.386 pm debug We hit the Power Delay 1 times but cleared it
app:464 2022-03-12 02:36:47.377 pm debug Power: 4W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:47.337 pm debug pseudoPowerPlug setPower: 4
app:464 2022-03-12 02:36:43.319 pm debug We hit Power Delay 1 times
app:464 2022-03-12 02:36:43.306 pm debug Power: 0W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:43.273 pm debug pseudoPowerPlug setPower: 0
app:464 2022-03-12 02:36:32.703 pm debug Power: 1W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:32.661 pm debug pseudoPowerPlug setPower: 1
app:464 2022-03-12 02:36:30.467 pm debug Power: 4W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:30.435 pm debug pseudoPowerPlug setPower: 4
app:464 2022-03-12 02:36:28.244 pm debug Power: 1W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:28.211 pm debug pseudoPowerPlug setPower: 1
app:464 2022-03-12 02:36:25.391 pm debug Power: 2W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:25.358 pm debug pseudoPowerPlug setPower: 2
app:464 2022-03-12 02:36:22.753 pm debug Power: 4W, State: true, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:22.700 pm debug pseudoPowerPlug setPower: 4
dev:1   2022-03-12 02:36:18.577 pm info  pseudoSwitch was turned on
app:464 2022-03-12 02:36:18.569 pm debug Cycle started.
app:464 2022-03-12 02:36:18.564 pm debug banner: today at 2:36pm
app:464 2022-03-12 02:36:18.539 pm debug send: Gary's Laundry is started!
app:464 2022-03-12 02:36:18.534 pm debug Power: 9W, State: null, thresholds: 5.0 1.0 2 2 optional: 1500.0 null 4
dev:464 2022-03-12 02:36:18.501 pm debug pseudoPowerPlug setPower: 9
app:461 2022-03-12 02:36:01.648 pm info  Child app: Better Laundry Monitor - Gary's Laundry
app:464 2022-03-12 02:36:01.646 pm info  debugOutput: true, descTextEnable: true
app:461 2022-03-12 02:36:01.620 pm info  There are 1 child smartapps
app:461 2022-03-12 02:36:01.575 pm debug Updated with settings: [descTextEnable:true, debugOutput:true]
app:461 2022-03-12 02:35:58.760 pm info  You are using the current version of this Application
app:461 2022-03-12 02:35:38.468 pm info  You are using the current version of this Application
dev:1   2022-03-12 02:35:37.940 pm info  pseudoSwitch is off
--- Live Log Started, waiting for events ---

I've pushed an Update of BLM Child out to Github and updated HPM. I changed the way the power is interpreted ( >= vs > ). There's also a reset button I use during testing with the virtual power driver that I've left in the release.

Screen Shot 2022-03-12 at 2.58.18 PM

During your experimentation, try setting "Stop after power has been below the threshold for this many continuous minutes:" back to zero.

There's a generic thing Hubitat does that might be affecting how you're interpreting the values being entered. Duplicate values are filtered out. If the Power Meter sends 9W followed by 9W, ONLY the first one makes it to the BLM App. This has an effect on your threshold of 1Watt. The power plug you are using probably does not send two Zero Watt reports, and even if it did, Hubitat would filter it out. If the power plug reports .76 Watts then Zero, that would constitute two sequential readings below the threshold.

3 Likes

OK, now I understand. I did not realize the two "Stop after" controls were linked, I thought they were independent. I will check out your new driver. I am using Sonoff WiFi S31 power plugs with Tasmota BTW, I can get them on Amazon for < $10. Flashing them is not too bad once you know what you are doing.

1 Like

Hi @garyjmilne,

I too have been using Tasmotized Sonoff WiFi S31 power plugs (they are IMHO the best designed plugs for Tasmotizing) to monitor my washer and dryer states in the following manner:

RM4 - List of example rules

Rules Examples

---- TO ENSURE A LONG UNINTERRUPTED LIST PLEASE REFRAIN FROM COMMENTING ----

Name of Rule: Laundry - Washer is Done

Comments: Uses Power Monitoring (Tasmota modded Sonoff S31 Outlets) on Washer and Dryer to notify when Wash Cycle is done. Announcements are made by 2 different Alexa Routines triggered by virtual contact switches (w/auto off) on designated Echo devices. If Washer load is done but Dryer is still in use, then Alexa announces “Wash is done but dryer is in use. I will let you know when the dryer is available”. If Washer is done and Dryer is not in use, then Alexa simply announces “Wash load is done. Please transfer laundry to Dryer”. Private Boolean prevents repeated announcements per washer cycle. Delay assures false notifications are prevented during lulls in washer cycle (between various wash or spin cycles). Similar Rule for Dryer announces when Dryer is done. Can be easily modded to also include Pushover notifications if desired (WAF dictated that only Alexa Announcements were desired in my use case).

I understand that this thread is about the Better Laundry Monitor Port (and of course hope I am not thread jacking and old thread) but am wondering if I am missing some feature that the app provides that a simple RM rule does not. Given the length of this thread and the pretty extensive discussions of problem solving etc. I feel that I am obviously missing some advantage that this app has over a simple RM rule. For my use case, I have been using a very simple RM rule for just over a year (I am a relative noob) that I posted in the referenced thread of Rules Examples and it has consistently given me timely laundry notices without any false positives nor false negatives (again, for my purposes and at least in my specific use case with an electric washer and gas dryer).

Any information/explanation would be helpful and is greatly appreciated as I am still learning from this great community.

Nope, not missing a thing.

If you're able to build a Rule that meets your needs, then it's a good solution. For those that find it daunting to build a Rule like that, then a dedicated App will be a good solution too.

3 Likes

Thanks for the quick reply @csteele! Was just curious since as a noob part of my problem is not knowing what it is I do not know!

Personally I prefer the simplicity of Better Laundry Monitor. I already have enough rules and let's face it, while it's very capable, it's not the greatest tool for making anything complex. With BLM, I just added my dishwasher and it took me about 60 seconds. Could never have done that with RM. Also, I like that BLM adds a title to the app that shows the time of the last action.

4 Likes

It is certainly true that this can be done with RM, but ..

During the course of monitoring wash cycle behavior over nearly a month to get the magic conditions, I liked being able to plug in numbers in boxes in the app. Making that many changes by editing conditionals in RM would have been tedious for me.

Mostly unrelated, but the epitome of a laundry monitor solution would be whichever could set a device preference from within it to be able to change frequency of power reporting from low resolution to high resolution while a cycle is running, and return to low when it completes. I understand it isn't possible to set preferences programmatically.

1 Like

Ive just started playing around with this one - thanks @ChrisUthe

Is it possible to extract the start/end times into a variable, for use on a dashboard?

Hola no me deja actualizar desde HPM, alguna solución??

@csteele

Looking for advice on using the Zooz ZEN15 with Better Laundry Monitor. Any tips on how to maximize accuracy while minimizing log entries from the ZEN15?

I was thinking if I only reported a threshold change of 90% that would to it, as if the washer went from 5 watts to 0 it would trigger a log entry. However, it seems that the percentage is only based on the delta from the prior report. Working just off a decrease in wattage to trigger a log entry is challenging because if you set it something like 10 watts, that happens all the time…but if you make it higher it wouldn’t catch a drop from day 10 watts to zero.

You might struggle to get an answer to your question if it isn't posed in English.

1 Like

He's having trouble getting the update via HPM.

That part is an easy translation, the part where we read his mind to find out WHICH error is a little harder :smiley:

4 Likes

I had one hub that did error out on BLM update (although I didn't try other Apps)...

I deleted HPM and then reinstalled it and did the matchup. Everything was fine after that. :smiley:

I don't like the percent changes, and I have them turned off.

The wattage reports work fine, but you really don't want it set to 10 watts. Mine is set to 50W threshold, I have an old-fashion top loader. The spin cycle is a LOT more than 50, only the fill cycles are less than that on my machine. I would assume a front loader might be a little less than my machine, but 50W still is probably going to work.

The other thing that I found helps is to do an interval reporting. I have my Zen15 set to 2 minute reporting, but 5 or even 10 would probably be fine for this purpose and not bog down the hub. This works good as a "catch" for this app in that you get a power report at most 2 minutes after a cycle ends, no matter what the wattage is.

Regarding the reporting stuff on the Zen15, just don't pick too many things, doing a higher wattage and that 2 minute threshold has no noticeable effect on my hub, or high counts in the App Stats or Device Stats in the logging tab.

So TLDR I would run the machine, and see what your cycles look like and set a Wattage value change that is appropriate, and consider an interval change report.


It won't let me update from HPM, now I don't get any updates, but I see that there is a new version that has a reset button and some other things that I saw, and they don't work for me

I think it costs little to hit the translate button, the same thing I do, anyone can do it