Home Assistant is in enkele jaren tijd uitgegroeid tot een krachtige oplossing waarmee je je eigen slimme huis maakt. Je draait het op een Raspberry Pi, NAS of Linux-server en stuurt er allerlei domotica-apparaten in huis mee aan. In de laatste versies heeft het project veel aandacht besteed aan gebruiksvriendelijkheid.
Auteur: Koen Vervloesem | Gepubliceerd in Linux Magazine 2021 – 3
Home Assistant (www.home-assistant.io) is een populaire keuze om je domotica-apparaten aan te sturen zonder van één producent af te hangen. Het programma is opensource, er bestaat een hele community omheen en het ondersteunt talloze apparaten.
Een belangrijk speerpunt van Home Assistant is dat het geen data opslaat in de cloud. Je installeert het op een Raspberry Pi, je NAS of een Linux-server in huis, en van daaruit stuurt het je hele huis aan. Uiteraard is het nog altijd mogelijk om clouddiensten aan Home Assistant te koppelen.
De eenvoudigste manier om Home Assistant te installeren, is via Home Assistant Operating System op een Raspberry Pi.
Bekijk de installatiepagina (www.home-assistant.io/installation). Download het image voor een 32- of 64bit-besturingssysteem op een Raspberry Pi 3 of 4. Schrijf dit image dan met een programma zoals balenaEtcher (www.balena.io/etcher) naar een microSD-kaartje.
Steek het microSD-kaartje daarna in je Raspberry Pi, sluit een ethernetkabel aan en start hem op. Na enkele minuten kun je Home Assistant bereiken door te surfen naar http://homeassistant.local:8123, http://homeassistant:8123 of http://IP:8123 (met in plaats van IP het ip-adres van je Raspberry Pi). Home Assistant Operating System is nu de nieuwste versie van Home Assistant aan het installeren, en dat kan wel tot twintig minuten duren.
Daarna maak je een lokaal gebruikersaccount aan. Je kunt immers meerdere gebruikers op je domoticasysteem hebben, en elk kan een eigen dashboard maken. Duid daarna ook je locatie aan, zodat Home Assistant kan berekenen wanneer de zon opkomt en ondergaat. Dat is interessant om bijvoorbeeld automatisch het licht aan en uit te doen of rolluiken te bedienen, afhankelijk van de stand van de zon.
In de laatste stap ontdekt Home Assistant apparaten in je huis en krijg je de vraag om daar integraties voor in te stellen. Dat kan later ook nog. Wanneer de installatiewizard klaar is, krijg je het dashboard van Home Assistant te zien, met al enkele elementen: het weerbericht, de stand van de zon, een persoon en sensoren die je vertellen of Home Assistant up-to-date is en of je Raspberry Pi voldoende voeding krijgt. Als je de ontdekte apparaten al hebt geïntegreerd, zie je die hier ook.
Klik eerst linksonder op je naam om je profiel te openen. Hier staan de gebruikersspecifieke instellingen. Zo kun je hier de taal kiezen (Nederlands wordt ondersteund), het thema instellen, de zijbalk verbergen en de geavanceerde modus inschakelen.
Verder staan hier ook enkele instellingen voor beveiliging. Je wachtwoord wijzigen en tweefactorauthenticatie instellen doe je hier. Je krijgt hier ook de actieve inlogsessies te zien en kunt sessietokens verwijderen of toegangstokens aanmaken om scripts veilig te laten communiceren met Home Assistant.
De kerntaak van Home Assistant is dat het al je domotica-apparaten van verschillende merken aan elkaar koppelt en je in één consistente interface toegang geeft. Misschien heb je aan het einde van de installatiewizard al de apparaten toegevoegd die Home Assistant heeft ontdekt. Zo niet, klik dan in de zijbalk links op Instellingen en dan op Integraties. Een integratie is een component die ondersteuning voor een specifiek type apparaat, software of een clouddienst toevoegt aan Home Assistant.
Zelfs als je geen apparaten hebt toegevoegd, zie je op een Raspberry Pi altijd minstens twee integraties: Meteorologisk institutt (Met.no) voor het weerbericht en de Raspberry Pi Voeding Checker. Klik je onderaan rechts op de blauwe knop Integratie toevoegen, dan krijg je de keuze uit een lange lijst met integraties.
Ga eens door de lijst van integraties en stel een voor een de integraties in van apparaten, software of clouddiensten die je met Home Assistant wilt gebruiken. Wat je precies dient in te stellen, hangt af van de integratie. Zodra dat is voltooid, komt er een extra integratie in het tabblad Integraties. Van sommige kun je hier via hun icoontje nog extra opties instellen.
De apparaten zelf verschijnen ofwel vanzelf in het tabblad Apparaten, ofwel dien je ze via de opties van de integratie toe te voegen. In het tabblad Entiteiten vind je alle basiscomponenten van Home Assistant. Eén apparaat kan meerdere entiteiten hebben. Zo zal een multisensor entiteiten hebben voor temperatuur, lichtsterkte én beweging.
Het laatste tabblad, Gebieden, geeft je de mogelijkheid om gebieden zoals kamers te definiëren. Elke entiteit kun je in het tabblad Entiteiten aan een gebied toekennen. Als je daarna in Gebieden op een gebied klikt, krijg je alle apparaten, automatiseringen en andere componenten te zien die zich daar bevinden. Gebieden zijn dus vooral nuttig voor wat overzicht als je veel apparaten door Home Assistant laat beheren.
Als je nu in de zijbalk links op Overzicht klikt, krijg je het dashboard weer te zien, deze keer met extra entiteiten van je toegevoegde apparaten. Je kunt de naam van de apparaten of entiteiten aanpassen in Instellingen en dan Apparaten of Entiteiten. Voor entiteiten kun je dat ook doen door in het dashboard op de entiteit te klikken en dan in het informatievenster dat verschijnt op het tandwiel rechtsboven.
Standaard toont Home Assistant alle entiteiten van hetzelfde type bij elkaar in dezelfde kaart. Zo staan alle binaire sensoren (die aan of uit kunnen zijn) bij elkaar, alle sensoren bij elkaar, alle schakelaars bij elkaar en alle lichten bij elkaar. In de praktijk krijg je overzichtelijkere resultaten als je het dashboard zelf beheert. Klik daarvoor rechtsboven op het hamburgermenu en dan Configureer UI. Bevestig met Neem over dat je de controle over de Lovelace UI wilt overnemen.
Je bent nu in de bewerkingsmodus van je dashboard. Er staan al wat ‘kaarten’ in, de vakjes met entiteiten. Deze kun je bewerken, of je klikt onderaan rechts op Kaart toevoegen. Daar kies je dan een type kaart. Home Assistant voegt al enkele entiteiten toe als voorstel, maar je past dit eenvoudig aan. Ook kun je bij elke kaart nog wat instellingen aanpassen.
Uiteindelijk verlaat je de bewerkingsmodus van het dashboard met het kruisje linksboven. Op elk moment kun je het dashboard weer bewerken door in het hamburgermenu op Configureer UI te klikken. Als je veel entiteiten hebt die je nog niet aan het dashboard hebt toegevoegd, kun je deze in de bewerkingsmodus opvragen met een klik op het hamburgermenu en dan Ongebruikte entiteiten. Selecteer dan de gewenste entiteiten en klik op Kaart toevoegen.
Tot nu toe blijft je Home Assistant wat passief. Je krijgt sensordata te zien en je kunt schakelaars en lichten inschakelen, maar er gebeurt niets automatisch. Ook dat kun je eenvoudig toevoegen. Klik daarvoor op Instellingen / Blueprints. Het systeem van blueprints is relatief nieuw in Home Assistant: het zijn voorgedefinieerde automatiseringen die je zelf nog kunt configureren.
Enkele blueprints zijn standaard al geïnstalleerd in Home Assistant. Klik op Automatisering maken om op basis van de bijbehorende blueprint een automatisering te maken. Je hoeft dan enkel nog wat te configureren. Zo kies je bij de blueprint Motion-activated Light de entiteit van de bewegingssensor en het licht dat je daarvoor wilt laten activeren. Je kunt er ook instellen hoelang het licht nog aanblijft na de laatste beweging.
Omdat het blueprint-systeem nog vrij nieuw is, is er nog geen gestroomlijnde ‘app store’. Maar als je op Ontdek meer blueprints klikt, kom je op een categorie in het forum van Home Assistant waar gebruikers hun blueprints delen (www.home-assistant.io/get-blueprints). In de forumpost van zo’n blueprint staat dan de badge Import blueprint. Klik erop om de blueprint aan je Home Assistant-installatie toe te voegen. Of als de badge er niet bij staat, kopieer je de url van de code van de blueprint en klik je in Home Assistant rechts onderaan op Blueprint importeren, waarna je de url erin plakt.
Daarna kun je de blueprint bekijken en bevestig je met Blueprint importeren dat je die wilt toevoegen. Deze komt dan in je lijst met blueprints te staan, en dan kun je daar weer een automatisering van maken. Overigens kun je meerdere keren van dezelfde blueprint een automatisering maken. Zoals de naam al zegt, is een blueprint een blauwdruk, een sjabloon dat je kunt hergebruiken.
Als je van een blueprint automatiseringen hebt gemaakt, vind je die in het tabblad Automatiseringen. Maar je kunt ook zelf een volledig nieuwe automatisering maken. Klik daarvoor onderaan rechts op Automatisering toevoegen. Home Assistant stelt je nu voor om in een zin uit te leggen wat je wilt doen of om een blueprint te selecteren. Het eerste werkt nog helemaal niet in het Nederlands, en het tweede willen we nu niet. Klik daarom op Begin met een lege automatisering.
Een automatisering bestaat uit drie onderdelen: een of meer triggers, een of meer optionele voorwaarden en een of meer acties. Voor een trigger kies je eerst een triggertype, zoals Zon, Apparaat of Tijd. Afhankelijk van het type selecteer je dan de trigger, kies je verder nog een entiteit en vul je een van- en/of naar-waarde in. Voor de optionele voorwaarden kies je ook weer een type en selecteer je de voorwaarde of vul je ze in.
Triggers en voorwaarden lijken op elkaar, maar het verschil is belangrijk. Bij een trigger vul je de voorwaarden in om de automatisering te starten. Bij een voorwaarde vul je extra voorwaarden in waaraan moet zijn voldaan om de actie uit te voeren. Wil je bijvoorbeeld de lamp aan je voordeur inschakelen als er ‘s nachts beweging is, dan is de trigger beweging van een bewegingssensor. Een extra voorwaarde is dat het tussen zonsondergang en zonsopgang is.
Uiteindelijk eindigt een automatisering met een actie: iets wat Home Assistant moet doen na de triggers wanneer aan de voorwaarden is voldaan. Ook hier kun je weer een type actie kiezen. Kies je bijvoorbeeld Apparaat, dan kun je afhankelijk van het apparaat acties uitvoeren zoals het apparaat in- of uitschakelen.
Verder heeft Home Assistant nog scènes. Een scène is een toestand van enkele apparaten. Stel dat je tijdens het tv-kijken de grote lamp van de woonkamer wilt doven, maar de ledstrip achter de tv wilt inschakelen, dan voeg je beide apparaten aan een scène Tv kijken toe en stel je hun toestand in. Scènes zijn ook via het dashboard te activeren.
Tot slot kun je ook nog scripts aanmaken. Een script is een opeenvolging van acties, maar met extra’s zoals tests, vertragingen en herhalingen. Een script is vanuit het dashboard te activeren, maar kun je ook in een automatisering als actie uitvoeren.
Home Assistant is een opensource-project, maar de hoofdontwikkelaars worden betaald door het bedrijf Nabu Casa (www.nabucasa.com), dat zijn inkomsten haalt uit het aanbieden van Home Assistant Cloud. Dit is een abonnementsdienst waarvoor je 5 dollar per maand betaalt. Je krijgt dan een veilige tunnel naar je Home Assistant-installatie die je van over de hele wereld kunt bereiken, zonder dat je zelf dynamische DNS, een TLS-certificaat en portforwarding in je modem hoeft te regelen.
Met Home Assistant Cloud kun je ook eenvoudig je domoticasysteem met Google Assistant of Amazon Alexa koppelen. Bovendien krijg je zo toegang tot een spraaksynthesesysteem in de cloud, zodat je notificaties in de vorm van boodschappen kunt laten uitspreken op luidsprekers in je huis.
Verder biedt de documentatie (www.home-assistant.io/docs) van Home Assistant een kijkje in de geavanceerde mogelijkheden. Loop je tegen problemen aan, dan kun je hulp vragen op het forum (https://community.home-assistant.io). De Home Assistant-community is enorm gegroeid de laatste jaren, waardoor je niet alleen staat in het automatiseren van je huis.