Ik zal beginnen met mijn flow voor verlichting
Probleemstelling:
De verlichting moet automatisch gestuurd worden op basis van een aantal parameters:
- Donker
- Tijd/dag (variaties op feestdagen)
- Home/Away (op basis van de status van mijn alarmsysteem)
- Slaapmodus actief ?
- Holiday mode
Ook wil ik (sommige gevallen) niet dat als bv de spots op 40% ingesteld staan en een andere scene wordt actief, dat de spots dan naar 20% gaan omdat dat zo in die scene ingesteld is. Ik kan bij lampen een minimale brightness instellen: is de brightness beneden die waarde, dan wordt die aangepast. Is ie hoger, dan blijft ie zo.
Uitleg:
De 3 groene timers zijn gedefinieerd voor verschillende tijdstippen:
- Weekdagen (uitgezonderd feestdagen)
- Weekend (uitgezonderd feestdagen)
- Feestdagen (kerstavond, kerstmis, oudejaar, nieuwjaar). Op deze dagen moet de afwezigheidsverlichting langer branden
De 3 timers (waarvan er maar 1 per keer actief is), worden boolean ge'ORd. Deze timers geven aan of de afwezigheidsverlichting actief moet zijn wanneer we niet thuis zijn, of dat de lampen uitgeschakeld worden. Als we thuis zijn en deze timers worden inactief, dan blijven de lampen dus gewoon aan.
Het traffic light zorgt ervoor dat ik makkelijk de hele flow kan disablen.
All verlichting uit behalve spots keuken en Group to entities (subflow): Deze zorgen ervoor dat ik makkelijk alle lampen kan uitdoen, met uitzondering van een aantal lampen.
Spots rondom min 15% (subflow): Hiermee kan ik makkelijk een minimale brightness instellen van een lamp. Als die op het moment van uitvoeren hoger is dan de ingestelde waarde, gebeurd er niets.
Zoals je ziet maak ik veel gebruik van link nodes, om de flow overzichtelijk te houden. De statemachine bepaald op basis van de inputs welke 'scene' actief is.