Blueprints voor Home Assistant: nog gemakkelijker je huis automatiseren
Geplaatst: 16 november 2023 - 08:29
Gertjan Groen
Automatiseringen die je maakt in Home Assistant kunnen soms erg complex worden. Een zogeheten blueprint kan enorm helpen, zeker voor geavanceerdere automatiseringen. Daar gaan we in dit artikel mee werken. We laten zien wat je ermee kunt, hoe je ze toevoegt aan Home Assistant en hoe je zelf een blueprint maakt.
Home Assistant is een zeer flexibel platform voor thuisautomatisering. Die flexibiliteit zie je ook terug bij het maken van automatiseringen. Hoewel je die vrij gemakkelijk zelf kunt opstellen, kent Home Assistant sinds 2021 ook de zogenoemde blueprints. De letterlijke vertaling is blauwdruk. Hiermee wordt een uitgewerkt plan of concept bedoeld. Je zou ook de term template of workflow kunnen gebruiken. Ze verbergen de achterliggende logica en vragen alleen wat configuratie. Je wijst bijvoorbeeld een sensor aan, enkele condities of uitzonderingen, en de gewenste acties.
Een voordeel van blueprints is dat ze zijn bedacht, gemaakt en getest door gevorderde gebruikers. Je hoeft dus niet zelf het wiel uit te vinden. Blueprints zijn heel doelgericht. Ze zijn vaak gemaakt voor een specifiek apparaat of specifieke toepassing. Je krijgt er ook dingen mee voor elkaar die erg uitdagend kunnen zijn als je zelf gaat knutselen. Genoeg redenen dus om ze te verkennen en gebruiken!
1 Automatiseringen
In Home Assistant is een trigger nodig om een automatisering te starten. Dat kan bijvoorbeeld een bepaald tijdstip zijn, een tijdpatroon (zoals elke vijf minuten), een statusverandering (zoals het indrukken van een knop of de detectie van beweging), het ondergaan van de zon, het overschrijden van een bepaalde temperatuur, een inkomende webhook, het verlaten of bereiken van een bepaalde zone of het scannen van een NFC-tag.
Verder kunnen er extra voorwaarden zijn die worden geëvalueerd. Zo kun je beperken wanneer een automatisering wordt gestart. Denk aan het aanzetten van een lamp bij beweging, maar alleen als het donker is. De acties die je definieert kunnen óók weer voorwaardelijk zijn. Die lamp kun je bijvoorbeeld 's nachts een lagere helderheid geven dan in de vroege avond. Er valt dus enorm veel logica in één automatisering te stoppen (zie kader ‘Veel logica in één regel’).

Ook het scannen van een NFC-tag kun je als trigger in een automatisering gebruiken.

Een combinatie van triggers, voorwaarden en acties kan al snel ingewikkeld worden.
2 YAML-code
Je kunt automatiseringen via de gebruikersinterface maken, waarbij je in menu’s (die je via de drie puntjes bereikt) diverse handigheidjes vindt, zoals het herschikken of knippen en plakken van onderdelen, en het uitvoeren van acties. Ook is er een optie om te wisselen tussen de visuele editor en YAML.
Het is handig om wat ervaring met YAML-code op te doen, door minimaal af en toe te spieken. Bij de automatiseringen die in forums worden gedeeld, zie je ook altijd zulke YAML-code. Wil je zelf een blueprint maken of de werking van een blueprint controleren, dan krijg je hier ook weer mee te maken.

Het is heel praktisch als je wat ervaring met YAML hebt.
3 Mogelijkheden blueprints
Net als in een automatisering, kan ook in een enkele blueprint heel veel worden afgehandeld. Een blueprint heeft feitelijk ook een automatisering als basis. Daarom kun je vaak de trigger, voorwaarden en acties herkennen. Het verschil is dat via invoer- en selectievelden alleen wat configuratie nodig is, zoals het aanwijzen van een sensor of lamp, het kiezen van een tijd en definiëren van de acties.
De documentatie en beschrijvingen helpen daarbij. Met een blueprint kun je ook zaken automatiseren die erg uitdagend kunnen zijn zonder zo’n blueprint. Een voorbeeld is een Zigbee-afstandsbediening, waarbij je veelal naar specifieke gebeurtenissen ofwel events zult moeten luisteren. Dat wordt nog veel complexer als je ook bijvoorbeeld iets met een dubbelklik wilt doen of een vertraging wilt inbouwen om te voorkomen dat acties onbedoeld meermaals worden uitgevoerd. Met de blueprint hoef je alleen de afstandsbediening te selecteren. Daarna kies je per knop welke acties bij de verschillende handelingen passen.

