im HA bin ich recht neu unterwegs, in Homematic habe ich schon ein paar Jährchen Erfahrung. Folgengendes Szenario. Wie würden die Experten hier unter euch das lösen.
Abends (Rolladen sind geschlossen und es ist dunkel)
Man öffnet man die Terrassentüre.
Tür Sensor erkennt Türe wird geöffnet, und fährt Rollladen hoch, und schaltet nach 20 sec das Terrassenlicht (Zigbee) ein.
Wird die Türe wieder geschlossen, fährt der Rolladen nach 30 sec wieder runter und das Licht geht nach 2 min aus.
Rolladen und Türsensor kommen von Homematic (Rasperymatic Addon)
Für die Bedingung “Abends” bringt Homeassistant diverse Entities zum Sonnenaufgang/-untergang und zur Dämmerung mit, die sich dynamisch dem Jahresverlauf anpassen und an die Du das knüpfen kannst. Im Winter muss das Licht ja schon nach 16 Uhr angehen und im Sommer erst nach 22 Uhr, weil es ansonsten noch hell ist und eine eingeschaltete Leuchte nur Stromverschwendung wäre.
Da fehlt nur noch die Prüfung auf den zweiten Trigger (aus) um die Beleuchtung auch anschließend wieder auszuschalten. Zudem fehlen die gewünschten Verzögerungen von 20 sec für das einschalten und 2 Minuten für das ausschalten. Und das hochfahren und runterfahren der Rollladen…
Schwieriger wird es bei den Grenzwerten. D.h. im Sommer wenn du bereits vor Sonnenuntergang auf der Terrasse sitzt, wird das Licht nicht angehen wenn die Sonne untergeht und die Tür schon offen ist. Dafür könntest du den Sonnenuntergang auch als Trigger dazu nehmen und die Conditions noch um “Tür offen” erweitern.
Aber es sieht schon mal gut aus. Viel Spass beim basteln
Ah, zum Glück!
Hast du schonmal ChatGPT versucht? Mir hilft das oft, wenn ich zwar Ideen habe, aber nicht wirklich Ahnung davon, wie man das umsetzen könnte. Zumindest als Schubser in die richtige Richtung oft ganz brauchbar.
Des Rätsels Lösung brachte mir tatsächlich Chat GPT.
Damit flutscht es einwandfrei.
alias: Terrassenlicht bei offener Tür
description: >-
Schaltet das Terrassenlicht bei geöffneter Tür und nach Sonnenuntergang ein,
und schaltet es 3 Minuten nach dem Schließen der Tür aus.
triggers:
- entity_id: binary_sensor.terrassenture_terrassentuere
to: "on"
trigger: state
- entity_id: binary_sensor.terrassenture_terrassentuere
to: "off"
trigger: state
conditions:
- condition: sun
after: sunset
before: sunrise
actions:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.terrassenture_terrassentuere
state: "on"
sequence:
- target:
entity_id: light.terrasse_leuchte
data:
brightness: 255
action: light.turn_on
- conditions:
- condition: state
entity_id: binary_sensor.terrassenture_terrassentuere
state: "off"
sequence:
- delay: "00:03:00"
- target:
entity_id: light.terrasse_leuchte
action: light.turn_off
data: {}
mode: single
Ich arbeite an dieser Stelle gerne mit IDs der Trigger - schau mal:
alias: Terrassenlicht bei offener Tür
description: >-
Schaltet das Terrassenlicht bei geöffneter Tür und nach Sonnenuntergang ein,
und schaltet es 3 Minuten nach dem Schließen der Tür aus.
triggers:
- entity_id: binary_sensor.terrassenture_terrassentuere
to: "on"
trigger: state
id: auf
- entity_id:
- binary_sensor.terrassenture_terrassentuere
to: "off"
trigger: state
id: zu
for:
hours: 0
minutes: 3
seconds: 0
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- auf
- condition: sun
after: sunset
before: sunrise
sequence:
- target:
entity_id: light.terrasse_leuchte
data:
brightness: 255
action: light.turn_on
- conditions:
- condition: trigger
id:
- zu
sequence:
- target:
entity_id: light.terrasse_leuchte
action: light.turn_off
data: {}
mode: single
Außerdem habe ich den Check auf Sonnenstand nur beim ausschalten eingebaut - ansonsten könnte es sein, das die Lampen (gaaaanz früh morgens) nicht ausgeschaltet werden.
Die Verzögerung um 3 Minuten ist in meine Script als Delay im Trigger untergebracht - finde ich persönlich transparenter.
Gibt Dir vielleicht nochmals eine andere Sichtweise.