Hoofdstuk 4 van 22

Triggers — Wat geeft het startsein?

In het vorige hoofdstuk hebben we een automatisering uit elkaar gehaald in drie delen: We gebruikten daarbij gewone taal om eerst duidelijk te krijgen wat…

In het vorige hoofdstuk hebben we een automatisering uit elkaar gehaald in drie delen:

trigger → voorwaarden → acties

We gebruikten daarbij gewone taal om eerst duidelijk te krijgen wat je eigenlijk wilt bereiken.

Bijvoorbeeld:

Als er beweging wordt gedetecteerd in De Werkplaats, en het is donker genoeg, dan gaat de verlichting aan.

Daar zitten drie verschillende vragen in:

  • Wat gebeurt er waardoor Home Assistant wakker moet worden?
  • Onder welke omstandigheden mag de automatisering doorgaan?
  • Wat moet Home Assistant vervolgens doen?

In dit hoofdstuk kijken we alleen naar de eerste vraag.

Wat geeft het startsein?

Dat is de trigger.

Een trigger is de gebeurtenis of verandering waarop Home Assistant wacht. Zodra die gebeurtenis plaatsvindt, wordt de automatisering gestart. Pas daarna worden eventuele voorwaarden gecontroleerd en kunnen de acties worden uitgevoerd. Home Assistant beschrijft triggers dan ook als gebeurtenissen die een automatisering starten. Een verandering van een sensor, een bepaald tijdstip, zonsondergang of het thuiskomen van een persoon kunnen allemaal als trigger worden gebruikt.

Dat klinkt eenvoudig, maar juist bij triggers worden veel automatiseringen onnodig ingewikkeld.

Daarom beginnen we niet met alle mogelijkheden die Home Assistant biedt.

We beginnen met leren herkennen welke gebeurtenis belangrijk is.

Een trigger is een verandering, niet alleen een situatie

Dit is misschien wel het belangrijkste onderscheid in dit hoofdstuk.

Stel dat je zegt:

Als het donker is, moet de verlichting in De Werkplaats aangaan.

Dat klinkt logisch, maar het is donker beschrijft eigenlijk geen gebeurtenis.

Het beschrijft een situatie.

Home Assistant heeft voor een trigger iets nodig waarop het kan reageren.

Bijvoorbeeld:

Als de hoeveelheid buitenlicht onder 300 lux komt, moet de verlichting aangaan.

Nu gebeurt er iets:

de lichtwaarde passeert de grens van 300 lux.

Dat kan het startsein zijn.

Het verschil lijkt klein, maar is belangrijk.

Vergelijk deze twee zinnen:

Het is na 18:00 uur.

en:

Het wordt 18:00 uur.

De eerste zin beschrijft een toestand.

De tweede zin beschrijft een moment waarop iets gebeurt.

Dat tweede past veel beter bij een trigger.

Je kunt jezelf daarom bij iedere automatisering afvragen:

Welke verandering moet Home Assistant opmerken?

Kun je die vraag duidelijk beantwoorden, dan heb je meestal je trigger gevonden.

Home Assistant wacht niet voortdurend op de hele automatisering

Het helpt om je voor te stellen dat Home Assistant niet iedere seconde opnieuw alle regels van al je automatiseringen van boven naar beneden doorneemt.

Een automatisering heeft één of meer triggers waarop Home Assistant kan reageren. Wanneer zo'n trigger optreedt, start een uitvoering van de automatisering. Daarna worden de voorwaarden bekeken en daarna eventueel de acties uitgevoerd.

Neem deze automatisering:

Als er beweging is in De Werkplaats,
en het lichtniveau is lager dan 300 lux,
zet dan de werkbankverlichting aan.

Hier is:

Trigger:
Er wordt beweging gedetecteerd.

Voorwaarde:
Het lichtniveau is lager dan 300 lux.

Actie:
De werkbankverlichting gaat aan.

Home Assistant wacht dus in de eerste plaats op:

beweging gedetecteerd.

Op dat moment start de automatisering.

Pas daarna vraagt Home Assistant:

Is het lichtniveau op dit moment lager dan 300 lux?

Is het antwoord ja, dan gaat de verlichting aan.

Is het antwoord nee, dan stopt de automatisering daar.

