# 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:

1.  The washing machine is consuming at least 50 W.
    
2.  The washing cycle finishes.
    
3.  Power consumption drops below 50 W.
    
4.  It stays below 50 W for two minutes.
    
5.  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:

```yaml
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:

```yaml
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:

```yaml
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:

```yaml
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:

```yaml
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:

```text
80 W → 35 W
```

and not:

```text
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:

```yaml
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:

```yaml
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!**
