Toralf
18. August 2026 um 20:17
1
Guten Abend,
für die Beleuchtung eines Raumes, abhängig von der Zeit zwischen Sonnenaufgang und Untergang (bezeichne das als Tag), soll, wenn diese Zeit unter 14 Stunden ist, durch die Lampe ausgeglichen werden. Wenn also der Tag kürzer als 14 h ist, soll früh für 1,5 h das Licht eingeschaltet werden und abends für die erforderliche Zeit um die 14 h zu erreichen. Folgende Automation habe ich dazu erstellt, leider funktioniert das nicht so wie gewünscht.
Was muß ich ändern um das gewünschte Szenario zu erreichen?
alias: Raumlicht
description: ''
triggers:
- trigger: sun.sunrise
options:
offset:
hours: 1
minutes: 0
seconds: 0
days: 0
offset_type: before
id: sonnenaufgang vor
alias: Vor Sonnenaufgang
- trigger: sun.sunrise
options:
offset:
hours: 1
minutes: 30
seconds: 0
days: 0
offset_type: after
alias: Nach Sonnenaufgang
id: sonnenaufgang nach
- trigger: sun.sunset
options:
offset:
hours: 1
minutes: 30
seconds: 0
days: 0
offset_type: before
alias: Vor Sonnenuntergang
id: sonnenuntergang vor
- trigger: sun.sunset
options:
offset:
hours: 1
minutes: 30
seconds: 0
days: 0
offset_type: after
alias: Nach Sonnenuntergang
id: sonnenuntergang nach
- trigger: time
at: '23:00:00'
id: aus
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- sonnenaufgang vor
- condition: numeric_state
entity_id: sensor.tageslange
below: 14
sequence:
- action: light.turn_on
metadata: {}
target:
entity_id: light.raumlicht
data: {}
- conditions:
- condition: trigger
id:
- sonnenaufgang nach
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id: light.raumlicht
data: {}
- conditions:
- condition: trigger
id:
- sonnenuntergang vor
- condition: numeric_state
entity_id: sensor.tageslange
below: 14
sequence:
- action: light.turn_on
metadata: {}
target:
entity_id: light.raumlicht
data: {}
- conditions:
- condition: trigger
id:
- sonnenuntergang nach
- condition: light.is_on
target:
entity_id: light.raumlicht
options:
behavior: any
for: '00:00:00'
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id: light.raumlicht
data: {}
- conditions:
- condition: trigger
id:
- aus
- condition: light.is_on
target:
entity_id: light.raumlicht
options:
behavior: any
for: '00:00:00'
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id: light.raumlicht
data: {}
mode: single
miami
19. August 2026 um 07:46
2
Tolle Fehlerbeschreibung! Was funktioniert nicht? einschalten, ausschalten, Tag noch >14h ?
Öffne die Automatisierung, und dann öffne oben rechts die Traces . Da kannst Du sehen was deine Automatisierung macht, oder warum sie etwas nicht macht.
Wie berechnest du
Toralf:
sensor.tageslange
Und dann die Traces anschauen
faebsA
19. August 2026 um 08:33
4
condition: light.is_on ist doch auch keine gültige Bedingung in HomeAssistant?
Müsste eigentlich condition: state und state: 'on' heißen?
Der Morgen läuft bei dir von −1 h vor bis +1,5 h nach Sonnenaufgang, also 2,5 h.
Gewollt war 1,5 h vor Sonnenaufgang, Aus bei Sonnenaufgang.
Das Einschalten 1,5 h vor Sonnenuntergang bringt nichts – da ist es noch hell, das verlängert den Tag nicht.
sensor.tageslange muss eine reine Zahl in Stunden sein, sonst schlägt numeric_state below: 14 fehl. Prüf das bitte
Toralf
19. August 2026 um 18:59
5
Dafür habe ich einen Sensor in der configuration.yaml erstellt.
- sensor:
- name: "Tageslänge Sonne HH:MM"
state: >
{% set rise = state_attr('sun.sun', 'next_rising') | as_timestamp %}
{% set set = state_attr('sun.sun', 'next_setting') | as_timestamp %}
{% if rise > set %}
{% set rise = rise - 86400 %}
{% endif %}
{{ (set - rise) | timestamp_custom('%H:%M', false) }}
Installier dir einfach das hier aus dem Video und lass es die KI machen.
Toralf
19. August 2026 um 19:07
7
sensor.tageslange muss eine reine Zahl in Stunden sein,
Der Sensor ermittelt die Tageslänge auf 2 Kommastellen genau.
Hier der Code, den Claude gebastelt hat:
alias: "Beleuchtung – Tageslichtausgleich Lampe"
description: >
Gleicht einen Tag mit weniger als 14h natürlichem Tageslicht (Sonnenaufgang
bis Sonnenuntergang) über die Lampe aus. Morgens fix 1,5h vor Sonnenaufgang,
abends die verbleibende Zeit ab Sonnenuntergang bis 14h Gesamtdauer erreicht sind.
triggers:
- trigger: sun
event: sunrise
offset: "-01:30:00"
id: morgen_start
- trigger: sun
event: sunrise
offset: "00:00:00"
id: morgen_ende
- trigger: sun
event: sunset
offset: "00:00:00"
id: abend_start
conditions: []
actions:
- choose:
# Morgens: Lampe an, wenn der heutige Tag < 14h wird
- conditions:
- condition: trigger
id: morgen_start
- condition: template
value_template: >
{{ ((state_attr('sun.sun','next_setting') | as_datetime)
- (state_attr('sun.sun','next_rising') | as_datetime)).total_seconds() / 3600 < 14 }}
sequence:
- action: light.turn_on
target:
entity_id: light.lampe
# Bei Sonnenaufgang: Zeitpunkt merken + Lampe aus
- conditions:
- condition: trigger
id: morgen_ende
sequence:
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.sonnenaufgang_heute
data:
time: "{{ now().strftime('%H:%M:%S') }}"
- action: light.turn_off
target:
entity_id: light.lampe
# Abends: verbleibende Zeit bis 14h ausgleichen
- conditions:
- condition: trigger
id: abend_start
- condition: template
value_template: >
{% set aufgang = today_at(states('input_datetime.sonnenaufgang_heute')) %}
{{ ((now() - aufgang).total_seconds() / 3600) < 14 }}
sequence:
- variables:
tageslaenge_std: >
{% set aufgang = today_at(states('input_datetime.sonnenaufgang_heute')) %}
{{ (now() - aufgang).total_seconds() / 3600 }}
abend_dauer_std: "{{ [ (14 - tageslaenge_std - 1.5), 0 ] | max }}"
- if:
- condition: template
value_template: "{{ abend_dauer_std > 0 }}"
then:
- action: light.turn_on
target:
entity_id: light.lampe
- delay:
seconds: "{{ (abend_dauer_std * 3600) | int }}"
- action: light.turn_off
target:
entity_id: light.lampe
mode: single
Toralf
19. August 2026 um 19:21
9
Danke für den Code. Ich werde das testen und mich melden sobald das erledigt wurde.
Da sollte ich Kollege “Claude” wohl auch engagieren?
light.lampe musst du natürlich noch für dich anpassen!
Toralf
19. August 2026 um 19:34
12
Klar, bin gerade am ändern.
Muß ich hier noch einen Helfer einrichten?
Sorry, hab was überlesen bei Claude. Es fehlt noch ein Helfer!
Weiß nur gerade nicht, wie ich dir den am besten bereitstelle…
Code wäre dieser:
input_datetime:
sonnenaufgang_heute:
name: Sonnenaufgang heute
has_date: false
has_time: true
icon: mdi:weather-sunset-up
Und das der Tool Aufruf, den Claude gemacht hätte:
ha_config_set_helper(
helper_type="input_datetime",
name="Sonnenaufgang heute",
has_date=False,
has_time=True,
icon="mdi:weather-sunset-up"
)
Wenn die KI Zugriff hat, legt die alles selber an
Toralf
19. August 2026 um 19:52
14
Das bedarf dann viel Vertrauen zur KI wenn sie vollen Zugriff aus das “Haus” hat.
Den Helfer habe ich erstellt. Sieht soweit gut aus.
Wollte mal nachfragen, ob’s klappt.
Toralf
22. August 2026 um 14:50
16
Prinzipell ja, zumindest wenn ich mir den Traces ansehe. Das Licht selbst wurde noch nicht eingeschaltet, da die Tageslänge aktuell 14,12 h beträgt. Es dauert also noch ein paar Tage bis auch das Licht aktiviert wird. Deshalb bitte ich noch um etwas Geduld, wenn es soweit ist, melde ich mich und berichte.
Toralf
27. August 2026 um 19:53
17
Test bestanden.
Herzlichen Dank für deine Hilfe.
Derzeit wird die Beleuchtung früh wunschgemäß eingeschaltet. Am Abend passiert noch nichts, da die Tageslänge dies noch nicht erfordert.