Deze blueprint waarschuwt als de batterij van een willekeurige sensor bijna leeg is.
4 Blueprints ontdekken
Blueprints kun je beheren door via Instellingen / Automatiseringen en scènes naar het tabblad Blueprints te gaan. Je ziet hier enkele ingebouwde blueprints (zie kader ‘Handige ingebouwde blueprints’) die je direct kunt gebruiken.
Je kunt ook nieuwe blueprints importeren. Een handig startpunt om deze te vinden, is het Home Assistant-forum. Om de populairste te zien, kun je sorteren op het aantal weergaven.
Je zou voor het vinden van blueprints ook een zoekopdracht in Google kunnen proberen. Merk op dat er verschillende versies van een blueprint kunnen zijn. Het is dan raadzaam de meest recente versie te achterhalen. Vaak kun je daarvoor op een GitHub-pagina terecht.

Op het forum van Home Assistant vind je de blueprints.

Home Assistant heeft ook een aantal ingebouwde blueprints.
Automatisch licht aan en uit?
Lampen zijn eenvoudig te automatiseren
5 Blueprint importeren
Als je een blueprint opzoekt via het forum, zie je een button om deze te importeren in Home Assistant. Als alternatief kun je via Instellingen / Automatiseringen en scènes op het tabblad Blueprints een blueprint handmatig importeren door de link naar het topic in te voeren of de link naar Github Gist. Die laatste link kun je in dat geval ook in het topic vinden.
Het topic zelf geeft een beschrijving van de blueprint en reacties van gebruikers. Vanuit het overzicht met blueprints kun je nu een nieuwe automatisering met die blueprint maken. Ook als je een nieuwe automatisering toevoegt, kun je een blueprint als basis gebruiken en die uiteraard meerdere keren gebruiken. Vaak bouw je daarom een verzameling op met blueprints die je handig vindt.

Een blueprint kun je eenvoudig importeren en meerdere keren gebruiken.
6 Voorbeeld Zigbee
Een blueprint is heel nuttig om het werken met afstandsbedieningen en dimmers voor Zigbee of Z-Wave te vereenvoudigen. Je hoeft doorgaans alleen de afstandsbediening te selecteren. Daarna kun je per knop kiezen welke acties uitgevoerd moeten worden voor de verschillende handelingen, zoals een enkele of dubbele klik.
We nemen de Aqara Cube T1 Pro en IKEA Styrbar als voorbeeld. Beide werken op basis van Zigbee 3.0. We koppelen ze via Zigbee2MQTT. De afstandsbedieningen zet je in de koppelmodus door een verborgen knopje vijf seconden in te drukken. We geven ze daarna een vriendelijke naam. Je kunt de apparaten overigens ook via Zigbee Home Automation (ZHA) koppelen. Op de integratiepagina van Home Assistant spoor je de gekoppelde apparaten op via de MQTT-integratie. Je kunt ook de status aflezen om te zien of ze werken.

De slimme kubus van Aqara na integratie in Home Assistant via Zigbee2MQTT.

Met de Aqara Cube T1 Pro kun je een veelvoud aan handelingen automatiseren.
De bekendste kubus?
Rubik's cube natuurlijk!
7 Gebruik blueprint
De slimme kubus van Aqara ondersteunt enorm veel handelingen (zie het kader ‘Aqara Cube T1 Pro’) en leent zich daarom heel goed voor het gebruik van een blueprint. Let er wel op dat je de juiste blueprint kiest: er zijn aparte blueprints voor Zigbee2MQTT en ZHA.
Na het importeren en openen van de blueprint wordt om de naam van het MQTT-topic gevraagd voor het apparaat. Er zijn aparte secties voor twee werkstanden (actie en scène) van de kubus. Je kunt direct automatiseringen maken voor bijvoorbeeld het schuiven of roteren van de kubus met een bepaalde zijde boven, het flippen van een bepaalde zijde naar een andere zijde, maar ook het oppakken of schudden van de kubus. Een typisch voorbeeld is het aanpassen van de helderheid van een lamp door de kubus linksom of rechtsom te roteren.
Bij de IKEA Styrbar is er één blueprint voor zowel Zigbee2MQTT als ZHA. Je kunt de afstandsbediening als schakelaar of dimmer voor lampen gebruiken. Zelf gebruiken we hem om muziek af te spelen op een luidspreker, waarbij twee knoppen voor een volumeregeling worden gebruikt.

