Notify or do something when an appliance like a dishwasher or washing machine finishes

I have this simple configuration

alias: La lavatrice ha finito
description: ''
use_blueprint:
  path: >-
    sbyx/notify-or-do-something-when-an-appliance-like-a-dishwasher-or-washing-machine-finishes.yaml
  input:
    power_sensor: sensor.lavatrice_energy_power
    actions:
      - service: notify.telegram
        data:
          message: La lavatrice ha finito

But action don’t trigger even if I press “run actions”. Any idea ?

3 Likes

For some reason is anyone else having an issue running TTS I have tried all of them but for some reason under this blue print TTS is not working. It works on other automations and it works as a script but as soon as I put it in this automation it doesn’t work.

1 Like

I am having the same issue the actions are not working. I thought it was just TTS but it’s everything

1 Like

I absolutely love this blueprint! Even the wife likes this feature.
I sometimes forget to start the dishwasher (waiting for that one glass before starting the dishwasher)
Has anyone made an automation based on this blueprint by if the dishwasher has not finished before 10:00pm you get a message reminding you that you forgot to turn it on?

My actions also don’t trigger. Couldn’t see anything wrong in the code though.

2 Likes

So I use this blueprint for a few months and it always worked great - even when HA has been restarted meanwhile, the automation got triggered and performed the desired actions properly.

BUT for some while (noticed it first about a week ago around March 21st) all automations based on this blueprint don´t work sporadically. Today there even was NO restart of HA, only thing done was working on (other!) automations which reloaded all automations of course.

I have no idea why it doesn´t work stable anymore. Maybe a recent HA Core update changed something fundamental?

@Sbyx what would you need to debug / track down this major issue? Any ideas what to test?

Update:
After doing some tests I suspect that when automations being reloaded (either manually or by simply editing ANY automation - does not need to be one based on this blueprint!) during the appliance currently running, the action will never trigger because the automation doesn’t know (anymore) the appliance is already running. So it seems like this blueprint is not automation reloading bulletproof (anymore).

Can someone confirm this behavior? It’s very strange cause some time ago this automation/blueprint was even HA restart resistant and now it breaks as soon as you touch any automation… annoying and not very reliable! :frowning:

Any idea how to fix that…?

I‘m thinking bout a „failsafe“ workaround: a second automation which checks if the appliance is below XX watts for more than XX minutes and triggers the action of this automation. Really ugly and not that smart.“ to be honest.

Amazing work.
I use this and an imput_select to notify my 2 kids to take turns automaticaly to empty the dishwasher . When they mark it as complete we all get a phone notif, they get $$ and the “turn” goes to the other one.

3 Likes

Care to share this? Have two kids that fight over the dishwasher job.

Great blueprint. Thank you for sharing!

Before I share my automation I’ve one question:
In “Edit in visual editor” I can see “Finishing power threshold” but switching to “Edit in YAML” it is nowhere to be seen. As the automation is working properly I don’t think there’s a problem but you might want to look at it.

Okay…as the blueprint is working great and my washing machine automations needed an upgrade I configured the following:

  1. My wife and me get a notification with actionable buttons when the washing machine has finished.
  2. My buttons are “I will do it” (hanging the washing up) and “Can you please”; hers are the same.
  3. If I click “I will do it” she get.s a new notification that I will do hang up the washing and her first notification is being deleted. If she clicks the “I will do it” it’s convinient the other way round.
  4. If I click “Please do it” she’ll be asked in a new notfication to do it because I’m in a meeting in HO. If she clicks her “Can you please?” I get a new notfication to ask me to do it.

Easy way to notify both of us and share the house work.

You’ll need the base automations and another one for every answer to the second notification.

2 Likes

Sure!
I used this as a great inspiration for the overall setup (points & cash).

For the diswasher specificaly:

  1. I have a input_select
  dishingmachine_turn:
    name: Dishing Machine 
    options:
      - MySonName
      - MyDoughterName
    initial: MySonName
  1. A input_boolean
  dishwasher_is_empty:
    name: DishwasherIsEmpty
    icon: mdi:dishwasher
  1. The automation from this template