Dat verschil tussen een trigger en een voorwaarde gaan we in het volgende hoofdstuk verder uitwerken.

Veelgebruikte soorten triggers

Home Assistant ondersteunt veel verschillende triggers. Je hoeft ze niet allemaal te kennen voordat je goede automatiseringen kunt maken.

Met een klein aantal kom je al verrassend ver.

Voor beginners zijn vooral deze triggers nuttig:

  • een status verandert;
  • een numerieke waarde passeert een grens;
  • een bepaald tijdstip wordt bereikt;
  • zonsondergang of zonsopkomst vindt plaats;
  • een apparaat veroorzaakt een gebeurtenis;
  • Home Assistant ontvangt een gebeurtenis.

Daarnaast bestaan er onder andere kalender-, locatie-, webhook-, template- en spraaktriggers. Home Assistant kan bovendien meerdere triggers binnen één automatisering gebruiken.

We houden het voorlopig bij de vormen die je in een gewone woning waarschijnlijk het vaakst tegenkomt.

Status verandert

Veel onderdelen binnen Home Assistant hebben een status.

Een lamp kan bijvoorbeeld zijn:

  • on
  • off

Een bewegingssensor kan bijvoorbeeld aangeven:

  • beweging gedetecteerd;
  • geen beweging gedetecteerd.

Een deurcontact kan aangeven:

  • open;
  • gesloten.

Wanneer zo'n status verandert, kan dat een automatisering starten. Iedere wijziging van de status van een entiteit levert binnen Home Assistant een statusverandering op waarop een automatisering kan reageren.

Een eenvoudig voorbeeld uit De Werkplaats:

Als de deur opengaat, zet dan het plafondlicht aan.

De trigger is dan:

deur verandert van gesloten naar open.

Niet:

De deur is open.

Dat verschil wordt vooral belangrijk wanneer je problemen gaat zoeken.

Voorspel eerst

Stel dat de deur al openstaat wanneer je de automatisering inschakelt.

Wat verwacht je dat er gebeurt?

Denk daar even over na voordat je verder leest.

De automatisering heeft als trigger:

deur verandert van gesloten naar open.

Maar die verandering heeft niet plaatsgevonden.

De deur was al open.

Er komt dus geen nieuw startsein.

De automatisering zal daardoor niet starten alleen omdat de deur op dat moment openstaat.

Om hem te activeren moet er opnieuw een relevante statusverandering plaatsvinden.

Bijvoorbeeld:

open → dicht → open

Dit is een veelvoorkomende bron van verwarring.

Je ziet in Home Assistant:

De deur is open.

En toch gebeurt er niets.

De eerste gedachte is dan vaak:

De automatisering werkt niet.

Maar misschien werkt hij precies zoals je hem hebt gemaakt.

Er is alleen nog geen trigger geweest.

Van de ene specifieke toestand naar de andere

Je hoeft niet altijd op iedere verandering te reageren.

Je kunt ook zeggen:

Start alleen wanneer de deur van gesloten naar open gaat.

Dat is meestal beter dan:

Start iedere keer wanneer de status van de deur verandert.

Want anders kan dezelfde automatisering zowel starten bij:

gesloten → open

als bij:

open → gesloten

Terwijl je misschien alleen geïnteresseerd bent in het openen.

Probeer een trigger daarom zo precies mogelijk te beschrijven.

Niet:

Er verandert iets aan de deur.

Maar:

De deur van De Werkplaats wordt geopend.

Dat is voor jou duidelijker en uiteindelijk ook voor Home Assistant.

Een waarde passeert een grens

Niet iedere sensor heeft alleen een eenvoudige toestand zoals aan of uit.

Een temperatuursensor kan bijvoorbeeld aangeven:

19,4 °C

Een lichtsensor:

275 lux

Een luchtvochtigheidssensor:

61 %

Een energiesensor:

-420 W

Bij dit soort sensoren kun je een numerieke trigger gebruiken.

Daarmee laat je een automatisering starten wanneer een waarde boven of onder een ingestelde grens komt. Home Assistant gebruikt hiervoor de numeric state trigger. Die reageert wanneer een waarde een ingestelde drempel passeert.

Bijvoorbeeld:

Als de temperatuur boven 25 °C komt, stuur dan een melding.

