[RELEASE] Laundry Manager

The push notifications are working now. It was probably the function call I mentioned above that you fixed.

However, I'm still having problems with it reporting finished even when it's not. Looking at the logs, it's not a problem with Laundry Manager but with the switch reporting 0W for minutes at a time. I have a Sense energy monitor and I can tell what's going on; I just don't understand why. The heating element does not stay on 100% of the time when you run a dryer. It cycles, just live an electric stove. When it cycles off, the switch is reporting 0W. It should still be using energy to spin though so it should never be 0 unless it's done. I think the motor runs of 110v, so my guess is that the energy monitoring only works when both legs are active or something like that.

EDIT: Worse case scenario is I set the threshold to 600 seconds (10 minutes). The longest between cycles I've seen is about 6 minutes.

Received this error when Laundry Manager tried to auto turn off logging after 30 minutes.

[app:876](http://192.168.1.134/logs#app876)2021-01-18 05:19:58.795 pm [error](http://192.168.1.134/installedapp/configure/876)java.lang.NullPointerException: Cannot invoke method updateSetting() on null object on line 195 (disableLogging)

That's a tough one. I was just looking at the params for the heavy duty switch and I don't see any settings that would be related. Not ideal, but yeah a 10 min threshold would do it.

Just pushed a fix for the logging issue.

I switched the L1 and L2 on the AC input for the switch. Will be testing soon to see if it makes a difference. I suspect when running a 110 device through it only measures a single leg and I had it wired to the other one. Just a hunch.

Would it be possible to get the enable logging for the app and the virtual device to have a variable amount of time before turning off logging? I'd like to log a whole cycle and that takes more than 30 minutes. When we do diaper laundry, it takes almost an hour and a half.

You can manually comment out these lines:

1 Like

I'm porting over from ST with a power sensor on wash and a contact/vibration sensor on dryer (220v). When you say you support contact sensor, does that mean also utilized Vibration sensor to see if the dryer is still running?

No, the contact sensor is to automatically reset the status from "finished" to "idle" (e.g. open dryer door to reset status). I believe Better Laundry Monitor supports vibration.

1 Like

In the virtual devices... what does the switch off and on do? I thought maybe it would manually change the status to running or idle but nothing seemed to happen. I don't currently have an easy way for my wife to reset the status so was thinking a voice command to turn them off (she hates voice commands) with Google for now until I can get a button.

The switch is an indicator of a finished status (on) and a way to reset to idle (on to off will reset to idle). My main purpose for it is in dashboards. When the status is finished the tile will turn orange. Tapping on the tile turn the switch off and reset the status (an alternative to the button).

Can we maybe get a field to rename the device instead of using the device label for the name? Right now we get a notification that says z - VD - Laundry Room - Dryer has finished. I'd like it to just say Dryer :slight_smile:. Same thing for the washer.

Since updating this app to the latest release yesterday, every time my washer is finished I am getting repeated push notifications every few seconds to my phone. I ended up having to shut push notifications off because they were flooding my phone so badly. Not sure why this is happening, as I have repeat notifications set to off. Seems like a bug.

Sure thing.

Sorry about that. I'll take a look.

I just pushed an update with the following changes:

  • Added support for overriding machine labels.
  • Removed time threshold (on) logic.

The min time on stuff was a new addition and it worked fine for me last weekend but I did a load of laundry today and noticed it got stuck in a finished state while it was running. This might be the cause of the repeat notifications. I removed the code for now and will revisit it at a later date.

2 Likes

first thanks for the update, Im getting these error logs

Hmm that's a bit odd. It means that it's not getting the laundry-machine-washer child device. Did you remove it from devices or change its DNI possibly?

I can add a null check but really this shouldn't happen.

I deleted everything and reinstall see if that works

The cool thing about this app over others I looked into is that it creates a child device which can be added into WebCore and its 'status' field can be used to do more automation.

In my setup, using the Zooz Zen15 for power monitoring, I have the 'idle' status set for 2 mins after the 'finished' status. Also, my washing machine has a LED indicator for "done" which draws just enough energy to not be zero. Further, since the Zen15 is so precise, this lets me add another stage after idle. I can use Webcore and 'Case' function to provide a staged method of alert and notification.

I have of course, 'running', then 'finished' which sends pushover message and uses echo-speaks for verbal alerts. Then, when it changes to idle, I use HE built-in notification to create a persistent alert that my clothes need to go into the dryer, which keeps repeating every 2 mins until, you guessed it, the power level from Zen15 device drops to 0. When I see the actual 'Washing Machine' power=0 report then it knows the lid was opened and closed. So, it turns off the repeating Notifier in HE and uses Echo-speaks to say something like, "thank you for loading the dryer".

Thanks @augoisms

1 Like

@augoisms Is there any way to add a max value range or min duration value before the app triggers 'running' status. I had a random invalid trigger because my power monitor for unknown reason jumped from 0.00 to 134217.728 W and back to 0.00 again all within only 30 seconds.

So, before status changes to 'running' have it check power above threshold for X seconds, same way as app now has Minimum time (seconds) watts need to stay below the threshold. Or have a max power range to accept as what is considered valid before triggering 'running' status. I suppose like you have now Minimum watt value to trigger state.

status finished DEVICE 2021-02-07 04:30:56.709 PM EST
power 0.000 W DEVICE 2021-02-07 04:29:55.672 PM EST
status running DEVICE 2021-02-07 04:29:25.447 PM EST
power 134217.728 W DEVICE 2021-02-07 04:29:25.434 PM EST
switch off DEVICE 2021-02-07 03:52:25.546 PM EST
status idle DEVICE 2021-02-07 03:52:25.545 PM EST

I actually had some code for a min duration that I published recently but it was causing some issues so I temporarily removed it. I'll try and work on it soon. This would solve your issue.

1 Like

Thanks!