Door Koen Vervloesem

Freelanceredacteur

Raspberry Pi als brein van je smarthome

Deel 2: geïntegreerde domoticasoftware

11-10-2021 • 06:00

122

Singlepage-opmaak

Home Assistant

Home Assistant is een naam die niet meer weg te denken is uit de domoticawereld. De software werd in 2012 bedacht door de Nederlander Paulus Schoutsen, die zijn Philips Hue-lampen graag wilde aansturen in Python. Daarna voegde hij aanwezigheidsdetectie toe via het wifinetwerk verbonden telefoons. In 2013 kwam de eerste versie uit. Inmiddels zijn we acht jaar later en bevat Home Assistant meer dan 1800 integraties.

Die grote hoeveelheid integraties is een sterke kant van Home Assistant. Z-Wave, Zigbee, Plex, Google Assistant, Buienradar, Toon, notificaties via een Telegram-bot; het gamma is heel divers. Met elke nieuwe versie komen er integraties bij. Een deel van die integraties werkt via een lokaal op je Raspberry Pi aangesloten transceiver. Andere maken gebruik van clouddiensten, als ze althans een publieke api aanbieden.

Op het Tweakers-forum wordt Home Assistant besproken in het topic Home Assistant: Open source Python3 home automation - deel 4. Wil je een voorproefje van de mogelijkheden, bekijk dan de demo van Home Assistant. Klik telkens op Volgende demo om over te schakelen naar een andere gebruikersinterface. Er is ook een officiële mobiele app, genaamd Home Assistant Companion, voor Android en iOS, met uitgebreide documentatie.

Op demo.home-assistant.io krijg je een voorproefje van de mogelijkheden van Home Assistant
Op demo.home-assistant.io krijg je een voorproefje van de mogelijkheden van Home Assistant

Installatie

Elke eerste woensdag van de maand komt een nieuwe versie van Home Assistant uit. Er zijn vier installatiemethodes. Welke methode je kiest, heeft een invloed op de functionaliteit, zoals je in de volgende tabel kunt zien:

Je kunt Home Assistant op vier manieren installeren.  Op de Raspberry Pi is Home Assistant Supervised niet ondersteund.
Je kunt Home Assistant op vier manieren installeren. Op de Raspberry Pi wordt Home Assistant Supervised niet ondersteund.

Home Assistant Core en Home Assistant Container zijn functioneel identiek. Het verschil is dat je de eerste als een Python-pakket installeert in een Python virtuele omgeving, terwijl de tweede in een container draait, doorgaans met Docker. De voornaamste beperkingen bij beide installatiemethodes is dat je geen add-ons kunt installeren, geen snapshots (back-ups) kunt maken en geen Supervisor hebt waarmee je Home Assistant en je add-ons beheert.

Ook Home Assistant Supervised en Home Assistant Operating System zijn functioneel identiek, en beide geven je toegang tot de volledige functionaliteit van het domoticapakket. Het verschil is dat die laatste installatiemethode al een minimaal besturingssysteem bevat dat geoptimaliseerd is voor gebruik met Home Assistant. Dit is dan ook de installatiemethode die de makers aanraden: je schrijft het image eenvoudigweg naar een microSD-kaartje, start je Raspberry Pi ervan op en de installatie begint. De makers raden een Raspberry Pi 4 met een microSD-kaartje van 32GB aan.

Van YAML naar grafische interface

In de beginjaren moest je nog bijna alles in YAML-bestanden configureren, zoals de grafische interface, automatiseringen en de diverse integraties. Mettertijd is Home Assistant steeds gebruiksvriendelijker voor beginners geworden, waardoor het nu ook toegankelijk is voor wie zich niet thuis voelt in computertalen.

Zo kun je de Lovelace-interface van Home Assistant eenvoudig configureren door ‘kaarten’ toe te voegen. Elke kaart is een type visualisatie, zoals een lijst met entiteiten, een metertje, een lamp, een sensorgrafiek of een weersverwachting. Ook verticale en horizontale stapels van andere kaarten maak je eenvoudig door ze uit een lijst te selecteren. Toch is er voor powerusers nog altijd de mogelijkheid om de overeenkomstige YAML-code in een code-editor te openen.

Integraties, automatiseringen en blueprints

Ook de integraties worden steeds gebruiksvriendelijker. Waar je vroeger nog YAML-code aan het configuratiebestand van Home Assistant moest toevoegen om een domoticaprotocol te ondersteunen, volstaat het nu voor veel integraties om in de webinterface bij de instellingen de gewenste integratie te kiezen en eventueel enkele parameters in te stellen. Home Assistant herkent het vaak ook als een apparaat op je netwerk actief is dat het ondersteunt en stelt je dan zelf in de notificaties voor om de integratie in te stellen. De YAML-code voor integraties is overigens nog altijd beschikbaar, voor wie dat verkiest.