De belangrijke woorden zijn hier:

boven 25 °C komt.

Stel dat de temperatuur zich als volgt gedraagt:

24,8 → 24,9 → 25,0 → 25,1 °C

Bij het passeren van de ingestelde grens ontstaat het startsein.

Maar daarna gebeurt dit:

25,1 → 25,4 → 26,0 °C

De temperatuur is nog steeds te hoog, maar hij passeert de grens niet opnieuw.

Er komt dus niet bij iedere nieuwe meting automatisch opnieuw hetzelfde startsein.

Dat is meestal precies wat je wilt.

Denk aan een drempel als een lijn

Je kunt een grenswaarde het beste zien als een lijn.

Bijvoorbeeld:

300 lux

De sensor bevindt zich eerst boven de lijn:

410 lux

Daarna:

355 lux

Daarna:

315 lux

En vervolgens:

285 lux

Op dat laatste moment gaat de waarde van de ene kant van de grens naar de andere.

Dat is een duidelijke gebeurtenis.

Een bruikbare trigger zou dus kunnen zijn:

Het lichtniveau daalt onder 300 lux.

Dat is veel preciezer dan:

Het is donker.

Waarom alleen een lichtdrempel soms niet genoeg is

Laten we onze werkplaatsverlichting eens alleen met een lichtsensor aansturen.

Trigger:

Lichtniveau daalt onder 300 lux.

Actie:

Verlichting gaat aan.

Dat werkt.

Maar stel dat om 15:30 uur een donkere onweersbui overtrekt.

Het lichtniveau daalt naar 250 lux.

Wat gebeurt er?

De lampen gaan aan.

Misschien wil je dat.

Maar misschien wil je de verlichting alleen automatisch inschakelen wanneer iemand daadwerkelijk in De Werkplaats aanwezig is.

Dan wordt de automatisering bijvoorbeeld:

Als er beweging wordt gedetecteerd,
en het lichtniveau is lager dan 300 lux,
zet de verlichting aan.

Nu is de trigger niet meer de hoeveelheid licht.

De trigger is:

beweging.

Het lichtniveau wordt een voorwaarde.

Beide ontwerpen kunnen technisch correct zijn.

Ze gedragen zich alleen anders.

Daarom is het belangrijk om vóór het bouwen te bedenken:

Welke gebeurtenis moet de automatisering starten?

Niet alleen:

Welke waarden spelen een rol?

Een tijdstip als trigger

Een andere eenvoudige trigger is tijd.

Bijvoorbeeld:

Om 07:00 uur gaat op werkdagen de verlichting in De Werkplaats aan.

Het startsein is dan duidelijk:

het wordt 07:00 uur.

De trigger hoeft niets van een sensor te weten.

Home Assistant wacht eenvoudig op dat moment.

Je kunt tijdstriggers bijvoorbeeld gebruiken voor:

  • verlichting;
  • verwarming;
  • ventilatie;
  • een dagelijkse melding;
  • het uitschakelen van apparaten;
  • een vaste ochtend- of avondroutine.

Maar ook hier moeten we goed onderscheid maken tussen een trigger en een voorwaarde.

Vergelijk:

Om 07:00 uur...

met:

Na 07:00 uur...

Om 07:00 uur is een gebeurtenis.

Na 07:00 uur is een situatie.

Daardoor is het eerste geschikt als trigger.

Het tweede is vaak geschikter als voorwaarde.

Zonsopkomst en zonsondergang

Voor verlichting lijkt een vast tijdstip aantrekkelijk.

Bijvoorbeeld:

Om 18:00 uur gaat de buitenverlichting aan.

In december kan dat prima zijn.

In juni waarschijnlijk niet.

Daarom kan Home Assistant ook reageren op de stand van de zon, bijvoorbeeld op zonsopkomst en zonsondergang. De officiële documentatie noemt zonsopkomst, zonsondergang en zelfs een specifieke zonnehoogte als mogelijke triggers.

Je zou dus kunnen zeggen:

Bij zonsondergang gaat de buitenverlichting aan.

Dat beweegt automatisch met het seizoen mee.

Je kunt ook een verschuiving gebruiken.

Bijvoorbeeld:

20 minuten vóór zonsondergang.

