Another: Help with detecting when laundry is done

Here is a picture of my power usage for three laundry cycles:

I’d like to be able to detect the final spike, which is the spin cycle, to determine when it is done.

Today I have:

id: '1669991006668'
  alias: Laundry
  description: ''
  trigger:
  - type: power
    platform: device
    device_id: 4c36f3551e2f91dab7abc8e6becfa53e
    entity_id: sensor.laundry_electric_consumption_w
    domain: sensor
    below: 200
    for:
      hours: 0
      minutes: 0
      seconds: 30
  condition: []
  action:
  - service: notify.david_text
    data:
      message: Laundry Done
  mode: single

So I look for 200W then it has to be below 200 watts for 30s. I think that means it has to cross 200w, then when it falls back below 200, the counter starts?

It has been working, but what happens with the small spikes? Is it possible to say it has to be above 200 for 30s, then when it goes below 200, trigger?

thanks

I think, you can better concentrate on the marked moment in this pic.
It look always similar and takes more than 30 seconds.

So maybe just look for below like 10W for like 2 minutes. For my machine below 5 for 45 second was the sweetspot…

This is exactly how I built this. It waits until the machine is longer than 3 min below 11W.
Works well.

I have my automation setup to be similar. However, I’m having issues where the automation gets triggered randomly when the washer is not in use.

I had this issue when I had this running on Hubitat. I’m just moving over, this is my last thing to do.

This is my concern as well.

That did catch the end of the last laundry cycle (yes my wife has been busy today).

We’ll see if it also catches false positives.

thanks for the suggestions

I do this for my dishwasher:

alias: Dishwasher Notification
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.dishwasher_power
    above: 17
    id: dishwasher_start
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: dishwasher_start
        sequence:
          - wait_for_trigger:
              - platform: numeric_state
                entity_id: sensor.dishwasher_power
                for:
                  hours: 0
                  minutes: 10
                  seconds: 0
                below: 1
            timeout:
              hours: 4
              minutes: 0
              seconds: 0
              milliseconds: 0
            continue_on_timeout: false
          - service: notify.mobile_app_mobile_phone
            data:
              message: >-
                The Dishwasher finished at
                {{(as_timestamp(states.sensor.dishwasher_power.last_changed) |
                timestamp_custom('%H:%M '))}}
              title: Dishwasher Program Completed
          - service: notify.persistent_notification
            data:
              title: Dishwasher Program Completed
              message: >-
                The Dishwasher finished at    
                {{(as_timestamp(states.sensor.dishwasher_power.last_changed)
                |     timestamp_custom('%H:%M '))}}
    default: []
mode: single

It triggers when the dishwasher starts, and waits for the moment when at the end the dishwasher goes below limit for 10 minutes. There is a timeout as well.
My dishwasher has periods where the power usage looks similar to the end, but sorted so had to do it for a 10 minutes period at the end. The start trigger makes is bulletproof, as it will not register anything else, just if started. The mode single makes it sure that the automation not triggers again if already started.

1 Like