Home Assistant – de basis
Als je Home Assistant (HA) gewoon wil gaan gebruiken zonder al te veel gedoe (en wie wil dat nou niet?), dan is het handig als je een beetje weet hoe HA in elkaar zit. Dit bericht gaat over de basis.
Hardware
Home Assistant (HA) kan op diverse hardware worden geïnstalleerd, elk met eigen voor- en nadelen. Raspberry Pi is populair vanwege lage kosten en compacte vorm, maar heeft beperkte rekenkracht en opslagcapaciteit. Mini-PC’s (zoals Intel NUC) bieden betere prestaties, ideaal voor grotere setups, maar zijn duurder. NAS-apparaten combineren opslag en HA, maar configuratie kan complex zijn. Je kunt het ook als Virtuele machine installeren op bijvoorbeeld je Mac of Windows pc. Sommige manieren zijn makkelijker dan anderen, wij gaan uit van een mini-pc.
Architectuur
Home Assistant is opgebouwd als een systeem waarin Home Assistant OS de basis is. Dit is een lichtgewicht besturingssysteem dat speciaal is gemaakt om Home Assistant te draaien. In dit OS zit een eenvoudige versie van Docker, waarmee verschillende onderdelen van Home Assistant in losstaande containers worden uitgevoerd.
Wat is Docker?
Docker is een lichtgewicht systeem waarmee je software in kleine, losstaande eenheden – containers – kunt laten werken. Elke container heeft een hele eigen taak en bevat alles wat het nodig heeft om te kunnen werken. Dit zorgt ervoor dat de containers geen last van elkaar hebben en maakt het een overzichtelijk en stabiel geheel.
Containers in HA
Het OS is dus het fundament, daar bovenop staan een paar containers, hoewel je als gebruiker daar weinig van merkt. Juist daarom is het handig om te weten dat het zo werkt.
De Home Assistant Core: Deze container is de “motor” van HA. Het bevat het deel dat je als gebruiker ziet en bedient (dat Lovelace wordt genoemd) en regelt alle communicatie met andere onderdelen, automatiseringen en integraties.
Andere containers zijn de Supervisor (Deze beheert updates, add-ons en back-ups), DNS-container (Helpt apparaten in je netwerk om Home Assistant te vinden) en de Multicast-container (Regelt communicatie tussen apparaten in je netwerk). Maar Add-ons draaien elk ook in een eigen container.
Add-ons
Add-ons zijn extra functies die je kunt installeren, zoals een VPN of een file manager. Deze add-ons draaien ieder in een eigen Docker-container, los van de andere delen van HA. Dit heeft bijvoorbeeld het voordeel dat de Add-on vaak blijft doorwerken als andere delen van het systeem worden bijgewerkt.
Integraties
De meeste Add-ons hebben ook een koppeling met Home Assistant. De integratie. Die geeft bijvoorbeeld de mogelijkheid de Add-on te configureren. Of de Add-On kan met HA worden bediend. Of HA kan informatie vanuit de Add-On ontvangen.
Voorbeeld van een Add-on: MQTT
Een voorbeeld van een Add-on is MQTT, die naam hoor je vaak als het gaat om apparaten die je kunt aanschaffen. Dan staat er dat ze MQTT ondersteunen.
MQTT is een manier waarop apparaten en software met elkaar kunnen communiceren. Centraal hierin is de MQTT Broker. De Broker is een centraal data-verdeelcentrum. De data wordt door zendende partijen aangeboden per onderwerp, de zogeheten topics. Anderen kunnen zich weer op topics abonneren. Als een zendende partij een bericht stuurt, krijgen de abonnees vrijwel direct dit bericht binnen.
Bijvoorbeeld een slimme stroommeter kan koppelen met de broker. De stroommeter heeft diverse gegevens die het kan doorgeven, elke soort via een aparte topic. Een topic is bijvoorbeeld de meterstand van je totale stroomverbruik. Een andere topic is bijvoorbeeld hoeveel kW je op dit moment verbruikt. De zender bepaalt wanneer het welke gegevens doorstuurt en hoe vaak. Bijvoorbeeld elk uur een update over de stroommeterstand en elke 10 seconden een update over het huidige verbruik.
Andere apparaten kunnen zich op die topics abonneren, daardoor kunnen ze zelfs buiten HA om op de hoogte blijven van veranderingen. Home Assistant wil zelf natuurlijk ook alle topics zien, zodat ze bijvoorbeeld kunnen worden getoond op een dashboard of gebruikt in een automatisering.
Bij Home Assistant kun je een MQTT Broker als Add-on installeren. De broker is via een integratie gekoppeld aan HA. Een apparaat dat gegevens stuurt logt in op de broker met naam en wachtwoord van een HA-gebruiker. Het is verstandig om daarvoor een aparte gebruiker aan te maken, met bv als naam “mqtt”. Daardoor kun je zorgen dat de apparaten niet te veel rechten hebben. Bij HA draait de broker dus wel op hetzelfde systeem als HA, alleen op een andere poort. Dit is 1883 als je geen SSL gebruikt en 8883 als je SSL aan zet.