Denkfehler Türkontakt Automation

Irgendwie habe ich nen Denkfehler.

Was möchte ich?

  1. Wenn Tür geöffnet wird Schalter on
  2. Tür geschlossen Schalter off
  3. wird die Tür nach 15min nicht geschlossen Schalter off
  4. wird sie aber doch innerhalb der 15 min geschlossen dann Schalter off
alias: Abstellraum Tür 2.0
description: ""
trigger:
  - type: opened
    platform: device
    device_id: 47958bc7ae612ee0ce359a5757cfd890
    entity_id: binary_sensor.tursensor_contact
    domain: binary_sensor
    id: open
  - type: not_opened
    platform: device
    device_id: 47958bc7ae612ee0ce359a5757cfd890
    entity_id: binary_sensor.tursensor_contact
    domain: binary_sensor
    id: close
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: open
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.lichtschalterabstellraum
          - delay:
              hours: 0
              minutes: 15
              seconds: 0
              milliseconds: 0
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.lichtschalterabstellraum
      - conditions:
          - condition: trigger
            id: close
        sequence:
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.lichtschalterabstellraum
mode: single

Das ist meine Automation. Jetzt wird aber immer erst nach 15 min der Schalter off gesetzt. Ich hänge in der Aktion switch.turn.on fest weil da ja der 15 min delay läuft.Oder nicht?

Jemand eine Idee?

Ich würde für Punkt 3 eine zweite Automation machen. Als Trigger ggf. einen Template trigger wie hier erwähnt

und als Bedingung “Tür nicht geschlossen”.

Bei Punkt 4 brauchst du dann theoretisch nicht mal die 15 Min. abfragen, sondern einfach immer “Tür geschlossen - Schalter aus”

Wenn Du es in einer Automation haben möchtest, könntest Du es mit einem 3ten Trigger für Licht eingeschaltet versuchen und da das Delay laufen lassen. Musst dann aber mode auf parallel setzen, damit die nochmal parallel läuft und nicht in der queue verharrt, falls die Tür geschlossen wird.

Habe es jetzt so gelöst. Müsste auch funktionieren. Komm gerade nicht ran weil gewischt wird :frowning:

alias: Abstellraum Tür 2.0
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.tursensor_contact
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.tursensor_contact
            state: "off"
        sequence:
          - service: switch.turn_off
            target:
              entity_id: switch.lichtschalterabstellraum
            data: {}
      - conditions:
          - condition: state
            entity_id: binary_sensor.tursensor_contact
            state: "on"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: switch.lichtschalterabstellraum
            data: {}
  - delay:
      minutes: 15
  - condition: state
    entity_id: binary_sensor.tursensor_contact
    state: "on"
  - service: switch.turn_off
    target:
      entity_id: switch.lichtschalterabstellraum
    data: {}
mode: single


Die Automation aus dem 1. Post müsste auch funktionieren nur den Mode auf Restart stellen.
Ich würde aber empfehlen ohne delay zu arbeiten:

alias: Abstellraum Tür 2.0
description: ""
trigger:
  - type: opened
    platform: device
    device_id: 47958bc7ae612ee0ce359a5757cfd890
    entity_id: binary_sensor.tursensor_contact
    domain: binary_sensor
    id: open
  - type: not_opened
    platform: device
    device_id: 47958bc7ae612ee0ce359a5757cfd890
    entity_id: binary_sensor.tursensor_contact
    domain: binary_sensor
    id: close
  - platform: state
    entity_id:
      - switch.lichtschalterabstellraum
    for:
      hours: 0
      minutes: 15
      seconds: 0
    id: "15"
    to: "on"
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: open
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.lichtschalterabstellraum
      - conditions:
          - condition: trigger
            id: close
        sequence:
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.lichtschalterabstellraum
      - conditions:
          - condition: trigger
            id: "15"
        sequence:
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.lichtschalterabstellraum
mode: single

Edit: hatte “” im yaml vergessen.

LG
Tobi

Vielen Dank, werde ich testen. Mir ist aber gerade noch ein Problem aufgefallen was ich vorher nicht bedacht habe und hast glaub ich auch gleich die Lösung mitgebracht. Das Problem in meiner 2. Lösung war nämlich, öffnet man die Tür innerhalb der 15 min wieder zb. 20 sek vorher wird dann auch der Schalter nach 20. sek auf off gestetzt.