Automate Dishwasher

New dishwasher is coming soon, so I still have access to the outlet behind it. I know it’s a quiet dishwasher but is there some way I could automate when the dishwasher runs?

For example, set it so that it runs at 2AM on Sunday, Wednesday, Friday or whatever...?

I’m not sure that adding a smart outlet will help, it can turn the power on at the desired time, but I don’t think it will make the dishwasher run...

Any thoughts?

Thanks!

You’d need a smart dishwasher for that. I know there are several on the market, but have no experience with any.

However, while you can, why not put a line-powered leak sensor in there? Water leaks can be very damaging and expensive to fix. Early leak detection can warn you to close your water main, or better yet, be used in an automation to turn a controlled main water valve off.

2 Likes

The only benefit would be a power monitoring outlet or plug so you can trigger on dishwasher running/not running, if that could be useful.

Definitely a leak sensor as @aaiyar suggests, although you probably could also stick a battery leak sensor behind the toe kick panel.

1 Like

Have a recommendation for one?

Beyond the above, this is a low-tech solution that might get what you want: does your dishwasher have a "delay" timer? Many do (or if it's important to you, you can find one that does), then you can indeed start it overnight. You do have to initiate the timer, of course, but I'm assuming you weren't planning on automating the running whether it was ready or not. It's not Hubitat, but it might get you where you want.

I should note that I rarely do this myself. A leak sensor is great, and I do have one too. But it won't automate my dishwasher, and if there's a problem, I'd rather not deal with it at 3 AM. :joy: (And merely stopping the dishwasher would probably not solve anything.)

1 Like

I wouldn’t mess around with cycling incoming power to modern dishwashers. The electronics could be damaged and they’re very expensive to repair.

I just perfected my dishwasher status rules for my Miele dishwasher. It uses a Xiaomi vibration sensor to detect door tilt angle and one clamp of an Aeotec HEM in the electrical panel to detect when it washes dish (vs just a rinse). We can ask Alexa several different ways if the dishes in the dishwasher are clean and it will respond with the correct answer.

I will post details later today.

3 Likes

Well, since yours hasn’t arrived yet, you might want to take a look at the amazing things that Dominick Meglio (@dman2306) is doing with LG appliances. He has just gotten his LG dishwasher, and is bringing up the integration on it and other LG appliances. He has a group of people helping testing of his driver. See:

You might want to cancel your order before it arrives. Dominic is a very good programmer, his automation will work.

Mine was ordered by the SO based on her preferences. I’m just trying to automate around her decisions. May not be as great for automatons, but there will be far fewer disagreements :grin:

HomeSeer HS-FS100W Water Sensor

https://shop.homeseer.com/collections/z-wave-sensors/products/z-wave-perimeter-water-sensor

Works with this driver:

100%. The line powered just makes it one less battery to crouch down and change.

Old man syndrome!
:older_man:

Well, if you have a schematic, you could solder wires onto the controlling push buttons. Perhaps she can write a driver.

Thanks! Just FYI their api does not let me start the dishwasher as far as I can tell, only read from it. Still doing research though.

1 Like

There are a number of parts to this. Please keep in mind that I'm a virtual switch fan. I prefer to make several small and simple rules tied together with virtual switches for status changes, rather than large singular rules that tie things together with private boolean and such. That's not to say it cannot be done that way, but I'm not the type to fuss over several rules and a couple of virtual switches to accomplish something.

Sensors:

Aeon HEM v1
I just needed to know when the dishwasher is running. Use whatever power monitoring you want. I like the v1 HEMs because they work and they're inexpensive. I paid on average $53 USD for each of the three I own. With these affordable sensors, I can monitor two different appliances that are on a dedicated circuit without worrying about the amperage or voltage of the appliance. That isn't possible to do with any of the typical power monitoring plugs and not for what boils down to just $26.50 each. I would also say that for a dishwasher, which typically is either hardwired, or has the outlet behind the installed dishwasher, an HEM is ideal. You really don't want to have to uninstall your dishwasher to fix a device that is misbehaving, needs to be excluded and rejoined, or has failed.

Xiaomi Vibration Sensor
You can probably use other sensors, but my Miele dishwasher has very little room for a sensor. This was the only one that I was able to tuck just under the insulation at the bottom of the door. This allows me to easily remove it to change batteries without needing to use any adhesives, and it's completely hidden. Surprisingly, the stainless steel door doesn't interfere with the signal (my hub is very close by). Xiaomi Zigbee environments cannot have bulbs or incompatible devices in them, so all warnings and recommendations for these devices apply. I'm already setup for running Xiaomi devices without interference, so keep that in mind when making the choice of tilt sensor. The tilt angle readings are pretty stable on this device, so I do think it's a good choice regardless of the special considerations around mesh compatibility.

Device Drivers

Aeon HEM v1 Appliance Monitoring
This driver was originally written by Mike Maxwell back in his ST days and Dan Ogorchock ported it to HE. It was hacked at by me (I'm not a developer) to allow for two additional buttons so each clamp could also send a button push for the device running state. I have found that button pushes can be a bit problematic for monitoring device state, but you can also use Rule Machine and custom attributes to simply track either the devices on/off state, or the actual current wattage of the device. If you have an Aeon v1 HEM, this is a very versatile driver for appliance monitoring.

Xiaomi Vibration Sensor
This particular driver has the ability to monitor the X,Y & Z tilt angles, so it is ideal for how I need to use this sensor. I'm using an earlier version of this driver, but it works just the same. I've had not drops or other issues with the device. It is on a separate hub from my main, so I don't know if that's part of the success I'm getting, but it's worth mentioning.

Important
The driver needs a slight modification so you will be able to use the current X, Y and Z values in your rule. Look for, and change the following attributes...

Find:
attribute "currentX", "DECIMAL"
attribute "currentY", "DECIMAL"
attribute "currentZ", "DECIMAL"

Change to:
attribute "currentX", "number"
attribute "currentY", "number"
attribute "currentZ", "number"

Virtual motion with Switch
My thanks again go to Dan Ogorchock for this driver. This will create a motion event when a switch is turned on. When an Alexa Routine detects motion as a result of one of these two different special switches being enabled, it can do something. In this case, it speaks one of two custom phrases. These special virtual switches need to be added to the HE Amazon Echo Skill app so they are available to use in Alexa Routines.

Virtual Switches
Yes, you can probably do most of this without virtual switches. I like to use virtual switches to tie things together. They aren't so slow and multiple rules isn't a major drag on my hub. Connect things how you want, and build rules how you want. These are my hubs and this is how I do it. :smile:

Three virtual switches are needed for the rules. One of them turns on when the dishwasher has been running for a period that is longer than a rinse only cycle. Another turns on when the dishwasher door tilt angle is greater than a specified amount for longer than 4 minutes, thus indicating that we are actively unloading the dishwasher, and not just getting something out of the clean dishwasher without unloading it. The third is activated by Alexa routines when you ask for the state (clean or dirty) of the dishwasher. In one of my rules you'll see a fourth virtual switch named "dishwasher last ran". This is for a separate Google Home rule that uses a global variable to record the date and time. I'm no longer using this since the current method is working so well, and so knowing exactly when the dishwasher last ran is not necessary. I will likely remove it from my rule, but if you want to use it, that's up to you. Again, it is not needed, but I'll include that rule used to capture the date and time in a global variable at the end of this post for anyone that wants to use it.

Add this Query Dishwasher State virtual switch to the HE Amazon Echo Skill app so that it is available to use in Alexa Routines.

Rule Machine Rules
These are fairly self-explanatory, but I'll provide a brief description of what each does.

dishwasherState
Pretty obvious from that name. What I'm doing with this is establishing when the dishwasher has run, not when it's running. This rule indicates the dishes in the dishwasher are clean by turning on the virtual switch also named dishwasherState

You can leave out the second virtual switch named Dishwasher last ran in this rule unless you want to know the date and time the dishwasher last ran. Again, I'll include the rule that captures the date and time at the end of this as optional. How you use the date and time with a global variable if desired, is entirely up to you. I don't have a rule that uses the virtual switch Dishwasher last ran to show you, but it would be the trigger for such a rule and use the current data saved in the global variable.
Screen Shot 2020-11-15 at 1.17.17 PM

Dishwasher unload state
This rule turns on the virtual switch dishwasherUnloaded when the sensor angle (mounted flat against the bottom, on the backside of the dishwasher door) changes to less then, or equal to 40 (specific to my dishwasher and sensor). The value was chosen based on how we sometimes unload, in which case the door isn't necessarily always fully open. Use the value that works for your situation.

Important
You must modify the vibration sensor driver to be able to use the current X, Y and Z values with Rule Machine Custom Attributes. See notes in the driver section above.
Screen Shot 2020-11-15 at 1.16.49 PM

Dishwasher Dirty
When the dishwasher door angle triggers the virtual switch dishwasherUnloaded after a delay, then this rule is triggered. This rule then checks to see if dishwasherState is ON (indicating the dishwasher has run) and turns the switch OFF, indicating the dishes in the dishwasher have been unloaded and any dishes loaded in it are now dirty.
Screen Shot 2020-11-15 at 4.58.20 PM

Dishwasher clean or dirty
This rule is used for a two-way interaction between Alexa and the hub. When you ask Alexa for the status via an Alexa routine, the virtual switch Query Dishwasher Status turns ON triggering the rule to turn ON either Alexa dishes clean, or Alexa dishes dirty. It depends on whether the virtual switch dishwasherState is ON or OFF (e.g. The dishes in the dishwasher are clean, or they are dirty).
Screen Shot 2020-11-15 at 1.19.57 PM

Alexa Routines
Six routines by choice. Really only four are needed, but I wanted to allow us to ask Alexa if the dishes in the dishwasher are clean in two of our most common ways. Two of the routines are simply used to give either the response "The dishes are clean" or "The dishes are dirty" based on which of the special Virtual motion with Switch devices are activated by the rule Dishwasher clean or dirty shown above.

User input routines

Alexa feedback routines

Optional Rule Machine rule
This can be used to record the date and time of when the dishwasher last ran in a global variable. The global variable could then be used in a rule that gives a TTS response or sends a notification for when the dishwasher last ran.
Screen Shot 2020-11-15 at 1.20.51 PM

1 Like