Better Laundry Monitor Port & Update

Guess you can. Still would need to be a standard name for all drivers.

Well, I didn't want to contradict @dman2306 since I've never developed an app for HE or ST, but I was just thinking that the user interface that is the device page does somehow set the preferences programmatically.

This sure would make Better Laundry more accurate in detecting cycle end if it could set the power meter to frequent reporting while looking for cycle end, but less frequent when waiting for cycle start.

BLM simply monitors the Events created by the power measuring device. It's up to that device to send reports. It does that entirely on it's own. Once you've set the parameters in the Driver, it sends them to the device and from then on, the device itself does all the 'work'. The hub does not poll or ask the device.. it's the device just waking up and deciding to send a report. We call those: unsolicited messages, not that makes it any clearer, but it's probable that will come up again.

Events will be recorded in the Event Log and as @HAL9000 suggests, it's the place to inspect. If you don't see the pattern you've selected in the Threshold section, then BLM won't work as expected.

To test this App out, I had to create a Virtual Power Plug. It allows me to just type in values and have those become Events.

If you screen grab a copy of your Event Log for your Sensor, I can mimic them here and verify it works or doesn't. (Alternatively you can use my Virtual Power Meter driver, and you can type it in.)

I've done exactly what Hal had suggested and listed below and documented the events that occurred. Much appreciate you and Hal's help.

First image is of event page when I lifted the washer lid after machine was off awhile and then green light went off

Ok, I set up a child for you... matching the screencap... using this device as the Sensor:

Screen Shot 2020-07-08 at 12.46.24 PM

app:78 2020-07-08 12:30:08.231 pm debug Cycle started.
app:78 2020-07-08 12:30:08.225 pm debug fixed: today at 12:30pm
app:78 2020-07-08 12:30:08.152 pm debug send: Tony's Laundry started
dev:14 2020-07-08 12:30:07.478 pm info  Sending Message: Tony's Laundry started Priority: 0 to Device: ciPhone
app:78 2020-07-08 12:30:07.418 pm debug Power: 9.168W, State: null, thresholds: 8.0 4.0 2 1500.0
dev:50 2020-07-08 12:30:07.327 pm trace pseudoWasher setPowerLevel 9.168
app:78 2020-07-08 12:29:54.382 pm debug Power: 2.036W, State: null, thresholds: 8.0 4.0 2 1500.0
dev:50 2020-07-08 12:29:54.262 pm trace pseudoWasher setPowerLevel 2.036
app:78 2020-07-08 12:29:20.470 pm debug Power: 1.353W, State: null, thresholds: 8.0 4.0 2 1500.0
dev:50 2020-07-08 12:29:20.370 pm trace pseudoWasher setPowerLevel 1.353

As you can see, 9Watts triggers a Start of cycle

I then went through a couple of your "off" readings...

app:78 2020-07-08 12:36:42.861 pm debug Cycle finished after delay.
app:78 2020-07-08 12:36:42.844 pm debug fixed: today at 12:36pm
app:78 2020-07-08 12:36:42.756 pm debug send: Tony's laundry is done
dev:14 2020-07-08 12:36:42.118 pm info  Sending Message: Tony's laundry is done Priority: 0 to Device: ciPhone
app:78 2020-07-08 12:33:41.903 pm debug Ending duration is set, waiting
app:78 2020-07-08 12:33:41.849 pm debug Power: 1.348W, State: true, thresholds: 8.0 4.0 2 1500.0
dev:50 2020-07-08 12:33:41.743 pm trace pseudoWasher setPowerLevel 1.348
app:78 2020-07-08 12:33:17.683 pm debug Ending duration is set, waiting
app:78 2020-07-08 12:33:17.609 pm debug Power: 1.351W, State: true, thresholds: 8.0 4.0 2 1500.0
dev:50 2020-07-08 12:33:17.475 pm trace pseudoWasher setPowerLevel 1.351
app:78 2020-07-08 12:33:02.694 pm debug We hit delay 1 times
app:78 2020-07-08 12:33:02.647 pm debug Power: 1.353W, State: true, thresholds: 8.0 4.0 2 1500.0
dev:50 2020-07-08 12:33:02.452 pm trace pseudoWasher setPowerLevel 1.353

and after the 3 minute delay/wait you set, the Cycle ends.

Screen Shot 2020-07-08 at 12.39.51 PM

and you can see the Events for the power switch match your 'pattern'

OK so I'm fine with 8 watts to start cycle but after that I'm lost. Does your report mean the rest of my settings are ok or if not I'd accept your recommendations to change any settings to a specific number

I just matched the values you show in your screencap here:

You can see them in the logs:

thresholds: 8.0 4.0 2 1500.0

Me again. I would increase both start and stop to 8 watts. Keep in mind that you don't really care much about how quickly it detects start. You are primarily interested in how well it detects end. Start would be hard to miss because the washer will eventually draw 100-300 watts when the motor starts. But end times just take a lot of experimenting to figure out.

I wouldn't count on any electronic device to show zero when it was "off". There are electronics powered at all time to monitor the controls to see when you start pushing buttons, and it does maintain state of some settings (or at least mine does).

1 Like

Mine are set 'high' too.

I don't really want to know when someone opens and closes the washer lid or while the washer is filling for the first time. I want to know when the motor comes on. Equally, the rinse cycle has no motor, but the water Inlet valve draws some.. so I want "low" to be lower than the valve's power, but way above zero.

I don't NEED the optional values.. but I want to be sure it's working correctly so I put something in there.

This App really exercises your Charting skills. :smiley: I had to run a cycle, then capture all the events, and then plot them on a chart.

