Hoofdstuk 2 van 14

Wat ESPHome eigenlijk is

Begrijp hoe ESPHome, YAML, de ESP32 en Home Assistant samenwerken en welke taken je lokaal op je eigen apparaat kunt uitvoeren.

Stel dat we een ESP32 willen gebruiken om de temperatuur in De Werkplaats te meten. De microcontroller kan dat niet vanzelf. Hij moet weten welke sensor eraan is aangesloten, via welke pinnen hij communiceert en wat er met de meetwaarde moet gebeuren.

Met Arduino schrijf je daarvoor zelf een programma. Met ESPHome beschrijf je voornamelijk wat er aangesloten is en hoe het apparaat zich moet gedragen. ESPHome zet die beschrijving om in een programma dat op de ESP32 wordt geïnstalleerd.

Drie onderdelen die je uit elkaar moet houden

De ESP32 is de fysieke microcontroller. Hij heeft aansluitpinnen, geheugen en meestal wifi. Ons bord is een ontwikkelbord met een ESP32-WROOM-32-module.

ESPHome-firmware is de software die daadwerkelijk op de ESP32 draait. Nadat die firmware is geïnstalleerd, kan het apparaat zelfstandig opstarten. Een blijvend aangesloten computer is niet nodig.

De ESPHome Device Builder is de omgeving waarin we het apparaat aanmaken, configureren, controleren en nieuwe firmware bouwen en installeren. Je kunt die omgeving binnen Home Assistant of als zelfstandige desktopapp gebruiken.

De volledige route is:

Idee → configuratie → controleren → firmware bouwen → installeren → waarnemen.

Waarom YAML belangrijk is

De beschrijving van het apparaat wordt meestal opgeslagen in een bestand met de extensie .yaml. YAML is een leesbare manier om instellingen vast te leggen. Je schrijft bijvoorbeeld welke GPIO-pin bij een led hoort, of dat een sensor iedere tien seconden een waarde moet leveren.

Je hoeft niet alle mogelijkheden van YAML uit je hoofd te kennen. Je moet wel leren hoe de inspringing werkt. Twee regels die er ongeveer hetzelfde uitzien, kunnen door een verkeerd aantal spaties een andere betekenis krijgen.

De huidige Device Builder heeft ook een visuele componentenbouwer. Toch bekijken we de YAML achter onze projecten. Als je begrijpt welke instellingen de Device Builder maakt, kun je later gemakkelijker documentatie lezen, voorbeelden aanpassen en problemen onderzoeken.

ESPHome en Home Assistant zijn niet hetzelfde

Home Assistant is een systeem dat apparaten en informatie samenbrengt, historische gegevens toont en automatiseringen kan uitvoeren. ESPHome maakt de firmware voor het kleine apparaat zelf.

Een ESPHome-apparaat heeft Home Assistant niet nodig om bijvoorbeeld een lokale knop aan een lokale led te koppelen. Home Assistant is wel handig om de gemeten temperatuur op een dashboard te tonen of gebeurtenissen met andere apparaten te combineren.

Het verschil is belangrijk voor betrouwbaarheid. Een lokale knop voor een plaatselijke led kan blijven functioneren als Home Assistant wordt bijgewerkt. Een automatisering die in Home Assistant draait, heeft daarentegen Home Assistant en een werkende netwerkverbinding voor nodig.

Wat kun je ermee bouwen?

Denk aan een temperatuurmeter voor De Werkplaats, een vochtmelder voor een plant, een deurcontact, een lichtsensor, een display met meetwaarden of een klein bedienpaneel. Andere projecten vragen meer ervaring, zoals besturing van motoren, relais of netspanningsapparaten.

Niet iedere taak past op iedere microcontroller. Sommige onderdelen vereisen een specifieke chip, extra elektronica of nauwkeurige timing. Kijk daarom altijd of de gekozen component en het bord in de actuele ESPHome-documentatie worden ondersteund.

Wat je uit dit hoofdstuk kunt meenemen

De Device Builder maakt firmware aan de hand van een YAML-configuratie. Die firmware draait vervolgens op de ESP32. Home Assistant is een nuttige aanvulling, maar hoeft niet het middelpunt van iedere lokale handeling te zijn. Nu we weten waar de onderdelen voor dienen, verzamelen we wat we voor de eerste experimenten nodig hebben.