In gesprek over Home Assistant: Slim huis zonder overbodige cloud
Wil je de controle over je huishoudelijke apparaten niet zomaar overdragen aan Big Tech? Home Assistant houdt je data zoveel mogelijk uit de cloud en fungeert als tolk tussen bijna 1800 verschillende apparaten en ecosystemen. We spraken de makers er achter.
Veel slimme apparaten werken door een koppeling met de cloud, in beheer bij de aanbieder van het product. Doordat deze bedrijven jouw huishoudelijke mededelingen in hun eigen cloud afhandelen, zwiep je een schat aan persoonlijke data het internet op. God weet wat Big Tech er vervolgens mee doet. Je zou dan ook kunnen uitwijken naar een opensource-thuisautomatiseringssysteem als Home Assistant.
Dat heeft als uitgangspunt om gebruikersdata zoveel mogelijk uit de cloud te houden. Tegelijkertijd fungeert het als tolk tussen bijna 1800 verschillende apparaten en ecosystemen. Daardoor ontstaat een keur aan gebruiksmogelijkheden.
Geschiedenis van Home Assistant
De eerste regels Home Assistant-code werden in september 2013 geschreven door Paulus Schoutsen, ook wel bekend als Balloob. Hij was na een studie bedrijfsinformatica aan de TU Twente naar Californië verhuisd om er stage te lopen bij het San Diego Supercomputer Center.
“Ik woonde in een studentenhuis en kocht ik een paar Philips Hue-lampen.” Paulus schreef een klein scriptje in Python, om ervoor te zorgen dat de lampen bij zonsondergang automatisch aangingen. “Zo kwamen er steeds meer nieuwe functionaliteiten bij.”
In oktober 2013 zette Paulus zijn code op GitHub. Ook begon hij in het home automation forum van Reddit voorzichtig reclame te maken. “Als mensen daar vroegen hoe ze het moesten aanpakken, dan zei ik: met Home Assistant heb ik het zo opgelost. Zo ontdekten steeds meer mensen dat je met Home Assistant elegantere oplossingen kon vinden dan met off-the-shelf-producten.”
Toen Paulus eind 2013 met Material Design een strakke interface bouwde, haalde Home Assistant zelfs de voorpagina van Hacker News. Dat betekende een doorbraak. Hij werkte intussen aan het opbouwen van een hechte opensource-gemeenschap. Laagdrempelige online communicatie was daarbij extreem belangrijk, zo realiseerde hij zich.
©PXimport
“Ontwikkelaars vinden het soms lastig om bijvoorbeeld onderhoudsissues aan te kaarten, uit angst dat het misschien aan hen ligt.” Dus zette hij een mailinglijst op, een chatgroep en een forum. Toen op een dag iemand anders dan Paulus antwoord gaf op een gebruikersvraag, voelde dat als een mijlpaal.
Levendige gemeenschap
Jaarlijks sleutelen inmiddels meer dan achtduizend ontwikkelaars in samenspraak aan nieuwe features. Die samenwerking zorgt regelmatig voor een trein aan leuke nieuwe ideeën. Een voorbeeldje. In september vorig jaar werd de iOS app voor Home Assistant overgezet naar MacOS – door ontwikkelaar Zac West uit San Francisco, in zijn vrije tijd. Dat zag er niet alleen fraaier uit dan een bedieningspaneel in de browser, maar Zac maakte van de gelegenheid gebruik om wat extra functionaliteit in te bouwen.
De Home Assistant Companion for macOS kan voortaan ook enkele Mac-statusdata doorgeven. Sindsdien kun je vanuit Home Assistant bijvoorbeeld signaleren of de camera of microfoon actief is, de batterij van je MacBook bijna leeg is, of de computer in slaap is gevallen. Deze ‘binary_sensors’ kun je als trigger gebruiken voor handige automatiseringen.
©PXimport
Franck – alias Frenck – Nijhof gaf van zo’n automatisering in een introductievideo meteen een mooi voorbeeld: hij liet zien hoe, wanneer de camera op zijn Mac aanging, automatisch een ledpaneel aanfloepte boven zijn scherm, zodat hij er bij videocalls automatisch goed belicht bij zat. In de opmerkingen onder de introductieblog werd volop gefilosofeerd over andere gebruiksmogelijkheden.
Zo zou je via Home Assistant ook volledig geautomatiseerd een waarschuwingslicht boven de deur van je kamer kunnen laten aangaan – een beetje zoals een lampje bij een opnamestudio – op hetzelfde moment dat je videocall start.
Autodiscovery
Home Assistant is van oorsprong vooral populair in kringen van ontwikkelaars en fanatieke home automation-hobbyisten, die met alle liefde al hun vrije tijd opofferen voor het tweaken van hun systemen en het delen van hun ervaringen op online fora.
Toch was oprichter Paulus zich al in een vroeg stadium bewust van het belang van gebruiksgemak. Al enkele maanden nadat hij in 2013 de eerste regels Pythoncode schreef, voegde hij een ‘Autodiscovery’ feature toe. Daardoor scant Home Assistant meteen na installatie het netwerk op slimme apparaten en configureert die op verzoek om samen te werken met Home Assistant.
Ook de ontwikkeling van een besturingssysteem door de Zwitser Pascal Vizeli in 2017 betekende een doorbraak. Vanaf toen konden gebruikers dankzij Home Assistant OS een Raspberry Pi in een paar stappen omtoveren tot een huisserver.
Home Assistant-blueprints
Omdat het voor veel ‘gewone’ gebruikers een stap te ver gaat om een image naar een microSD-kaartje te uploaden en vervolgens een Raspberry Pi te configureren, presenteerde Home Assistant in december 2020 het eerste hardwareproject. Home Assistant Blue is een strak gelakte blauw aluminium home automation hub, die van gebruikers alleen vraagt om de stroom- en internetkabel aan te sluiten.
Nadat ze Blue aanzetten en Autodiscovery zijn werk heeft gedaan, kunnen ze de status van hun slimme apparaten in een dashboard zien en bedienen vanaf hun telefoon of computer. Daarnaast kunnen gebruikers ‘Blueprints’ importeren en configureren. Daarmee kunnen ze ervoor zorgen dat in reactie op bepaalde triggers (er komt iemand thuis) en onder omstandigheden (de zon is onder) bepaalde acties worden uitgevoerd (de thermostaat gaat omhoog en de lichten gaan aan).
©PXimport
Omdat Home Assistant bleef groeien, en het modereren van die gezamenlijke ontwikkelexplosie inmiddels meer dan een dagtaak was, richtte Paulus in 2018 samen met Pascal een bedrijf op: Nabu Casa. Dat telt inmiddels acht medewerkers over de hele wereld, onder wie Franck. Een andere Nederlandse (front-end-)ontwikkelaar is Bram Kragten.
Om het bedrijf levensvatbaar te maken zochten Paulus en Pascal naar een inkomstenmodel. Het was daarbij voor hen uit den boze om Home Assistant gebundeld te verkopen als softwarepakket. Daarom besloten de oprichters tot het ontwikkelen van een nieuw product: de Home Assistant Cloud. Voor vijf dollar per maand hebben gebruikers met de Home Assistant Cloud ook op afstand toegang ertoe.
©PXimport
Franck: “Gebruikers kunnen dat ook al zelf regelen, maar dat vereist aardig wat technische kennis en vaardigheid.” Nu verzorgt de Home Assistant Cloud dit hele proces op een veilige en privacyvriendelijke manier. Zo worden datapakketjes tussen app en hub versleuteld verzonden, gedurende de volledige route. Met een abonnement op de Home Assistant Cloud ondersteunen gebruikers bovendien het achterliggende opensource-project.
De Home Assistant Cloud maakt het ook mogelijk om apparaten alsnog te koppelen aan Google Assistant en Amazon Alexa, zodat die via spraak bedienbaar worden en opduiken in de bijbehorende apps. Dat betekent dan wel dat Big Tech alsnog mee kan kijken en luisteren in je huis. Ideaal is dat natuurlijk niet. Paulus ziet wel hoopgevende tendensen, zoals de ontwikkeling van een open standaard die is gebaseerd op het internetprotocol (IP).
Met Connected Home over IP (CHIP) kunnen slimme apparaten, mobiele apps en clouddiensten als het goed is in de toekomst eenvoudiger met elkaar communiceren. Ook krijgen consumenten dan minder te maken krijgen met incompatibele producten. In de projectgroep voor CHIP zitten grote namen als Amazon, Apple, Google, de Zigbee Alliance, IKEA, NXP Semiconductors en Samsung.
Meer lokale API’s onder druk van consumenten
Tegelijkertijd probeert het team van Nabu Casa ervoor te zorgen dat het consumentenbewustzijn groeit over de manier waarop producenten van slimme apparaten hun geld verdienen. “Als je een wifi-lamp koopt voor 8 euro, dan kun je er zeker van zijn dat ofwel jouw gebruiksgegevens online verkocht worden aan de hoogste bieder, of dat die lamp over een paar jaar niet meer ondersteund wordt.”
Ook stimuleert Home Assistant gebruikers om bij fabrikanten aan te dringen op lokale ondersteuning. Dat ondervond bijvoorbeeld TP-Link. Tot november 2020 werkten hun slimme schakelaars lokaal. In november 2020 rolde TP-Link een firmware-update uit die deze mogelijkheid uitzette, omdat die onveilig zou zijn.
“Gebruikers werden gedwongen hun schakelaars voortaan te bedienen vanuit de TP-Link-cloud, terwijl ze juist bewust voor dit merk gekozen hadden vanwege de lokale integratiemogelijkheden.” Een week en veel boze reacties later, bood TP-Link gebruikers de mogelijkheid om de firmware-update terug te draaien.
Om consumenten te helpen bij het selecteren van apparaten met een lokale API, toont de website van Home Assistant inmiddels van elk apparaat duidelijk hoe deze een verbinding legt met Home Assistant. “Het zou mooi zijn als gebruikers dat aspect meer mee gaan laten wegen bij de aanschaf van slimme apparaten. Hun stem en hun aankoopgedrag kunnen ervoor zorgen dat meer bedrijven gaan inzien dat het belangrijk is om lokale connectiviteit voor hun apparaten te ondersteunen.”
Zelf proberen
Op de Home Assistant website vind je uitgebreide documentatie over de installatie en configuratie van Home Assistant en over het automatiseren van je huis met dit platform. Ook bevat de website een eenvoudig doorzoekbare database van apparaten en platformen waarmee Home Assistant kan worden geïntegreerd, lokaal en/of in de cloud. Dat zijn er momenteel bijna 1800.
Nabu Casa werd in 2018 opgericht door Home Assistant-oprichter Paulus Schoutsen en Pascal Vizeli, de maker van Home Assistant OS. Binnen Nabu Casa werken zij samen met acht medewerkers aan een Home Assistant Cloud, een privacyvriendelijk cloudalternatief. Daarnaast is Nabu Casa de hoofdsponsor van opensourceproject Home Assistant.
Op Reddit delen gebruikers regelmatig interessante toepassingen van Home Assistant. En door ‘Blueprints’ te importeren en te configureren, kun je er relatief eenvoudig voor zorgen dat de apparaten in je huis samen gaan werken om jouw leven gemakkelijker of leuker te maken.
©PXimport
In het volgende voorbeeld willen we graag onze IKEA-afstandsbediening voor slimme lampen aansluiten op Home Assistant, zodat we kunnen bepalen wat er met de lichten gebeurt als we de knoppen van deze afstandsbediening indrukken.
Om te onderzoeken of er al Blueprints bestaan voor deze afstandsbediening, gaan we naar het forum op https://community.home-assistant.io en klikken op Blueprints Exchange. Er verschijnt een doorzoekbare pagina met alle beschikbare Blueprints. In het zoekvenster rechtsboven vullen we de naam in van de IKEA-afstandsbediening (Trådfri). We kunnen kiezen uit een aantal verschillende Blueprints.
We selecteren deCONZ - IKEA five button remote for lights. Nu verschijnt er een beschrijving van de Blueprint. We zien dat de Blueprint is gedeeld door Bram Kragten. Omdat hij zo vriendelijk is geweest om dit YAML-script als Blueprint beschikbaar te maken, hoeven we zelf geen code meer te schrijven.
Hij vertel op deze pagina exact wat de Blueprint doet. Ook gunt hij ons een kijkje op de achterliggende code. Als ons bevalt wat we lezen, klikken we op de lichtblauwe knop Import Blueprint en daarna op Open Link. Daarna drukken we in het pop-up-venster op Bekijk Blueprint en vervolgens op Blueprint importeren.
De Blueprint is nu toegevoegd aan het Blueprint overzichtsscherm in onze eigen Home Assistant-installatie. Om de blueprint te gebruiken, klikken we op Automatisering maken. De automation-editor verschijnt. Daarin valt te lezen dat de middelste knop al voorgeprogrammeerd is (aan-uitknop), net als de bovenste en onderste knop (dimmen). We kunnen wel zelf bepalen wat er moet gebeuren bij het kort of lang indrukken van de rechter- en linkerknop. Daarvoor hoeven we alleen maar te klikken op Add Action.
Nu weet je dat een slim huishouden ook mogelijk is zonder alles van jezelf bloot te geven aan grote techbedrijven. Welke projecten had je zelf in gedachten?
Tekst: Jolein de Rooij