Home Assistant, en wat ik er momenteel mee doe

Een kijkje in de... nou ja, niet in de keuken

Ik ben al een tijd met deze post aan het stoeien. De eerste trigger was dat (negatieve) nieuwsbericht over Wink van een tijd geleden. Daarna kwamen er nog wat soortgelijke berichten uit de IOT-wereld, en wilde ik het verhaal iets algemener maken. Toen ging er nog wat meer tijd overheen en bleef het een beetje in de Wink is kut en alle spullen-as-a-service is kut-sfeer hangen, en dat schiet eigenlijk totaal niet op.

Ik wil mensen inspireren om wat meer hun zaken (zowel online als offline) in eigen hand te nemen, en dat gaat niet lukken met alleen maar gehamer op wat er momenteel allemaal mis is.

Dus ik schrap de post en begin even vers: hoe doe ik het nu dan, en hoe is dat een alternatief voor systemen zoals Wink? Ik ga niet alle details in één post behandelen, dus ik begin met wat ik heb. We ontkomen niet aan een grote lap tekst met hier en daar technische termen, daar da's niet erg, toch?

Controller: Home Assistant op een Raspberry Pi

Mijn setup begint bij Home Assistant, een open source home automation-pakket. Dat bestaat puur uit software, waarbij je zelf je hardware regelt. In veel gevallen (en momenteel ook in mijn geval) draait het op een Raspberry Pi, een klein computertje met wat USB-poorten, netwerk (bedraad én wifi) en Bluetooth.

In mijn geval is daar nog een zogenaamde Zigbee-coördinator bij gekomen (een CC2531 USB-stick die ik voor een tientje geprogrammeerd en wel heb gekocht) die wordt beheerd via Zigbee2mqtt - tegenwoordig heeft Home Assistant ook zelf ondersteuning voor die stick, maar daar heb ik nog niet mee gestoeid.

Gebeurtenissen op het Zigbee-netwerk komen, net als die van een paar wifi-apparaten, nu in een MQTT-queue terecht, waar ze door Home Assistant worden uitgelezen. Home Assistant kan via MQTT ook commando's uitdelen die door hetzelfde Zigbee-netwerk bij de diverse apparaten terecht komen.

Samenvattend: dat kleine computertje met een paar verbindingsmogelijkheden is vergelijkbaar met de controllers van Wink, Homey en soortgelijke leveranciers. Reken op ongeveer honderd euro aan hardware, wat gratis software, geen cloud-gedoe of abonnementen. That's it. Mocht je iets simpelers willen dan Home Assistant, dan is er ook de WebThings Gateway van Mozilla, wil je het wat uitgebreider en ben je niet bang voor meer complexiteit, dan is OpenHAB misschien meer je ding. Beiden zijn ook gratis en open source, dus daar hoef je het niet voor te laten.

Invoer en uitvoer

Nou doet zo'n controller op zichzelf natuurlijk niet heel veel, daarvoor is er wat invoer en uitvoer nodig. Invoer in de vorm van onder andere knoppen, sensoren, en informatie vanuit het netwerk en uit online-bronnen. Uitvoer bestaat in mijn geval vooral uit verlichting die door het systeem wordt aangestuurd, en notificaties die ik op mijn telefoon kan ontvangen. In veel gevallen zal de uitvoer bij home automation draaien om het aansturen van "iets".

En dat is ook meteen het belangrijkste van zo'n hele installatie: wat doe je er mee. Laten we even een rondje door mijn huis maken en kijken wat er zoal ligt en wat daarmee gebeurt.

Woonkamer

In de woonkamer vinden we, naast de beroemde LED-lamp van Action, nog twee IKEA Trådfri-lampen, en een Trådfri-dimmer (de vierkante, niet de ronde). De Action-lamp is verbonden via wifi, het IKEA-spul werkt via Zigbee. De twee IKEA-lampjes staan op het dressoir, en zijn samengevoegd in een groep, zodat ik ze zowel individueel als tegelijk kan aansturen.

Ook slingert er nog een robot-stofzuiger van Xiaomi rond, die via wifi met het netwerk is verbonden, en zijn er een (smart) TV, een versterker en een Chromecast.

De IKEA-spullen zijn erop gemaakt om direct samen te kunnen werken, maar ik kies ervoor om dat niet te doen. De dimmer gebruik ik niet als dimmer, maar als meervoudige aan-uit-knop, die naast "aan" en "uit" ook nog "wordt ingedrukt gehouden" heeft voor beide richtingen. In Home Assistant wordt dat opgevangen, en via een paar Automations omgezet in het inschakelen van een Scene. "Aan" en "uit" zetten simpelweg de verlichting aan (op een bepaald niveau) of uit. Ingedrukt houden in de aan-stand schakelt de verlichting naar volle sterkte. Ik kan via de interface van Home Assistant ook de lampen in- of uitschakelen, en de helderheid regelen, oh, en rond zonsondergang gaan de lampjes ook gedimd aan, zodat we nooit meer in het donker thuiskomen.

