Washing machine, living on its own?

Hi all,

I have config below to detect when my machine is running and when it stops. It should tell me when the washing machine stops. Somehow, with kind reminders constantly from my wife, there some kind of a mixup. The washing machine is calling out it has finished when it’s in the middle of its program. I think there is no Watt drop during 5 minutes to trigger the notification… something wrong in this config ?

- alias: "[Voice] - Washing Machine Lifecycle"
  mode: restart
  trigger:
  - platform: numeric_state
    entity_id: sensor.power_38
    above: 500
    for: "00:01:00"
  action:
  - wait_for_trigger:
    - platform: numeric_state
      entity_id: sensor.power_38
      below: 5
      for: "00:00:05"
  - service: tts.google_translate_say
    data:
      language: nl
      entity_id: group.broadcast
      message: "De wasmachine is klaar. Je mag de was eruit halen" 
  - service: notify.mobile_app_sm_g998b
    data:
      title: "{{ now().timestamp() | timestamp_local() }}"
      message: "Washing is done."

Thanks a lot !

Kr,

Bart

i see 5 seconds there, not 5 minutes :wink:

1 Like

Goddam**** !!!

Thanks a lot mate ! I would stare to the screen for 5 hours and still overlooked it :slight_smile:

HERO !

B.

1 Like

And now say sorry to wife!

En nu gauw excuses aanbieden bij je vrouw!

:stuck_out_tongue:

I would however not use the wait but use a separate flow. A wash cycle can take quite long, and if you reboot or reload automations in the mean time the finished message will not happen. If you are worried the message flow will start without the start action taking place you can always make sure the end flow is only turned on when the washer starts, and turned off by the message itself.

1 Like

Ze mag blij zijn !! 5 minuten langer blijven zitten :wink:

How to do so Edwin ? Looks promising

alias: '[Voice] - Washing Machine Lifecycle start'
trigger:
  - platform: numeric_state
    entity_id: sensor.power_38
    above: 500
    for: '00:01:00'
action:
  - service: automation.turn_on
    target:
      entity_id: automation.voice_washing_machine_lifecycle_done
mode: single
alias: '[Voice] - Washing Machine Lifecycle done'
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.power_38
    for: '00:05:00'
    below: 5
condition: []
action:
  - service: tts.google_translate_say
    data:
      language: nl
      entity_id: group.broadcast
      message: De wasmachine is klaar. Je mag de was eruit halen
  - service: notify.mobile_app_sm_g998b
    data:
      title: '{{ now().timestamp() | timestamp_local() }}'
      message: Washing is done.
  - service: automation.turn_off
    target:
      entity_id: automation.voice_washing_machine_lifecycle_done
mode: single

I use this:

a input select helper:

automation for the state:

alias: Wasdroger
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.qubino_wasdroger_electric_consumption_w
    for:
      hours: 0
      minutes: 0
      seconds: 10
    id: washing_was
    above: '5'
  - platform: numeric_state
    entity_id: sensor.qubino_wasdroger_electric_consumption_w
    for:
      hours: 0
      minutes: 2
      seconds: 0
    id: finished_was
    above: '0.5'
    below: '5'
  - platform: numeric_state
    entity_id: sensor.qubino_wasdroger_electric_consumption_w
    for:
      hours: 0
      minutes: 2
      seconds: 0
    id: offstate_was
    below: '0.5'
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: washing_was
        sequence:
          - service: input_select.select_option
            target:
              entity_id: input_select.wasdroger
            data:
              option: Wassen
      - conditions:
          - condition: trigger
            id: finished_was
        sequence:
          - service: input_select.select_option
            target:
              entity_id: input_select.wasdroger
            data:
              option: Klaar
      - conditions:
          - condition: trigger
            id: offstate_was
        sequence:
          - service: input_select.select_option
            target:
              entity_id: input_select.wasdroger
            data:
              option: Uit
    default: []
mode: single

automation for message:

alias: Was klaar
description: ''
trigger:
  - platform: state
    entity_id: input_select.wasdroger
    to: Klaar
condition: []
action:
  - service: notify.mobile_app_in2013
    data:
      message: Hallo, hier je wasmeisje. Ik ben klaar met mijn zware klus ;-)
  - service: notify.mobile_app_zerkoefs_iphone
    data:
      message: Wasdroger is klaar
mode: single

This works even after a HA restart during the laundry

That is nice too, but my daughter would object to “wasmeisje” as being too sterotypical :smile:

1 Like

wel, it’s not that I call my missis wasmeisje, I call the washing machine wasmeisje here :stuck_out_tongue:

Thanks both (@Edwin_D @BebeMischa ), that would require a little more time… I’ll spend this week some to see if I can make it:

  1. Dummy Proof
  2. Wife Proof
  3. Fault Proof
  4. Discrimination Proof

You helped a lot !

Kr;

Bart

2 Likes

I get that, but a washer would probably feel non-binary, so might be want to called a “washen”. :crazy_face:

EDIT: oh my god, If you’d want to create a sensor for it, would that need to be a non_binary_sensor too? I’m not going to be able to handle that…

2 Likes

I asked my washer, how it feels. Did not get any answer.
So I looked up the dictionary, and our dear van Dale said: it’s a girl. I can’t help it…

image

:smiley:

1 Like

I’ll pass it on to my daughter, but she’ll not be amused…

2 Likes

At your own risk… :smiley: :smiley: :smiley:

1 Like

I see we can ask van Dale who does what chores:

1 Like

Maybe my interpretation could be of use to any of you Using power consumption to show information (status, elapsed time, count) of cycles on a dish washer - #2 by hebom

This is a nice approach too. I was trying to keep as close as possible to the original approach to best illustrate possible improvements.

But maybe you should adjust the filters in your example because of the now required default. For expample the float filter should now be something like float(0). If you do not, the templates will produce errors on startup.

I would also consider adding an availability template to the sensor.

1 Like

Suggestion:

Instead of automations enabling/disabling one another (which the community has long concluded to be an anti-pattern) make the first automation set a flag, like an input_boolean, which is checked by the second automation’s condition and subsequently reset by it as well.

In fact, by employing a flag, the two automations can even be consolidated into one.