alias: Dishwasher has finished
description: ''
use_blueprint:
  path: >-
    sbyx/notify-or-do-something-when-an-appliance-like-a-dishwasher-or-washing-machine-finishes.yaml
  input:
    power_sensor: sensor.kitchen_dishwasher_plug_power
    actions:
      - service: input_boolean.turn_off
        data: {}
        entity_id: input_boolean.dishwasher_is_empty
      - service: notify.mobile_app_my_iphone
        data:
          message: >-
            The dishwasher has finished!
            {{states('input_select.dishingmachine_turn')}} has to empty today!
          data:
            persistent: true
            tag: persistent
      - service: notify.mobile_app_wife_iphone
        data:
          message: >-
            The dishwasher has finished!
            {{states('input_select.dishingmachine_turn')}} has to empty today!
          data:
            persistent: true
            tag: persistent
      - service: notify.mobile_app_doughter_iphone
        data:
          message: >-
            The dishwasher has finished!
            {{states('input_select.dishingmachine_turn')}} has to empty today!
          data:
            persistent: true
            tag: persistent
      - service: notify.mobile_app_son_iphone
        data:
          message: >-
            The dishwasher has finished!
            {{states('input_select.dishingmachine_turn')}} has to empty today!
          data:
            persistent: true
            tag: persistent
      - data:
          volume_level: 0.1
        entity_id: media_player.living_echo
        service: media_player.volume_set
      - service: notify.alexa_media
        data:
          data:
            type: tts
          message: >-
            The dishwasher has finished!
            {{states('input_select.dishingmachine_turn')}} has to emtpy today!
          target:
            - media_player.living_echo
      - service: media_player.volume_set
        data:
          volume_level: 0.4
        entity_id: media_player.living_echo
    starting_hysteresis: '5'
    starting_threshold: '2'
    finishing_threshold: '2'
    finishing_hysteresis: '5'
  1. Each kid has his own dashboard with a conditional card (only show him the button is is his/her turn and if the dishwhasher is not empty) … here is my son’s … similar fo rmy doughter
type: conditional
conditions:
  - entity: input_select.dishingmachine_turn
    state: MySonName
  - entity: input_boolean.dishwasher_is_empty
    state: 'off'
  - entity: sensor.daytime
    state: 'True'
card:
  type: entities
  entities:
    - entity: input_boolean.dishwasher_is_empty
      name: Empty Dishwasher
  1. When they “check” it on their dahsboard (changing the input boolean to true) I have another automation (for each) that is:
  • giving them 10 points (each point is 5 euro cents)
  • sned notification to me and my wife
  • changing the input select to the other kid
  • in this way the button disapeares as well from their dashboard (see conditional card above)
alias: MySon Points Management ADD - Dishwasher
description: ''
trigger:
  - platform: state
    entity_id: input_boolean.dishwasher_is_empty
    to: 'on'
    from: 'off'
condition:
  - condition: state
    entity_id: input_select.dishingmachine_turn
    state: MySonName
action:
  - service: input_number.set_value
    data:
      value: '{{ states(''input_number.points_MySonName'') | int + 10 | int }}'
    entity_id: input_number.points_david
  - service: notify.mobile_app_wife_iphone
    data:
      message: '{{states(''input_select.dishingmachine_turn'')}} emptied the dishwasher!'
      data:
        persistent: true
        tag: persistent
  - service: notify.mobile_app_my_iphone
    data:
      message: '{{states(''input_select.dishingmachine_turn'')}} emptied the dishwasher!'
      data:
        persistent: true
        tag: persistent
  - service: input_select.select_next
    data: {}
    entity_id: input_select.dishingmachine_turn
  - service: input_datetime.set_datetime
    data:
      datetime: '{{ now().strftime(''%Y-%m-%d %H:%M:%S'') }}'
    entity_id: input_datetime.dishwasher_last_empty
mode: single
max: 10

PS:

  • I could probably avoid 2 automations on point 5 with 1 script, but I did not have time to make it … maybe later on
  • When HA restarts my son gets the turn … I need to see if the “recorder” HA integration makes this persistent
  • A script will be as weel great to make sure Alexa does not announce the dishwasher finished during the night ( I could not make a condition into the blueprint for that …)
4 Likes

I’m having the same issue. Anyone solved it yet?

To irgnore the wrinkle protection at the end of our dryer programm I would like to set the threshold to 200 watts. Is there an easy way to do that?
I tried to overwrite the maximum 100 w in yaml but the parameter is now beeing displayed with a red underline in the visual editor. That looks like some kind of malfunction to me.

Can you add an option to use conditions for the actions? In the evenings I would prefer a notification on my phone but during daytime I would also like speakers to notify.

1 Like

Hi @Sbyx, nice automation, thanks! :slight_smile:

I’m thinking of an extension to also notify the power consumption of the appliance.

So far I have the below snippet, drawback is that it requires two helper variables per appliance. Is there a way to use automation variables? If so, what service can address these?

action:
  - service: input_number.set_value
    data:
      value: '{{ states(''sensor.power_consumption_today_washer'') }}'
    target:
      entity_id: input_number.washingmachine_usage1
  [...]
  - service: input_number.set_value
    data:
      value: '{{ states(''sensor.power_consumption_today_washer'') }}'
    target:
      entity_id: input_number.washingmachine_usage2
  - service: notify.notify
    data:
      message: "Used {{ states('input_number.washingmachine_usage1') | float - states('input_number.washingmachine_usage2') | float }}{{state_attr('sensor.power_consumption_today_washer', 'unit_of_measurement')}}"

Hi, I just had the same use case and I’ve found this: Adding conditions to blueprint based automation - #2 by 123

I need to test it out myself.

I’ve tried adding conditions to the automation but it didn’t work.

Hello,
would it be possible to modify this blueprint to track the status of a washing machine?
Knowing that it is on above a certain power, that it is in operation if the power is in a certain range and that it has finished when it falls below a certain level.
Or need to be three different automation in conjunction of a state variable?
Thank you

It already does that.

Not really, I can only do action when appliance has finished, not tracking when is active and running.
Or I’m wrong?