Blueprints voor Home Assistant: nog gemakkelijker je huis automatiseren
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.
Vind je Home Assistant interessant, maar lijkt het je nog wat lastig? Dan heb je wat aan blueprints. Die hoef je alleen nog maar te configureren, het moeilijke werk is al gedaan. In dit artikel laten we zien hoe je er zelf mee aan de slag kunt gaan.
- Blueprints zoeken en importeren
- Voorbeeld: Activeer slimme apparaten of zet scènes in gang met de Aquara Cube
- Voorbeeld: Ga aan de slag met cameradetectie
- En we laten ook zien hoe je zelf een blueprint kunt maken
Ook interessant om te lezen: Zo zet je het Home Assistant-dashboard helemaal naar je hand
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’).
Veel logica in één regel Met alle uitbreidingen van de laatste jaren kun je in Home Assistant heel flexibele en uitgebreide automatiseringen maken. Zo kun je om te beginnen meerdere triggers toevoegen. Elke trigger zal de automatisering starten. Ook kun je meerdere (optionele) voorwaarden opgeven die allemaal worden geëvalueerd. Tot slot kun je een of meerdere acties opgeven.
In elke actie kun je eventueel weer een keuze inbouwen of een als/dan/anders-constructie maken. Een actie kan óók weer een of meerdere voorwaarden hebben waaraan moet worden voldaan. Zijn er meerdere triggers, dan kun je in een actie herkennen welke trigger werd geactiveerd, door een trigger-ID aan triggers toe te voegen. Het trigger-ID kun je dan als voorwaarde gebruiken in een actie. Een van de voordelen is dat je veel minder automatiseringsregels nodig zult hebben.
Wil je bijvoorbeeld een vlieringverlichting aan- en weer uitzetten bij het openen en sluiten van een luik? Dan voeg je een trigger voor zowel openen als sluiten toe, met elk een eigen trigger-ID. Je kunt nu acties voor openen en sluiten toevoegen met elk een trigger-ID als voorwaarde.
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.
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.
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.
Handige ingebouwde blueprints Home Assistant kent enkele handige ingebouwde blueprints, we geven wat voorbeelden:
- Voor het controleren van alle accu’s en batterijen in apparaten: er wordt een waarschuwing gegeven als een batterij bijna leeg is. Je hoeft alleen enkele uitzonderingen op te geven met apparaten waarvoor geen waarschuwing nodig is, bijvoorbeeld je smartphone.
- Voor het versturen van een notificatie naar een smartphone: dit script kun je vanuit elke automatisering aanroepen. De notificatie kun je voorzien van knoppen voor bevestigen en afwijzen. Bij deze blueprint hoef je alleen de smartphone te selecteren, een titel en bericht in te voeren, en acties voor bevestigen en afwijzen te kiezen.
- Om een lamp aan te zetten bij beweging: kies hoelang de lamp moet blijven branden na de laatste detectie.
- Om een notificatie naar een toestel te sturen als een bepaalde persoon een bepaalde zone verlaat. Gebruik het bijvoorbeeld om te weten wanneer je partner van zijn of haar werk vertrekt.
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.
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.
Aqara Cube T1 Pro Deze kubus van Aqara kun je zien als een soort slimme dobbelsteen. Met elke zijde kun je slimme apparaten bedienen of scènes activeren. Met dank aan de ingebouwde snelheidsmeter en gyroscoop zijn ook alternatieve commando’s te gebruiken, zoals het schuiven, schudden of draaien van de kubus. Dit geeft, naast acties als het aanraken of dubbelklikken, vrijwel eindeloze mogelijkheden.
De kubus werkt met Zigbee 3.0 en kun je in Home Assistant koppelen via Zigbee2MQTT of ZHA. Het kan wel een uitdaging zijn om acties te programmeren. De blueprint is daarom een enorme hulp voor dit accessoire. Met de blueprint kun je uit meer dan 58 unieke commando’s kiezen welke acties moeten worden uitgevoerd. Op elke zijde van de kubus staat overigens alleen een nummer. Het kan daarom zinvol zijn om hier stickers op te plakken die laten zien welke toepassing je zelf voor die zijde van de kubus hebt bedacht.
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.
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.
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.
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.