Werken met de kubus is heel eenvoudig dankzij de blueprint.
8 Cameradetectie
Voor cameradetectie zijn ook nuttige blueprints. Zo is er een blueprint die bij detectie van beweging een notificatie naar je smartphone stuurt met het beeld van de camera. Voor de software Frigate, dat je op ID.nl vindt via deze link, bestaat een zeer uitgebreide blueprint.
De bewuste software kan personen herkennen, maar ook bijvoorbeeld dieren of objecten. Om de blueprint te gebruiken, is ook de integratie van Frigate nodig. Daarmee bedoelen we niet Frigate zelf (dat eventueel wel als add-on in Home Assistant is te installeren), maar een aparte component die ervoor zorgt dat informatie van Frigate beschikbaar komt binnen Home Assistant. Als je HACS (Home Assistant Community Store) hebt geïnstalleerd, is de component in een handomdraai toegevoegd.
Wordt er beweging gedetecteerd, dan kan de blueprint een snapshot of clip naar je smartphone of een Android-televisie sturen. Je kunt daardoor op afstand meekijken hoe bijvoorbeeld de post wordt bezorgd.
Als je Frigate goed hebt afgesteld, krijg je zelden valse meldingen. Via filters kun je enkele voorwaarden opgeven. Je kunt bijvoorbeeld filteren op zones of objecten of het aantal notificaties beperken. Ook kun je de notificaties uitzetten als je zelf thuis bent.

Heb je Frigate, dan laat je met deze blueprint eenvoudig notificaties versturen bij detecties.
9 Blueprint maken
Je kunt vrij eenvoudig zelf een blueprint maken. Hiervoor maak je eerst een automatisering. Daarna kopieer je de YAML-code voor deze automatisering in een nieuw bestand. Dit bestand kun je maken met bijvoorbeeld File editor, een add-on voor het bewerken van bestanden.
Bewaar het bestand in je config-map onder blueprints/automation, eventueel in een eigen map daar weer onder. Je zult nu wat aanpassingen moeten maken. Als eerste voeg je bovenaan enkele regels toe onder blueprint: die de blueprint omschrijven. Ze worden ook wel metagegevens genoemd. Overal in de automatisering waar iemand iets kan invoeren of selecteren, moet je dat aangeven met !input.
Het onderstaande voorbeeld is een blueprint voor een automatische dagelijkse back-up waarin alleen om een tijdstip voor de back-up wordt gevraagd met !input tijd. Bij de metagegevens stellen we bij selector: in dat in het veld om een tijdstip wordt gevraagd.

Klik op de afbeelding voor een grotere weergave.

Deze blueprint maakt een automatische back-up van Home Assistant op een instelbaar tijdstip.
10 Eigen blueprint gebruiken
Gebruik je de blueprint, dan hoef je slechts het gewenste tijdstip voor de back-up in te voeren. Wil je geavanceerdere blueprints maken, dan is de basis hetzelfde.
Het is wel nuttig om de documentatie of de blueprints van anderen te bestuderen. Je eigen blueprints kun je desgewenst delen via het Home Assistant-forum. Het is overigens prima als een blueprint maar een deel van het werk oplost. Je zult er dan zelf wat logica omheen moeten bouwen.
Gebruik je bijvoorbeeld een blueprint om een notificatie naar een smartphone te sturen als het oud papier aan de weg moet worden gezet? Dan zul je nog voor een sensor moeten zorgen die aangeeft of dat vandaag moet gebeuren. En je hebt wellicht een helper nodig om bij te houden of je de folderverzameling aan de weg hebt gezet. Je hoeft dan geen verdere notificaties meer te versturen, tot aan de volgende ophaaldag natuurlijk.

Als je deze blueprint gebruikt, kun je direct het gewenste tijdstip invoeren.
Powered by
