Daglicht ‘made ingewikkeld’
Waarom makkelijk doen als het ingewikkeld kan, zeg ik altijd. (Ik zeg dat nooit, maar in dit geval is het toch best ingewikkeld geworden, vind ik.) Hopelijk kan ik het toch simpel uitleggen en belangrijker; heb jij er iets aan.
Wat is het probleem?
Ik wil dat de lichten in huis aan gaan als het donker is. Maar iets preciezer: als het een beetje donker is mogen op donkere plekjes in huis de eerste lampen aan, als het dan iets donkerder wordt, dan gaan er wat meer lampen aan en tenslotte gaat alles wat ik ’s avonds aan wil aan.
Andersom in de ochtend gaan de lampen in de omgekeerde volgorde weer uit.
Ik heb daarvoor vier scenes gemaakt. Een scene is een reeks apparaten, zoals lampen, die je binnen de scene instelt op een bepaalde stand. Dus je plaatst een lamp niet alleen in de scene, je zet hem ook aan, of op een bepaalde stand of kleur, of juist uit. Als de scene wordt gestart, zullen alle apparaten in de scene in de gewenste stand worden gezet.
Ik heb de volgende scenes:
0: Alle lichten uit
1: Alleen lichten aan op donkere plekjes
2: Meer lichten aan of dimmers iets hoger
3: Lichten staan op normale avond/donker stand, meeste lichten aan
‘Lichten mogen aan’
Dus ’s avonds gaan de lichten aan en ’s ochtends weer uit. Nee, ik ben niet de hele nacht wakker, dus er is ook nog iets anders: een (virtuele) schakelaar genaamd “Lichten mogen aan”. Als die schakelaar aan staat, dan MOGEN de lichten (automatisch) aan. Handmatig mogen ze natuurlijk altijd aan. Als die schakelaar uit staat, dan mogen de lichten niet automatisch aan.
Als ‘Lichten mogen aan’ wordt UITgeschakeld, dan start ik scene 0 (zie boven).
Als ‘Lichten mogen aan’ wordt AANgezet, dan bepaal ik welke scene (geen, of 1 t/m 3) wordt gestart.
Er is ook een automatisering die daarbij hoort:

Als de stand verandert in AAN:
(‘In AAN’ opengeklapt)

En als het verandert in UIT:
(‘In UIT’ opengeklapt)

Hier is de Yaml:
alias: "'Lichten mogen aan' verandert"
description: ""
triggers:
- trigger: state
entity_id:
- input_boolean.lichten_mogen_aan
alias: Wanneer 'Lichten mogen aan' verandert
conditions: []
actions:
- alias: in AAN
if:
- condition: state
entity_id: input_boolean.lichten_mogen_aan
state: "on"
alias: Lichten mogen aan = AAN
then:
- if:
- condition: numeric_state
entity_id: input_number.daglicht_fase
below: 1
then:
- action: scene.turn_on
metadata: {}
data: {}
target:
entity_id: scene.fase_3_verlichting_aan_alles
alias: Als Daglichtfase = 0
- if:
- condition: numeric_state
entity_id: input_number.daglicht_fase
above: 0
below: 2
then:
- action: scene.turn_on
metadata: {}
data: {}
target:
entity_id: scene.fase_2_verlichting_aan_meer_plekjes
alias: Als Daglichtfase = 1
- if:
- condition: numeric_state
entity_id: input_number.daglicht_fase
above: 1
below: 3
then:
- action: scene.turn_on
metadata: {}
data: {}
target:
entity_id: scene.fase_1_verlichting_aan_donkerste_plekjes
alias: Als Daglichtfase = 2
- alias: in UIT
if:
- condition: state
entity_id: input_boolean.lichten_mogen_aan
state: "off"
then:
- action: scene.turn_on
metadata: {}
data: {}
target:
entity_id: scene.alle_lichten_uit
mode: single
Daglichtfase
Ik heb een helper “Daglichtfase”, dit is een slider die van 0 tot 4 loopt:

0 betekent: helemaal donker
1 betekent: halfdonker/bijna donker
2 betekent: schemerig
3 betekent: licht
4 betekent: zonnig
De slider wordt automatisch bediend door mijn ESP daglichtsensor, maar dat is een andere post (komt nog!). In principe kun je de slider ook met de hand bedienen, bv om te testen.
Het idee van de slider is dat deze overdag op 3 of 4 staat. Dan als het gaat schemeren gaat die naar 2. Is het al bijna donker, maar je kunt nog wel veel buiten zien dan gaat de slider naar 1. Als het echt donker is staat de slider op 0.
’s Ochtends begint de slider op 0 (donker), dan bij het krieken gaat de slider naar 1, als het bijna licht is gaan we naar “schemeren” (2) en als het helemaal licht is naar 3. Als de zon gaat schijnen (of als het erg licht is) gaat de stand zelfs nog naar 4.
Er is een automatisering die wanneer de slider verandert, de juiste scene wordt ingesteld:

De automatisering werkt alleen als ‘Lichten mogen aan’ AAN staat.
De voorwaardelijke acties (zie afbeelding) zorgen ervoor dat de juiste lichtstand wordt ingeschakeld. Dat wordt bepaald door de slider Daglichtfase. De eerste “voorwaardelijk een actie uitvoeren” zie je hier uitgevouwd:

Lichten uit in de nacht
Wanneer we ’s nachts het licht uit doen, dan zetten we dus de schakelaar “Lichten mogen aan” UIT. Bijvoorbeeld met een knopje. De lichten gaan dan uit en zullen niet aan gaan als de slider Daglichtfase verandert.
’s Ochtends zet ik de schakelaar “Lichten mogen aan” AAN met een bewegingsmelder in de gang. De lichten gaan dan aan op de manier die overeenkomt met de Daglichtfase.