Dat koppelen van de IKEA-apparatuur gaat trouwen debiel simpel. In de buurt van de Zigbee-coördinator houden (die dan wel even moet toestaan dat nieuwe apparaten zich in het netwerk melden), aanzetten, wachten tot het gepaird is, klaar. Je hoeft niets te flashen, geen eigen firmware, wat mij betreft is het de meerprijs van de lampjes meer dan waard.

Ik wil nog wat stoeien met hoe die dimmer werkt; ik kan er nu wel de lampen mee naar volle sterkte brengen, maar niet terug. Ook zouden ze eventueel op de TV kunnen reageren, zodat ze 's avonds automatisch dimmen als we Netflix of Plex aanzetten (en weer naar normale sterkte gaan als we pauzeren). De stofzuiger zou in principe best gautomatiseerd kunnen worden, maar toch doe ik dat liever handmatig - met twee kleine kinderen ligt er geregeld allerlei los spul in de woonkamer, en we hebben niet elke avond zin om dat allemaal weg te halen en eroor te zorgen dat de opvangbak van de stofzuiger leeg is. Dat blijft een handwerkje, dus het aanzetten wat mij betreft ook.

Slaapkamer

Hier begon het eigenlijk allemaal mee. Het RGB-lampje dat ik hier eerst had gestald, is vervangen door een duo Trådrfi-lampjes, die net als de lampen in de woonkamer, in een groep zijn samengevoegd. In plaats van een dimmer-knop wordt hier de Xiaomi-knop gebruikt om de boel te bedienen.

De lampjes kunnen aan en uit, normaal of volle bak, en als toegift gaat er 's nachts maar één van de twee lampjes op een laag pitje branden als je het knopje indrukt. Niet veel veranderd ten opzichte van voorheen, al heb ik de automatisering wel weer direct in Home Assistant gebouwd met Automations en Scenes, en niet in Node-Red.

Zolder en netwerk

Op de zolder ligt een zelf in elkaar geknutselde temperatruur-en-luchtvochtigheids-sensor, die bestaat uit een ESP8266-microcontroller met een in ESPHome zelf-gebakken firmware) en een sensor. Nu nog in een breadboardje, maar dat moet ik ooit nog eens netjes aan elkaar solderen en in een behuizinkje duwen. Ooit. Intussen zit die constructie in een keurig doosje. Her en der bevinden zich nog wat meer apparaten in het netwerk. De server geeft keurig netjes door hoe warm-ie het heeft, de advertentie-blocker laat weten hoeveel requests er zijn langsgekomen en hoeveel daarvan zijn tegengehouden. Oh, en de printer werkt ook via wifi, en meldt zich ook in Home Assistant, zodat ik, waar ik ook ben, kan zien dat de magenta inktpatroon bijna leeg is.

Toekomstplannen

De opzet is in de kern vrij simpel, en er zijn zeker nog plannen om de boel uit te breiden. Ik heb nog een extra microcontroller en wat sensoren liggen, waarmee ik nog eens wat wil knutselen, ik wil zoals gezegd nog een klein beetje tweaken aan hoe de verlichting nu werkt (hoe meer automatisch, hoe beter), en er zijn nog wat lichtpunten die ik ook op het systeem wil aansluiten.

Daarnaast zijn er natuurlijk nog wat plekken waar er eventueel mooie automatiseringen te bouwen zijn. Om maar wat te noemen: bijhouden wanneer het voor het laatst geregend heeft en hoe warm het is geweest, om daarmee een remindertje te sturen dat het gras misschien wat water nodig heeft.

Er kan een heleboel, de kunst is om te beginnen met wat nuttig (of op zijn minst leuk) is.

Wat voor mij in ieder geval een heel groot voordeel (en een grote geruststelling) is: het is allemaal niet afhankelijk van de diensten van een ander. De gebruikte software is allemaal open source en zal dus niet zomaar verdwijnen of onverwacht duurder worden, de hardware is niet afhankelijk van een internetdienst, hooguit van een lokaal netwerk.

In de komende tijd wil ik nog wel wat verder ingaan op bepaalde onderdelen van het systeem en op hoe de automatiseringen in elkaar steken, maar dan is nu in ieder geval de basis gelegd. Ik hou me aanbevolen voor opmerkingen, aanvullingen en vragen!