Automation trigger not triggering below -0.1

I would suggest you rewrite it completely.
Your idea of having an automation waiting for hours is prone to not work.
Delaying can be done for a few minutes, but more than that is not recommended.

alias: Dishwasher turn on
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.dishwasher_thermometer
    for:
      hours: 0
      minutes: 1
      seconds: 0
    above: 26.9
conditions:
  - condition: state
    entity_id: input_boolean.dishwasher_done
    state: "off"
  - condition: state
    entity_id: input_boolean.dishwasher_on
    state: "off"
actions:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_on
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_done
mode: single
alias: Dishwasher done
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.dishwasher_gettin_hot
    for:
      hours: 0
      minutes: 0
      seconds: 0
    below: -0.1
conditions:
  - condition: state
    entity_id: input_boolean.dishwasher_on
    state: "on"
actions:
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_on
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_done
  - choose:
      - conditions:
          - condition: time
            after: "09:00:00"
            before: "22:00:00"
        sequence:
          - action: notify.mobile_app_pixel_9
            metadata: {}
            data:
              message: Dishwasher done!
      - conditions:
          - condition: state
            entity_id: switch.living_room_surge_protector_mss426_switch_1
            state: "on"
        sequence:
          - action: notify.lg_webos_tv_un73006la
            metadata: {}
            data:
              message: Dishwasher done!
mode: single

not sure I got it all right but this is a quick sample of what I would do.

1 Like

I think it might be something like this. I had a “wait” function before checking the dishwasher_gettin_hot and i think it waited too long. By the time dishwasher_gettin_hot started looking, the temperature was stable and not taking any readings, and then the first reading it took was already below -0.1. I’ve changed it so it waits less time and should take more readings and will be able to see the dishwasher_gettin_hot go from above 0 to below -0.1.

Running it now. Wish me luck

As I said. I do not recommend the method you use.
It will fail on you. It really will.
This is not an automation you can’t live without, and if it fails it really doesn’t matter.
But you should always think about not delaying for long periods when creating automations since a reload of the automations or restart of HA will break your automations.

Did I miss this function in your Automation?

Sorry for the long wait on response, new users can only post so much on their first day.

Ok so it was that I was waiting too long. Reduced the timer so the second trigger could get a few readings.

However took into consideration the comments about the long waits and decided to just split the automation into 3 stages. A trigger when it gets hot, a first stage complete when it cools down the first time (turns on a Boolean), and then a final cooling down

alias: Dishwasher stage 1
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.dishwasher_thermometer
    for:
      hours: 0
      minutes: 1
      seconds: 0
    above: 26.9
conditions:
  - condition: state
    entity_id: input_boolean.dishwasher_on
    state: "off"
  - condition: state
    entity_id: input_boolean.dishwasher_done
    state: "off"
actions:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_on
mode: single

alias: Dishwasher stage 2
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.dishwasher_gettin_hot
    for:
      hours: 0
      minutes: 1
      seconds: 0
    below: 0
conditions:
  - condition: state
    entity_id: input_boolean.dishwasher_on
    state: "on"
  - condition: state
    entity_id: input_boolean.dishwasher_done
    state: "off"
  - condition: state
    entity_id: input_boolean.dishwasher_stage_1_complete
    state: "off"
actions:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_stage_1_complete
mode: single

alias: Dishwasher Stage 3
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.dishwasher_gettin_hot
    for:
      hours: 0
      minutes: 1
      seconds: 0
    below: 0
conditions:
  - condition: state
    entity_id: input_boolean.dishwasher_on
    state: "on"
  - condition: state
    entity_id: input_boolean.dishwasher_done
    state: "off"
  - condition: state
    entity_id: input_boolean.dishwasher_stage_1_complete
    state: "on"
actions:
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_on
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_stage_1_complete
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.dishwasher_done
  - choose:
      - conditions:
          - condition: time
            after: "09:00:00"
            before: "22:00:00"
        sequence:
          - action: notify.mobile_app_pixel_9
            metadata: {}
            data:
              message: Dishwasher done!
      - conditions:
          - condition: state
            entity_id: switch.living_room_surge_protector_mss426_switch_1
            state: "on"
        sequence:
          - action: notify.lg_webos_tv_un73006la
            metadata: {}
            data:
              message: Dishwasher done!
mode: single

Cheers for all the help everyone!

2 Likes

Mmm…
Can’t you change the trigger to below 0 for 30 minutes?
That is a very big improvement.
If you restart HA after 29 minutes then this automation will fail completely.
But with for 30 will just be delayed with 30 minutes.

Oh is that how it works? I don’t know it remembered over restarts. I’ll make that change, thanks

It doesn’t remember over restarts but it starts counting again.
Wait…
Never mind. So does your method.

If you want it to survive restarts, use timers.

Late to the party, but you DO realise you can make this automation much simpler by getting a power monitoring plug rated for your dishwasher, right?

Yep, that’s what I did with the washing machine but the dishwasher is plumbed in and I don’t have access to the plug so I had to do it this stupid way

@parautenbach do you mean wait function or something else?

Really?
Around here the plug is usually below the sink.

What he means is essentially create a fourth automation.
So stage 3 starts a timer for 30 minutes.
And stage 4 triggers on timer done.
That way each automation is very short in time, just the way they should.
And timers continue when HA restarts.

1 Like