Hetzelfde verhaal zie je bij de automatiseringen: ook die kun je nog altijd toevoegen via YAML-code die je ‘programma’ beschrijft, maar de grafische editor laat je toe om zelf een automatisering bij elkaar te klikken op basis van triggers, voorwaarden en acties die je uit een lijst selecteert. Sinds het begin van dit jaar kun je ook op een grafische manier automatiseringen debuggen.

Home Assistant laat je bovendien toe om een nieuwe automatisering te maken op basis van een beschrijving in natuurlijke taal. Dat werkt via de virtuele assistent Almond, maar alleen in het Engels en bovendien is het vrij beperkt. Een ander beginpunt voor een automatisering is een blueprint. Dat is een sjabloon dat je in de Blueprints Exchange op het forum van Home Assistant kunt downloaden en waarin je variabelen kunt invullen.

Ecosysteem van add-ons en aangepaste componenten

Draai je een versie van Home Assistant met Supervisor, dan krijg je toegang tot de Add-on Store. Hiermee kun je allerlei uitbreidingen installeren die voornamelijk Home Assistant aanvullen. Denk daarbij aan een ssh-server, mqtt-broker, automatische certificaten via Let’s Encrypt, dynamische dns, AppDaemon om Home Assistant te automatiseren in Python, of ESPHome om ESP8266- en ESP32-bordjes te programmeren. Onder de motorkap draait elk van die add-ons een Docker-container.

Naast de add-ons is er nog een andere manier om functionaliteit aan Home Assistant toe te voegen: aangepaste componenten. Die plaats je in je configuratiemap onder /config/custom_components. Een eenvoudiger manier is om ze te installeren met HACS (Home Assistant Community Store).

Bij elk onderdeel van Home Assistant zijn aanpassingen mogelijk. Zo kun je thema’s downloaden die het uiterlijk veranderen, en aangepaste kaarten voor Lovelace binnenhalen. Op de website Awesome Home Assistant vind je heel wat inspiratie.

Met de Add-on Store vul je de werking van Home Assistant eenvoudig aan.
Via de Add-on Store vul je de werking van Home Assistant eenvoudig aan.

Nieuwste ontwikkelingen

In 2018 richtte Paulus Schoutsen samen met Ben Bangert en Pascal Vizeli Nabu Casa op. Inmiddels werken er elf mensen voor het bedrijf, dat Home Assistant verbetert, verantwoordelijk is voor het beheer van het forum Home Assistant Community en met Home Assistant Cloud vanaf elke locatie veilige toegang tot je Home Assistant-installatie geeft en deze met Google Assistant of Amazon Alexa verbindt. Maar ook de community draagt heel wat bij aan de ontwikkeling. De 2020 State of the Octoverse van GitHub zet Home Assistant op de tweede plaats van de Python-pakketten met de meeste unieke contributors in twaalf maanden.

Het mag dan ook niet verbazen dat de ontwikkelingen ver en snel gaan. Eerder dit jaar nam Nabu Casa ESPHome over, een project om met een YAML-configuratie van ESP8266- en ESP32-ontwikkelbordjes domoticatoestellen te maken. In Home Assistant 2021.8 werd een energiedashboard toegevoegd.

Home Assistant legt in de nieuwste versies meer focus op energie.
Home Assistant legt in de nieuwste versies meer focus op energie.

Eigen hardware

De makers van Home Assistant en de community laten zich ook meer en meer met hardware in. Eind vorig jaar brachten ze met Home Assistant Blue een ‘limited edition’-hardwarekit uit die gebaseerd is op de Odroid N2+. Onlangs werden twee hardwareprojecten ontwikkeld rond energie: SlimmeLezer dat de P1-poort van een slimme meter uitleest en de data in Home Assistant beschikbaar maakt, en Home Assistant Glow dat een energiemeter zonder P1-poort uitleest door de pulsen van de led te detecteren.

Verder kijken de ontwikkelaars van Home Assistant ook naar Matter, de nieuwe IP-gebaseerde standaard voor smarthomes die vanaf volgend jaar in producten aanwezig moet zijn. Nabu heeft een succesvolle crowdfundingactie op Crowdsupply uitgevoerd voor een hardwarekit, Home Assistant Amber. Het is een volledig vanaf nul ontworpen kit gebaseerd op de Raspberry Pi Compute Module 4, inclusief een Silicon Labs-chip met ondersteuning voor Zigbee, Thread en bluetooth. Home Assistant Amber zal ook compatibel zijn met Matter, zodra Silicon Labs zijn Matter-sdk uitbrengt.

De Home Assistant Amber zal de nieuwe standaard Matter ondersteunen.
De Home Assistant Amber zal de nieuwe standaard Matter ondersteunen.