of:

30 minuten na zonsondergang.

Dat kan handig zijn wanneer het bij jouw huis door bomen, bebouwing of ligging eerder of juist later donker wordt dan het officiële moment van zonsondergang doet vermoeden.

Maar ook hier geldt:

kies wat je werkelijk wilt meten.

Als je een betrouwbare lichtsensor buiten hebt hangen, kan de werkelijke hoeveelheid licht voor sommige toepassingen nuttiger zijn dan de berekende stand van de zon.

Een donkere regenachtige middag houdt zich tenslotte niet aan zonsondergang.

Apparaten kunnen zelf het startsein geven

Sommige apparaten kunnen rechtstreeks gebeurtenissen doorgeven die je als trigger kunt gebruiken.

Denk bijvoorbeeld aan:

  • een draadloze knop;
  • een afstandsbediening;
  • een bewegingssensor;
  • een slimme schakelaar;
  • een deurbel;
  • een scene-knop.

Home Assistant noemt dit device triggers. Die worden door een integratie aangeboden en kunnen bijvoorbeeld reageren op een knopdruk of een gebeurtenis van een apparaat.

Stel dat je naast de deur van De Werkplaats een draadloze knop hebt.

Je zou kunnen maken:

Als ik de knop één keer indruk, gaat de werkbankverlichting aan.

De trigger is dan:

knop één keer ingedrukt.

Misschien ondersteunt dezelfde knop ook:

  • dubbel indrukken;
  • lang indrukken;
  • loslaten.

Dat zijn dan verschillende gebeurtenissen en kunnen dus verschillende triggers worden.

Een gebeurtenis als trigger

Onder de motorkap werkt Home Assistant veel met events, oftewel gebeurtenissen.

Wanneer er iets gebeurt binnen Home Assistant, kan daarvan een event worden gegenereerd. Automatiseringen kunnen op zulke events reageren.

Voor beginners hoef je daar meestal nog niet diep in te duiken.

Het is vooral belangrijk om te begrijpen dat Home Assistant een groot deel van je woning ziet als een voortdurende stroom gebeurtenissen.

Een sensor verandert.

Een knop wordt ingedrukt.

Iemand komt thuis.

De zon gaat onder.

Een timer loopt af.

Een kalenderafspraak begint.

Home Assistant kan dergelijke gebeurtenissen gebruiken als startsein voor automatiseringen.

Later, wanneer je ingewikkeldere systemen bouwt, wordt dat inzicht steeds nuttiger.

Hoelang moet iets waar zijn?

Soms wil je niet reageren op iedere korte verandering.

Stel dat een lichtsensor rond de grens van 300 lux schommelt:

305 → 296 → 303 → 292 → 301 lux

Dat kan bijvoorbeeld gebeuren doordat wolken voor de zon trekken.

Als je daar direct op reageert, kan een automatisering ongewenst vaak starten.

Daarom kunnen bepaalde triggers eisen dat een toestand gedurende een bepaalde tijd aanwezig blijft.

Bijvoorbeeld:

Het lichtniveau moet 5 minuten lager dan 300 lux zijn.

Of:

Er moet 10 minuten geen beweging zijn.

Dat maakt een automatisering rustiger.

De gewone zin:

Zet de verlichting uit als er 10 minuten niemand is.

kun je dan preciezer maken als:

Als gedurende 10 minuten geen beweging is gedetecteerd, zet dan de verlichting uit.

Nu is het startsein veel duidelijker.

Een praktisch voorbeeld: verlichting in De Werkplaats

We bouwen nog niets.

We gaan eerst redeneren.

Je wilt:

De verlichting in De Werkplaats moet automatisch aangaan wanneer je binnenkomt en het donker is.

Probeer eerst zelf de trigger te vinden.

Welke gebeurtenis moet Home Assistant opmerken?

Waarschijnlijk:

Er wordt beweging gedetecteerd.

Dat wordt onze trigger.

Dan blijft over:

...en het donker is.

Dat is geen startsein.

Dat beschrijft een situatie die gecontroleerd moet worden.

Dat wordt dus waarschijnlijk een voorwaarde.

En:

De verlichting gaat aan.

Dat is de actie.

We krijgen:

Trigger

Beweging wordt gedetecteerd.

