Irgendwie habe ich nen Denkfehler.
Was möchte ich?
Wenn Tür geöffnet wird Schalter on
Tür geschlossen Schalter off
wird die Tür nach 15min nicht geschlossen Schalter off
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
Moin @Schwippser ,
ich habe es mir noch mal durch den Kopf gehen lassen und mit einem template trigger müsste es gehen.
Einfach in UI Editor beim Template Trigger einfügen und noch automation.test_21 in deine Automation entity id ändern.
{% if (as_timestamp(state_attr('automation.test_21','last_triggered')) | int) + 1260 <= now().timestamp() | int %}
true
{% else %}
false
{% endif %}
Was es macht:
wenn last triggert +21 min(1260 Sekunden) < als jetzt dann wird ausgelöst.
dürfte so auch ein…
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
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
totow
21. Mai 2023 um 10:31
5
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.