Volgens Wikipedia: De ESP is een low-cost Wi-Fi chip met microcontroller ontworpen door Espressif Systems in China. Populair geworden vanuit de UK via de eerste ESP-01 modules waarmee TCP/IP connecties gemaakt kunnen worden over een Wi-Fi netwerk.
Er zijn twee ESP-chips die het meest gebruikt worden, de ESP32 en de ESP8266 waarbij de ESP32 de verbeterde opvolger is van de initiële ESP8266.
ESP modules zijn er met een usb-poort op de print zodat je geen aparte USB-naar-serieel-adapter nodig hebt, bijvoorbeeld de Wemos D1 mini of de ESP32 Wroom
ESPHome
ESPHome is een systeem om de ESP8266/ESP32 te beheren aan de hand van configuratie-bestanden en kan gebruikt worden in o.a. Home Assistant.
De functionaliteit van een ESP-chip wordt gemaakt door deze te flashen met de configuratie voor de ESP waarna dan diverse sensors aangesloten kunnen worden, zoals temperatuur, vochtigheid, beweging, aanwezigheid, lichtsterkte, etc…
Om het flashen van een ESP eenvoudig te maken is er de ESPHome integratie binnen Home Assistant. De site voor ESPHome vind je hier.
ESPHome kan gevonden worden via de Add-on’s optie of klik hier op:
en eenmaal geïnstalleerd verschijnt de ESPHome optie in het menu van Home Assistant.
Voor de werking van ESPHome binnen Home Assistant is het handig(er) om Home Assistant te benaderen via https. Dit kan met een Nabu Casa account maar kan ook met een self-signed certificaat of via CloudFlare VPN.
ESP module toevoegen via http:
Indien er geen gebruik wordt gemaakt van https, dan kan een device geconfigureerd worden via een bestand dat op je computer kan worden aangemaakt. Kies voor ‘new device’ en er verschijnt dan de volgende melding in ESPHome, kies voor ‘CONTINUE‘:
Geef het device een naam en kies ‘NEXT‘ om het type ESP-module te kiezen:
er wordt dan de WiFi token getoond die je kunt kopiëren om het device in de integraties van HA toe te voegen.
kies voor ‘INSTALL‘ om het device te installeren in ESPHome en kies dan voor de manier van installeren. Via een USB kabel is dat ‘Plug into this computer‘
Er wordt dan een project bestand aangemaakt die je kunt downloaden en in de volgende stap kunt gebruiken om de ESP te flashen. Dit aanmaken duurt een paar minuten…
Zodra de preparing gereed is kan het bestand opgehaald worden via de getoonde download link:
kies vervolgens voor ‘Open ESPHome Web‘, connect de ESP met USB-kabel en kies voor INSTALLL om de gedownloade bin-file op de ESP te schrijven.
Als de installeren gereed is kan de web-pagina van ESPHome WEB gesloten worden en zal het device in de HA ESPHome pagina getoond worden.
ESP-module toevoegen via https
Toevoegen van een device via https brengt je direct naar de dialog box om de naam in te geven, dus dan is het niet nodig om naar ESPHome Web te gaan. Voorwaarde is wel dat WebSerial ondersteund wordt in je browser.
Om een ESP-module te configureren binnen ESPHome verbind je de ESP-module met een USB-kabel aan de USB poort van je computer. Ga vervolgens binnen Home Assistant naar ESPHome en kies voor ‘Add Device’. Als dit het eerste device is, zal tevens om de Wi-Fi credentials worden gevraagd. Geef het nieuwe device een naam, bijvoorbeeld:
Kies voor NEXT en het volgende scherm verschijnt:
Kies dan voor CONNECT en selecteer de juiste poort waar de ESP module op is aangesloten.
ESPHome zal de module dan voorbereiden (kan even duren) om er vervolgens de juiste software op te installeren:
Hierna zal de module toegevoegd zijn aan ESPHome en kan er een verdere functie aan gegeven worden middels het configureren van een yaml-bestand.
Om het device toe te kunnen voegen aan Home Assistant, is een API key nodig en die wordt getoond op het scherm:
Configureer ESP functie
Door EDIT te kiezen (op de deurbel zoals hierboven afgebeeld) wordt het yaml-bestand voor de ESP getoond en kan gewijzigd worden. In een standaard configuratie ziet dat er als volgt uit:
De wachtwoorden en keys staan in de secrets, rechtsboven in ESPHome.
Afhankelijk van de toepassing die gebruikt gaat worden met de ESP, wordt de bovenstaande configuratie aangepast en in de ESP geladen. Zie onderstaande links: