Washing Machine Finished? Let Home Assistant Tell You
I love Home Assistant. This tool helps me day by day and notifies me about things that I don't need to remember. With two little kids, it is a huge help.
One of the things I always forgot about was the laundry and the dryer.
I don't have a washing machine (or dryer) with Wi-Fi to notify me when the washing cycle is finished. And because they are hidden behind two doors in my boiler room, I usually don't hear the beeps anyway.
So I bought two smart plugs and wrote a very simple automation. This one was without AI, hehe!
The idea is simple:
When the washing machine (or dryer, but let's focus on the washing machine) is running, it consumes more than a certain amount of power. When the washing cycle finishes, the power consumption drops and stays low.
In my case, I use a smart plug connected to Home Assistant that provides the current power consumption in watts.
The automation sends a notification when the measured power drops below 50 W for at least two minutes.
How it works
The automation monitors this power sensor (sensor.XYZ_power. In my case, I'm using an Aqara SP-EUC01.
This sensor reports the current power consumption of the washing machine in watts.
The basic logic is:
The washing machine is consuming at least 50 W.
The washing cycle finishes.
Power consumption drops below 50 W.
It stays below 50 W for two minutes.
Home Assistant sends a notification via Telegram.
This approach is intentionally simple, but there is one important detail that makes it much more reliable.
The Home Assistant automation
Here is the complete automation:
alias: Washing machine finished - notification
description: ''
triggers:
- entity_id:
- sensor.0x54ef4410008111e6_power
below: 50
for:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
trigger: numeric_state
conditions:
- condition: template
value_template: |-
{{ trigger is defined and trigger.from_state is not none
and (trigger.from_state.state | float(0)) >= 50 }}
actions:
- action: notify.wookasz
data:
message: Washing machine finished
mode: single
Let's break it down.
1. Monitoring power consumption
The trigger is based on a numeric state:
triggers:
- entity_id:
- sensor.0x54ef4410008111e6_power
below: 50
This means Home Assistant watches the power sensor and triggers the automation when its value goes below 50 W.
However, I don't want to be notified every time the washing machine briefly consumes less than 50 W.
Washing machines often have periods of very low power consumption during a cycle. For example, the drum may stop temporarily while the machine waits for the next stage of the program.
That's why the automation also includes:
for:
hours: 0
minutes: 2
seconds: 0
The power has to remain below 50 W continuously for two minutes.
This significantly reduces false positives.
2. Why the from_state condition matters
There is another important part of the automation:
conditions:
- condition: template
value_template: |-
{{ trigger is defined and trigger.from_state is not none
and (trigger.from_state.state | float(0)) >= 50 }}
At first glance, this may seem unnecessary.
After all, the trigger already says:
below: 50
But the condition adds another layer of protection.
It verifies that the previous state was at least 50 W.
In other words, we're interested specifically in a transition like:
80 W → 35 W
and not:
35 W → 30 W
This stopped the automation from spamming me with notifications. :-D
With the condition, Home Assistant checks that the washing machine was actually above the threshold before the power dropped.
3. Sending the notification
Once the trigger and condition are satisfied, the automation executes:
actions:
- action: notify.wookasz
data:
message: Washing machine finished
The notify.wookasz service is my notification target. You should replace it with your own notification service.
In my case, the notification is sent via Telegram.
Choosing the right power threshold
The most important part to customize is:
below: 50
50 W is not a universal value.
Different washing machines behave differently.
The easiest way to find a suitable threshold is to observe the power consumption during a complete washing cycle.
You want to find a value that is:
low enough to indicate that the washing machine has probably finished,
but high enough to avoid triggering during temporary pauses in the washing cycle.
For my washing machine, 50 W works well.
Next step
Everything works more than 50% of the time. But life is difficult, and there are a lot of notifications on my phone... 😅
So I figured out the next upgrade:
Stop notifying me every X minutes until I go to the boiler room and press a button on a smart button to acknowledge that I've handled the clothes in the washing machine.
Sometimes the laundry can stay there for a loooong time. ;-)
I'll update this post when it's done!
Happy automating!