Domoticasystemen worden steeds populairder, maar hebben wel vaak een belangrijk nadeel: je legt je lot in handen van één fabrikant. Met Home Assistant op een Raspberry Pi neem je weer de controle over je huis in eigen handen en de mogelijkheden zijn eindeloos. We gaan ermee aan de slag!
Home Assistant (https://www.home-assistant.io/) is iets meer dan vijf jaar oud en heeft in die korte tijd al een trouwe schare fans verzameld. Het open source domotica systeem focust zich op onafhankelijkheid van cloudservers, op privacy en op een doe-het-zelfmentaliteit. Domotica is immers iets heel persoonlijks: iedereen heeft andere eisen voor de automatisering van zijn huis.
Home Assistant is een Python-programma en je kunt het dan ook op die manier installeren, bijvoorbeeld op Raspbian op een Raspberry Pi, maar ook in een jail in FreeNAS of in een Docker-container. Dat geeft de meeste vrijheid om je systeem te tweaken, al is het daardoor ook wat moeilijker om te beheren.
Hass.io installeren
Daarom hebben de ontwikkelaars vorig jaar Hass.io (https://www.home-assistant.io/hassio/) geïntroduceerd. Dat is een besturingssysteem gebaseerd op resinOS (https://resinos.io/) en Docker (https://www.docker.com/), dat Home Assistant installeert en updatet en dat je kunt beheren in dezelfde interface als die van Home Assistant. Bovendien ondersteunt Hass.io ook add-ons in de vorm van Docker-images, waardoor ook het uitbreiden van je Home Assistant-systeem wat handiger en betrouwbaarder is.
Daarom gaan we in deze workshop aan de slag met Hass.io. Download het juiste image (https://www.home-assistant.io/hassio/installation/) van de website van Home Assistant, in ons geval was dat hassos_rpi3-1.10.img.gz voor de Raspberry Pi 3 Model B en B+ 32-bits, het image dat de ontwikkelaars aanraden. Schrijf het image met Etcher (https://etcher.io/) naar een microSD-kaart van liefst 32 Gbyte of meer.
We gaan uit van een configuratie met ethernet; op de pagina waar je de images vindt, staat ook uitgelegd hoe je wifi configureert. Dat doe je door een usb-stick in je Pi te steken met een configuratiebestand op. Sluit je Pi op het netwerk aan en start het computertje dan op vanaf de zojuist beschreven microSD-kaart. Deze eerste opstart downloadt Hass.io Home Assistant, wat bij ons een tiental minuten duurde. Vlak na de download kun je al een statuspagina op http://hassio.local:8123 bekijken in je webbrowser en op die pagina is je Home Assistant-installatie ook bereikbaar na installatie.
Configuratie
Na de installatie vraagt Home Assistant je om een gebruikersaccount aan te maken. Vul een naam, gebruikersnaam en wachtwoord in en klik op Account aanmaken. Log je in de stap erna met diezelfde gebruikersnaam en wachtwoord in, dan krijg je een welkomstkader met verwijzingen naar meer informatie.
Klik je op de drie horizontale lijnen linksboven, dan open je een zijpaneel met een menu. We gaan even kort in op elk ervan. De pagina die je nu al zag, is Overzicht. Daaronder heb je Kaart, dat een kaart toont waarop je de locatie van apparaten die je trackt kunt tonen. Logboek geeft je een lijst van belangrijke gebeurtenissen, zoals wanneer Home Assistant is gestart. Later komen hierin wijzigingen van de status van je apparaten. Geschiedenis toont je in de vorm van grafiekjes de waarde van allerlei variabelen door de tijd. In Hass.io beheer je Hass.io en de add-ons en in Instellingen configureer je Home Assistant en zijn belangrijkste componenten. En helemaal onderaan vind je de Ontwikkelaarstools waarmee je onder de motorkap van Home Assistant duikt.
Add-on toevoegen
Niet alle componenten van Home Assistant kun je via de webinterface configureren. De volledige configuratie staat in een bestand configuration.yaml, maar dat kun je momenteel niet bewerken. Daarom installeren we de add-on Configuration die toelaat om het configuratiebestand van in de webinterface te bewerken. En zo tonen we ineens aan hoe je een add-on in Hass.io installeert.
Open links het menu Hass.io en klik dan op Add-on Store. Klik daar bij de Official add-ons op Configurator en dan op Install. Na de installatie krijg je de configuratie van de add-on te zien. Het enige wat je daarin dient te veranderen, is de volgende regel:
“password”: null,
Verander die in:
“password”: “geheimwachtwoord”,
Je vult hier je eigen wachtwoord voor de configurator in, zodat niet iedereen met toegang tot je domotica systeem de configuratie van Home Assistant kan aanpassen. Let op: vergeet niet de aanhalingstekens (“) rond je wachtwoord te zetten. Klik daarna op SAVE. Klik daarna bovenaan de pagina op Start om de add-on op te starten en daarna op Open Web UI. Vul in het nu verschijnende aanmeldvenster de gebruikersnaam admin en je zojuist ingestelde wachtwoord in.
Configuratie in de webinterface
De configurator toont je een groot leeg tekstveld. We moeten eerst het juiste bestand openen. Klik daarom linksboven op het icoontje van de map en kies dan het bestand configuration.yaml in de map /config. Je krijgt nu de configuratie van Home Assistant te zien. Nu we hier toch zijn, kun je een commentaarteken (#) vóór de regel introduction zetten, zodat je in het overzicht niet elke keer het welkomstkader meer te zien krijgt. Kijk ook eens naar de instellingen voor je locatie en je tijdzone.
Voeg daarna de volgende code toe, bijvoorbeeld vlak voor de regel die begint met group:
panel_iframe:
configurator:
title: Configurator
icon: mdi:wrench
url: http://hassio.local:3218
Klik daarna bovenaan rechts op het rode knopje om het configuratiebestand op te slaan. Ga daarna terug naar de pagina van Home Assistant zelf, klik op Instellingen, Algemeen en dan onderaan op Herstarten. Home Assistant herstart dan. Als je alleen het configuratiebestand opnieuw wilt inladen, klik dan op Herlaad kern.
Na de herstart krijg je in het zijpaneel links een nieuw onderdeel, Configurator. Hierin kun je nu configuration.yaml (en andere bestanden op je Pi) bewerken zonder dat je nog de afzonderlijke pagina van de add-on Configurator hoeft te openen.
Andere manieren om configuration.yaml aan te passen
Installeer je de officiële add-on SSH server, dan kun je via ssh op je Hass.io-systeem inloggen en zo ook het configuratiebestand aanpassen. Een verbeterde versie daarvan is de community add-on SSH & Web Terminal die een veilige ssh-configuratie aanbiedt en ook een terminal in de webinterface van Home Assistant beschikbaar maakt. En met de add-on Samba share deel je mappen van Hass.io via Samba, waardoor je de bestanden erin (en dus ook configuration.yaml) op een ander systeem kunt aanpassen.
Apparaten toevoegen
Dan is het nu tijd om al je apparaten aan Home Assistant toe te voegen. Misschien ontdekt Home Assistant zelf al wat van je apparaten op het netwerk, omdat de standaard ingeschakelde component discovery apparaten via zeroconf/mDNS en UPnP ontdekt. Andere apparaten zal je zelf moeten toevoegen. De online documentatie van Home Assistant legt in de meeste gevallen uitstekend uit hoe dat werkt.
We tonen je hier hoe dat met Z-Wave-apparaten gaat. Steek een Z-Wave usb-stick in een usb-poort van de Pi en voeg dan in configuration.yaml het volgende toe:
zwave:
usb_path: /dev/ttyUSB0
Afhankelijk van je Z-Wave-controller kan dit pad overigens verschillen. Herstart dan Home Assistant. Het is trouwens nuttig om te weten dat Home Assistant gebruik maakt van OpenZWave (http://www.openzwave.com/), dus informatie over de ondersteuning van specifieke Z-Wave-apparaten vind je bij dat project. Na de herstart zijn normaal gezien al je Z-Wave-apparaten toegevoegd en zie je ze in je overzicht. Bij de batterij-gevoegde apparaten kan het overigens even duren voordat ze worden herkend. In het menu Instellingen vind je nu onderaan een onderdeel Z-Wave. Daar kun je je Z-Wave-apparaten beheren. Lees zeker in de online documentatie hoe je weerbarstige Z-Wave-apparaten aan de praat krijgt.
Nadat je je apparaten aan Home Assistant hebt toegevoegd, kun je beginnen met deze te automatiseren.
Automatiseren
Als je op deze manier wat sensoren, schakelaars en andere apparaten hebt toegevoegd, kun je beginnen met zaken te automatiseren. In configuration.yaml zie je onderaan:
automation: !include automations.yaml
Dat betekent dat Home Assistant de inhoud van het bestand automations.yaml inleest. Open dat bestand en plaats daarin je code. Wij willen dat de rolluiken van het schuifraam en keukenraam (beide aan de zuidkant) automatisch omlaag gaat als het binnen te warm wordt. Dat ziet er dan als volgt uit:
– id: close_covers_south_when_hot_inside
alias: Sluit rolluiken op het zuiden als het binnen te warm is
trigger:
platform: numeric_state
entity_id: sensor.woonkamer_temperature
above: 26
action:
service: cover.close_cover
data:
entity_id: cover.schuifraam, cover.keukenraam
Het id is een unieke code van je automatisatie en de alias is de beschrijving van deze automatisatie die je in het overzicht van Home Assistant te zien krijgt. De trigger is wat de automatisatie activeert, in ons geval dat de temperatuur in de berging hoger dan 26 graden wordt. En onder action beschrijf je wat er moet gebeuren, in dit geval dat we beide rolluiken sluiten.
Voorwaarden
Je kunt nog extra voorwaarden aan een automatisatie toevoegen. Stel je voor dat je automatisch alle rolluiken na zonsondergang wilt sluiten als je weg bent, dan moet je eerst een device tracker toevoegen. Home Assistant heeft daarvoor veel mogelijkheden, maar de eenvoudigste is via Bluetooth. Voeg daarvoor het volgende aan je configuration.yaml toe:
device_tracker:
– platform: bluetooth_tracker
Als je daarna Home Assistant herstart, dan herkent het systeem alle apparaten in de buurt via Bluetooth. Ze voegt ze vervolgens aan je overzicht toe met de aanduiding Thuis als ze gevonden zijn en anders staan ze op Afwezig. Het al dan niet thuis zijn, kun je dan in je automatisaties als voorwaarde opleggen, bijvoorbeeld:
– id: close_covers_after_sunset_when_away
alias: Sluit rolluiken na zonsondergang als ik weg ben
trigger:
platform: sun
event: sunset
offset: ‘+00:30:00’
condition:
condition: state
entity_id: device_tracker.phone_koen
state: not_home
action:
service: cover.close_cover
data:
entity_id: cover.boven
En verder
Een domotica systeem is natuurlijk heel persoonlijk: elk huis is anders, iedereen heeft andere apparaten die hij wil automatiseren en iedereen heeft een andere thuissituatie en andere verlangens. Vanaf nu is het dus aan jou. Denk eens na wat je zoal wilt automatiseren en zoek dan in de uitgebreide online documentatie (https://www.home-assistant.io/docs/) op hoe je dat doet. Wees gewaarschuwd: het is behoorlijk verslavend!
FAQs
What is the difference between Home Assistant and Home Assistant supervisor? ›
Home Assistant is an open source home automation software that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Supervised is a type of installation that provides the ability to use more features, like Addons installation from UI.
Which Linux is best for Home Assistant? ›- Home Assistant OS.
- Debian 12 (Bookworm)
Running Home Assistant on a Docker and standalone
Running Home Assistant as a standalone service simply means that you've installed it directly on your machine and you don't need Docker to run it. In contrast, running Home Assistant on Docker simply means that you're running it in a containerized environment.
Navigate to Settings -> System -> Backups. Click on the last full backup that you want to restore from. Select Full backup, and enter your backup password (if any). Click on RESTORE, acknowledge the warning, and click on RESTORE again.
What OS is best for Home Assistant? ›If you run a VM, use the Home Assistant OS, it's the easiest for beginners. Otherwise Debian 11.
What is the best installation method for Home Assistant? ›According to Home Assistant, the two recommended methods of Home Assistant installation are OS and Container method.
Should I install core or OS first for Home Assistant? ›To be safe, which should I update first, core or OS? It does not matter. e.g. Which would you update first, Windows OS or a program that runs on Windows? Just make sure you have a backup saved and transferred off your system before you start.
Which is the best lightweight Linux for Home Assistant? ›Debian is the only officially supported Linux distro for use with Home Assistant Supervised. The Community Guides section of this forum contains instructions for installing Home Assistant Supervised on Debian as well as other distros.
Does Home Assistant OS have a UI? ›Home Assistant is an all-in one-solution and has a management user interface that can be used from the Home Assistant frontend. This interface is not present in a Home Assistant Core setup.
Can Home Assistant run on cloud? ›The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa and Google Assistant.
Does Home Assistant run on Linux? ›
Install Home Assistant Supervised
First make sure you understand the requirements. This installation method has very strict requirements, for example, it only supports Debian (and Ubuntu, Armbian, Raspberry Pi OS are not supported).
You need to exclude every entity you don't need to save, and consider reducing the purge days from 10 to maybe 4 or 5. It's very likely the database which is bloating your backups. And remember the backups are always created locally, even if you use an add-on to copy them elsewhere once they're created.
How do I enable advanced mode in Home Assistant? ›- This add-on is only visible to "Advanced Mode" users. To enable advanced mode, go to Profile -> and turn on Advanced Mode.
- Navigate in your Home Assistant frontend to Settings -> Add-ons -> Add-on store.
- Find the "Terminal & SSH" add-on and click it.
- Click on the "INSTALL" button.
Creating a Backup
To manually create a backup, navigate to Settings > System > Backups and click + Create Backup: If you choose to create a Full Backup, give it a name and an optional password protection. If you leave it empty, Home Assistant will automatically assign a timestamp as a name to your backup.
Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant. This integration is already installed if you run Home Assistant OS or Supervised.
What does assistant supervisor level mean? ›An assistant supervisor serves as a department's second in command, supporting the primary supervisor with day-to-day management and administrative functions. Depending on the employee's career path, the assistant supervisor role may act as the training ground for becoming the main supervisor.
What is supervisor function in Home Assistant? ›The Supervisor is responsible for managing your system so that you can manage your home. It's the beating heart of the Home Assistant Operating System and it ensures that your system stays secure and up to date. When things do go wrong, the Supervisor is there to help you recover the system.
Is a supervisor higher than an assistant? ›Supervisors typically have more experience than assistant managers and may use this to their advantage when making decisions or solving problems. Assistant managers often rely on their supervisor for guidance and may need to consult with them before making decisions.