My Dryer is worse.. it has a cool down feature and pauses between... I get an alert with EACH. Which is what I want.. to get my kids to hear each. They ignore the first 8. :smiley:

Thanks guys! Both "start cycle when power raises" and "Stop cycle when power drops" are set to 8. Any advice on remaining thresholds or are they OK? Just wondering do all thresholds have to be filled in or can you leave them blank or "0" Example, do I really need to have "Stop after power below threshold for this many sequential reporting" or can I leave it blank? I believe Csteele had previously said let the app do its thing

My best advice is to "chart it" -- in reality or mentally. Your machine cycle is going to be very different from me.. heck, mine doesn't have lights, let alone LEDs :smiley:

LEDs are a 21'st Century thing... and my washer and dryer are NOT. :slight_smile:

Count your blessings it has no LEDS lolo. I've already had the washer control panel replaced once on warranty because its very sensitive to electrical spikes and blew out the ONE NON REPLACEABLE fuse. I now have it plugged into a surge protector. Keep those machines as long as you can lololo and thanks again for all your help.

I was just hoping you guys could have pinpointed the one threshold setting that was causing the App not to report the machine had stopped even though still pumping out a low wattage for that darn LED light but understand it has to be monitored and then adjusted. Stay well!
Tony

From my testing, the Thresholds you picked are OK.

You chose a delay of 3 minutes, and I guess I would put a question mark over that...

The idea behind "Stop after power has been below the threshold for this many..."

"sequential reportings" vs "continuous minutes" is... pick one or the other.

If you use Zero as the low threshold, then there's a strong chance the de-duplication action of the Hub will not send two Events. Therefore, it will sit at the last reading forever and never indicate Cycle Complete. SO.. wait 3 mins after the one-and-only zero is an alternative. You are picking a low threshold of 4Watts and the readings dither just enough that you'll get multiples that are not precisely the same. Instead, I'd use the 'deadman' option to force a Cycle Complete after N minutes. Again, measure the values, time the cycle. :smiley:

1 Like

Here's after changing "your child" to what I suggest:

app:78 2020-07-08 01:49:32.304 pm debug Power: 1.354W, State: false, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:49:29.195 pm debug Cycle finished.
app:78 2020-07-08 01:49:29.178 pm debug fixed: today at 1:49pm
app:78 2020-07-08 01:49:29.111 pm debug send: Tony's laundry is done
app:78 2020-07-08 01:49:28.432 pm debug Power: 1.352W, State: true, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:49:24.471 pm debug We hit delay 1 times
app:78 2020-07-08 01:49:24.425 pm debug Power: 1.353W, State: true, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:49:08.359 pm debug Power: 9.2W, State: true, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:49:00.279 pm debug Power: 120W, State: true, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:48:51.728 pm debug Power: 13.5W, State: true, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:48:36.266 pm debug Cycle started.
app:78 2020-07-08 01:48:36.258 pm debug fixed: today at 1:48pm
app:78 2020-07-08 01:48:36.173 pm debug send: Tony's Laundry started
app:78 2020-07-08 01:48:34.247 pm debug Power: 9.168W, State: false, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:48:21.891 pm debug Power: 2.035W, State: false, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:47:30.935 pm debug Power: 1.3333W, State: false, thresholds: 8.0 4.0 2 0 optional: 1500.0 null 18
app:78 2020-07-08 01:46:32.736 pm info  Updated with settings: [deviceType:powerMeter, pwrMeter:pseudoWasher, delayEndDelay:0, cycleMax:18, startThreshold:8.0, ignoreThreshold:1500.0, delayEndPwr:2, endThreshold:4.0, messageStart:Tony's Laundry started, textNotification:[pushoverCS], message:Tony's laundry is done, debugOutput:true, descTextEnable:true]

It works and as long as the sample reading you pasted are repeatable, it seems like it would be a good result. I bounced the Power reading around a bit to test, but it did what it did every other test. :smiley: Worked.

[I added the extra values to the Log that weren't displayed, {optional: 1500.0 null 18} and did a 'silent' update to github.]

Can't thank you enough for the time you've spent on this! We'll see how it all works out on the next wash load. MANY THANKS

1 Like

If you need.. I have a couple baskets full that you can pick up and return. :smiley:

LOLOL - AHHH theres the payback for the help

1 Like

Thanks to ALL for their guidance . @HAL9000 and @csteele your the best! What was needed with BLM was PATIENCE and trial and error with the settings as you both suggested. Finally after a number of loads and testing different settings, the app has worked flawlessly . Also, both your advice on a driver that is seen as a switch and contact now allows Alexa to add into the mix and announce along with a pushover notification the washer has completed. Many thanks! GREAT COMMUNITY!

2 Likes

First off, thanks for all the contributions to this! Great to see something really evolving as our smart homes evolve to accommodate our un-smart appliances.

Here is another kink in my laundry notification experiment. We put the laundry basket on the dryer while loading the washer (top load). Because of this the dryer starts when we start loading the washer (acceleration monitor - SmartThings multi-purpose device).

I’m trying to think of the best way to accomplish a delay to saying things are “starting”. If acceleration starts and ends within x minutes, cancel notification and reset things; otherwise announce things have started and continue as usual.

Anyone have a similar issue and figured out a way around it?

Thanks!

Thanks for this great app!

Any chance we could please have the option to use actual time instead of reporting periods?

My Aeotec Smart Switches have a reporting interval and a push report when power use changes by a percentage so I'd like to use time to set the done notification if possible please?

EDIT: NVM, I installed the newer version and It has time options

1 Like