Voorwaarde

Lichtniveau is lager dan 300 lux.

Actie

Verlichting aan.

Je ziet hoe gewone taal langzaam verandert in een structuur die Home Assistant kan uitvoeren.

Verander het voorbeeld en voorspel het gedrag

Nu veranderen we maar één onderdeel.

Dat is een goede manier om automatiseringen te leren begrijpen.

Onze oorspronkelijke automatisering begon met:

Als beweging wordt gedetecteerd...

We veranderen de trigger in:

Als het lichtniveau onder 300 lux komt...

De automatisering wordt nu:

Trigger

Lichtniveau komt onder 300 lux.

Voorwaarde

Er is iemand aanwezig.

Actie

Verlichting aan.

Technisch lijkt dit bijna hetzelfde.

Maar het gedrag is anders.

Stel:

  • om 16:00 uur daalt het lichtniveau onder 300 lux;
  • er is niemand in De Werkplaats.

De automatisering start.

De aanwezigheidsvoorwaarde is niet waar.

Er gebeurt dus niets.

Om 16:15 uur loop je De Werkplaats binnen.

Het lichtniveau is nog steeds 250 lux.

Wat gebeurt er?

Waarschijnlijk niets.

De trigger was namelijk:

lichtniveau komt onder 300 lux.

Dat gebeurde om 16:00 uur.

Om 16:15 uur is het lichtniveau nog steeds lager dan 300 lux, maar het passeert de grens niet opnieuw.

Je binnenkomst is in deze automatisering geen trigger.

Dat is een belangrijk inzicht.

De automatisering is niet kapot.

We hebben alleen een trigger gekozen die niet goed past bij het gedrag dat we wilden.

De vraag achter de trigger

Wanneer je twijfelt tussen meerdere triggers, stel jezelf dan deze vraag:

Op welk moment wil ik dat Home Assistant opnieuw gaat nadenken?

Bij onze verlichting is dat waarschijnlijk:

Iedere keer wanneer iemand binnenkomt.

Dus beweging of aanwezigheid is een logische trigger.

Daarna mag Home Assistant bekijken:

Is het donker genoeg?

Dat maakt de structuur begrijpelijk.

Het helpt bovendien later enorm bij het zoeken naar fouten.

Eén automatisering kan meerdere triggers hebben

Soms zijn er meerdere gebeurtenissen waarop je wilt reageren.

Home Assistant staat toe dat één automatisering meerdere triggers heeft. Wanneer één van die triggers afgaat, kan de automatisering starten.

Stel bijvoorbeeld dat de verlichting in De Werkplaats uit moet wanneer:

  • er gedurende 15 minuten geen beweging is geweest;
  • óf het 23:30 uur wordt.

Dan kunnen beide gebeurtenissen een trigger zijn.

Trigger 1

15 minuten geen beweging.

Trigger 2

23:30 uur.

Daarna kunnen dezelfde acties worden uitgevoerd:

Actie

Verlichting uit.

Je hoeft daarvoor dus niet noodzakelijk twee volledig losse automatiseringen te maken.

Maar maak het niet meteen te ingewikkeld

Dat iets kan, betekent nog niet dat je het meteen moet gebruiken.

Een automatisering met:

  • vijf triggers;
  • vier voorwaarden;
  • drie keuzepaden;
  • templates;
  • timers;
  • verschillende acties;

kan prima werken.

Maar wanneer hij niet doet wat je verwacht, heb je ook veel mogelijke oorzaken.

Vooral in het begin werkt een andere aanpak beter:

begin zo eenvoudig mogelijk.

Bijvoorbeeld:

Beweging → lamp aan.

Test dat eerst.

Werkt dat betrouwbaar?

Voeg dan pas toe:

Alleen wanneer lichtniveau lager dan 300 lux is.

Test opnieuw.

Voeg daarna eventueel toe:

Alleen tussen bepaalde tijden.

Door steeds één onderdeel tegelijk toe te voegen, weet je ook welk onderdeel verantwoordelijk is wanneer het gedrag verandert.

Geef jezelf een voorspelmoment

Voordat je een automatisering opslaat, probeer je altijd te voorspellen wat er zal gebeuren.

Neem:

Als gedurende 10 minuten geen beweging is gedetecteerd, zet dan het licht uit.

Vraag jezelf af:

Wat moet ik doen om deze automatisering te laten starten?

Je zou bijvoorbeeld kunnen verwachten:

  • De bewegingssensor ziet eerst beweging.
  • Daarna verlaat ik De Werkplaats.
  • Er wordt geen nieuwe beweging gemeten.
  • Na 10 minuten ontstaat het startsein.
  • De automatisering begint.
  • De verlichting gaat uit.

Door dit vooraf uit te spreken, heb je meteen een testplan.

Wanneer het licht na tien minuten niet uitgaat, hoef je niet willekeurig instellingen te veranderen.

Je begint bij de eerste vraag:

Heeft de trigger daadwerkelijk plaatsgevonden?

Kijk eerst naar de trigger wanneer iets niet werkt

Home Assistant heeft hulpmiddelen waarmee je kunt zien hoe een automatisering is uitgevoerd. De trace laat stap voor stap zien wat de automatisering activeerde, welke voorwaarden werden gecontroleerd en welke acties werden uitgevoerd.

Dat gaan we later uitgebreider gebruiken.

Maar je kunt nu al een goede gewoonte aanleren.

Wanneer een automatisering niet doet wat je verwacht, verander dan niet meteen allerlei instellingen.

Controleer eerst:

Is de automatisering überhaupt gestart?

Als het antwoord nee is, hoef je de actie nog niet te onderzoeken.

De lamp kan perfect bereikbaar zijn.

De actie kan perfect zijn ingesteld.

De voorwaarden kunnen kloppen.

Maar zonder trigger begint de automatisering niet.

Werk daarom van boven naar beneden:

1. Is de trigger opgetreden?

Zo ja:

2. Waren de voorwaarden waar?

Zo ja:

3. Is de actie uitgevoerd?

Die manier van denken maakt foutzoeken veel overzichtelijker.

Een trigger testen zonder te gokken

Neem opnieuw:

Als beweging wordt gedetecteerd, zet de werkbankverlichting aan.

Voordat je test:

Voorspel

Als ik De Werkplaats binnenloop, verwacht ik dat de bewegingssensor van geen beweging naar beweging verandert.

Daarna:

Waarnemen

Kijk in Home Assistant naar de sensor.

Verandert zijn status daadwerkelijk?

Daarna:

Controleren

Is de automatisering gestart?

Pas wanneer dat allemaal klopt, kijk je naar de lamp.

Daarmee voorkom je een veelgemaakte fout:

je kijkt alleen naar het eindresultaat.

Lamp blijft uit → automatisering werkt niet.

Maar er kunnen veel oorzaken zijn.

Misschien zag de sensor je niet.

Misschien veranderde de status wel, maar gebruikte je de verkeerde entiteit.

Misschien startte de automatisering wel, maar hield een voorwaarde hem tegen.

Misschien werd de actie uitgevoerd, maar was de lamp niet bereikbaar.

Door iedere stap afzonderlijk te bekijken, verandert een foutmelding of onverwacht resultaat in bruikbare informatie.

Kies een trigger die echt iets betekent

Een betrouwbare automatisering begint met een gebeurtenis die goed aansluit bij wat er in werkelijkheid gebeurt.

Dat klinkt vanzelfsprekend, maar er zit een belangrijk verschil tussen bijvoorbeeld:

Het is donker.

en:

Iemand komt De Werkplaats binnen.

Als het doel is om de lamp aan te zetten wanneer jij binnenkomt, dan is jouw binnenkomst waarschijnlijk de belangrijkste gebeurtenis.

Dat het donker is, bepaalt vervolgens of de verlichting ook daadwerkelijk nodig is.

Je kunt dezelfde gedachte bij veel automatiseringen gebruiken.

Verwarming

Gewone taal:

Zet de verwarming aan als de temperatuur te laag wordt en er iemand thuis is.

Mogelijke trigger:

Temperatuur daalt onder 18 °C.

Mogelijke voorwaarde:

Iemand is thuis.

Ventilatie

Gewone taal:

Zet de ventilatie aan wanneer de luchtvochtigheid in de badkamer te hoog wordt.

Mogelijke trigger:

Luchtvochtigheid stijgt boven 70%.

