Aktion erst ausführen NACHDEM zweite Bedingung erfüllt ist. Wie?

Hallo zusammen,

ich benötige eine Automation, welche durch einen Trigger ausgelöst wird und dann auf eine zweite Bedingung “wartet” und erst dann die Aktion ausführt.

Konkretes morgens aufstehen Beispiel bei mir:

  • Mein Handy wechselt Zustand auf “nicht laden”
  • dann wird geschaut, ob das Handy überhaupt zu Hause ist
  • dann wird geschaut, ob die Kontaktmatte im Bett “abwesend” erkennt
  • dann werden zwei Aktionen ausgeführt

Der Punkt mit der Kontaktmatte soll “warten”. Wie würdet ihr das machen?

Grüße
Julian

Du schiebst Ihn in den Dann mache Bereich und setzt ein Warte auf davor. :wink:

Wenn Du Deinen YAML Code (in </>) postest, könnte man es Dir auch direkt umstellen.

1 „Gefällt mir“
alias: Julian aufstehen
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.ha_remote_is_charging
    from: "on"
    to: null
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition:
  - condition: zone
    entity_id: device_tracker.oneplus_8_pro
    zone: zone.home
  - condition: state
    entity_id: binary_sensor.wassersensor01_water_leak
    state: "off"
action:
  - service: input_boolean.turn_off
    target:
      entity_id:
        - input_boolean.julian_im_bett
    data: {}
  - service: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.steckdose_schreibtisch
mode: single

Ich würde die Kontaktmatte in den Bereich Dann mache legen und zwar in eine Wenn-Dann … in etwa so

Wenn
Kontaktmatte “abwesend”
Dann
führe Aktion aus
Sonst
Warte auf Auslöser “Kontaktmatte abwesend”
führe Aktion aus

action:
  - if:
      - condition: state
        entity_id: sensor.kontaktmatte
        state: Abwesend
    then:
      - service: light.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: light.kuchenlampe
    else:
      - wait_for_trigger:
          - platform: state
            entity_id:
              - sensor.kontaktmatte
            to: Abwesend
            from: Anwesend
        continue_on_timeout: false
        timeout:
          hours: 0
          minutes: 30
          seconds: 0
          milliseconds: 0
      - service: light.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: light.kuchenlampe

Ich habe im Beispiel ein Timeout von 30 Minuten gewählt. In der Zeit wird auf den Auslöser gewartet, danach bricht die Automation ab. Die Zeit kannst du natürlich einstellen wie du es brauchst.

2 „Gefällt mir“