Guten Abend,
ich hab ein kleines Problem mit einer Automation zum Hochfahren der Jalousien zum Sonnenaufgang.
Ziel: Jalousien sollen zum Sonnenaufgang hochfahren, aber frühstens um 7 Uhr (Mo-Fr) bzw. um 7:45 Uhr (Sa-So), aber spätestens um 8 Uhr.
Ich habe schon in einigen Forenbeiträgen, aber auch mit ChatGPT verschiedene Sachen ausgetestet, aber das Problem ist immer, dass der Trigger für das Hochfahren nicht sauber funktioniert. Aktuell wird das Skript um 7 Uhr&7:45 Uhr ausgeführt. Ich glaube, dass das schon falsch ist und der Trigger der Sonnenaufgang sein muss, aber damit hatte ich auch getestet und es hat nicht funktioniert.
Problem: Montag, Sonnenaufgang 6:57 Uhr → Automation wird um 7 Uhr ausgeführt und Jalousien fahren hoch
Dienstag, Sonnenaufgang 7:07 Uhr → Automation wird um 7 Uhr ausgeführt und Jalousien fahren nicht hoch, sondern erst beim Ausführen des zweiten Triggers um 7:45 Uhr
Aktuell habe ich 3 Automationen: Hochfahren bei Sonnenaufgang vor 8 Uhr, Hochfahren bei Sonnengang nach 8 Uhr (Fallback) und noch ein Status-Reset, da ich in den Automationen mit einem Boolean arbeite, damit nicht immer beide Automationen ausgeführt werden.
Nun stellt sich die Frage: wie muss die Automation Hochfahren bei Sonnenaufgang vor 8 Uhr richtig aussehen? Nach meiner Idee müsste man als Trigger den Sonnenaufgang nehmen und dann abfragen, ob der schon um 7 Uhr erfolgt ist und falls nicht, dann müsste er warten bis er erfolgt und falls er nach 8 Uhr erfolgt, muss die Automation beendet werden, da dann die Fallback greifen soll.
Hier ist der Code der Hochfahr-Automationen:
alias: Jalousien_Automatisch morgens hochfahren (Sonnenaufgang vor 8 Uhr)
description: >-
Fährt Jalousien nach Sonnenaufgang hoch, wenn dieser zwischen 7:00/7:45 und
8:00 liegt
triggers:
- at: "07:00:00"
trigger: time
- at: "07:45:00"
trigger: time
conditions:
- condition: or
conditions:
- condition: and
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: template
value_template: "{{ now() > state_attr('sun.sun', 'next_rising') | as_datetime }}"
- condition: and
conditions:
- condition: time
weekday:
- sat
- sun
- condition: template
value_template: "{{ now() > state_attr('sun.sun', 'next_rising') | as_datetime }}"
actions:
- device_id: 58XXX
domain: cover
entity_id: 17XXX
type: open
- ****weitere device_ids***
- target:
entity_id: input_boolean.jalousien_morgens_hochgefahren
action: input_boolean.turn_on
mode: parallel
max: 15
Vielleicht hat ja jemand eine gute Idee für eine Lösung ![]()