Buitenverlichting

Gewone taal:

Zet de buitenlamp aan wanneer er 's avonds beweging bij de achterdeur is.

Mogelijke trigger:

Beweging achterdeur.

Mogelijke voorwaarde:

Zon is onder.

Boiler

Gewone taal:

Verwarm het water als er voldoende overtollige zonnestroom beschikbaar is.

Mogelijke trigger:

Teruglevering passeert een gekozen grens.

Daarna kunnen voorwaarden bepalen of bijvoorbeeld de watertemperatuur nog laag genoeg is.

Steeds komt dezelfde vraag terug:

Welke verandering vormt het startsein?

Schrijf de trigger eerst in gewone taal

Wanneer je een nieuwe automatisering bedenkt, hoef je niet meteen in Home Assistant te zoeken naar termen zoals:

  • State;
  • Numeric state;
  • Device;
  • Time;
  • Sun;
  • Event.

Schrijf eerst op wat je bedoelt.

Bijvoorbeeld:

Wanneer de deur van De Werkplaats wordt geopend...

Of:

Wanneer het buiten donkerder wordt dan 300 lux...

Of:

Wanneer het 22:30 uur wordt...

Of:

Wanneer tien minuten lang geen beweging is gezien...

Pas daarna zoek je in Home Assistant naar de trigger die daarbij hoort.

Dat voorkomt dat je je automatisering gaat aanpassen aan de mogelijkheden die toevallig op het scherm staan.

De techniek moet jouw bedoeling uitvoeren.

Niet andersom.

Een korte oefening

Probeer bij de volgende zinnen alleen de trigger te vinden.

Nog niet nadenken over de actie.

1

Wanneer de temperatuur in De Werkplaats boven 27 °C komt, moet de ventilator aangaan.

Trigger:

Temperatuur stijgt boven 27 °C.

2

Wanneer ik 's avonds De Werkplaats binnenloop, moet de verlichting aangaan als het donker is.

Trigger:

Beweging wordt gedetecteerd.

Het is donker is waarschijnlijk een voorwaarde.

3

Iedere avond om 23:30 uur moeten alle lampen uit.

Trigger:

Het wordt 23:30 uur.

4

Als de achterdeur langer dan vijf minuten openstaat, wil ik een melding.

Trigger:

Achterdeur is vijf minuten onafgebroken open.

5

Wanneer de hoeveelheid daglicht te laag wordt, moet de verlichting aangaan.

Trigger:

Lichtwaarde daalt onder de gekozen grens.

Merk op dat we nog niets hebben ingesteld.

Toch kunnen we de automatiseringen al veel nauwkeuriger beschrijven.

Dat is precies de bedoeling.

Wat je uit dit hoofdstuk moet meenemen

Een trigger is het startsein van een automatisering.

Niet alles wat in je zin staat, hoort in de trigger.

Vraag jezelf steeds af:

Welke gebeurtenis of verandering moet Home Assistant opmerken?

Een goede trigger kan bijvoorbeeld zijn:

  • beweging wordt gedetecteerd;
  • een deur wordt geopend;
  • een temperatuur passeert een grens;
  • een lichtwaarde wordt lager dan een ingestelde waarde;
  • het wordt een bepaald tijdstip;
  • de zon gaat onder;
  • een knop wordt ingedrukt.

Denk daarbij vooral in veranderingen.

Niet:

De deur is open.

Maar:

De deur gaat open.

Niet:

Het is na 23:00 uur.

Maar:

Het wordt 23:00 uur.

Niet:

De temperatuur is hoog.

Maar:

De temperatuur stijgt boven 25 °C.

En wanneer een automatisering niet doet wat je verwacht, stel dan als eerste vast:

Heeft de trigger werkelijk plaatsgevonden?

Als je dat kunt beantwoorden, heb je de eerste stap gezet naar automatiseringen die niet alleen werken, maar die je ook kunt begrijpen en controleren.

In het volgende hoofdstuk gaan we naar het tweede deel van onze structuur:

de voorwaarden.

Een trigger zegt:

Er is iets gebeurd. Moet ik gaan kijken?

Een voorwaarde stelt daarna een andere vraag:

Mag de automatisering onder deze omstandigheden ook werkelijk doorgaan?