Wer ein IoT-Gerät baut, will meist kein Programmierprojekt, sondern eine funktionierende Mess- oder Schaltfunktion. ESPHome nimmt genau diese Arbeit ab: Es erzeugt aus der Beschreibung eine fertige Firmware für ESP32, ESP8266 und RP2040 – eigener C++-Code ist möglich, aber nicht nötig.
🔋 Ein Gerät wird beschrieben, nicht programmiert.
YAML ist ein Textformat, das Einstellungen als lesbare Schlüssel-Wert-Paare mit Einrückungen strukturiert. In der ESPHome-Konfiguration listet man keine Programmschritte auf, sondern Hardware und Verhalten: welchen Pin ein Sensor nutzt, wie oft er misst und unter welchem Namen die Werte erscheinen. Das lässt sich auch ohne Programmierkenntnisse bearbeiten.
📡 Die Datei ist der Bauplan, nicht das laufende Programm.
Beim Build übersetzt ESPHome die YAML-Datei in echten C++-Quellcode und kompiliert daraus eine Firmware. Ein typischer Abschnitt definiert einen GPIO-Pin als digitalen Ausgang, etwa eine LED an GPIO 2, und macht ihn als Schalter steuerbar. Die Änderung am Text wird also zur Änderung am Gerät.
🔧 Nach dem ersten Flashen geht alles über das Netz.
Firmware wird einmalig über USB in den Flash-Speicher geschrieben (Flashen); danach werden alle Änderungen per OTA übertragen, also über das Netzwerk, ohne neu zu verkabeln. Die Geräte sprechen mit Home Assistant, der Software-Zentrale fürs Smart Home, über eine native API, verschlüsselt mit einem Schlüssel, oder alternativ über MQTT, ein leichtes Nachrichtenprotokoll.
ESPHome heißt nicht „Geräte programmieren“, sondern „Geräte beschreiben und daraus Firmware erzeugen“.
📌 YAML-Konfiguration · automatischer Build · OTA-Updates
📚 IoT von Grund auf · Tag 6 von 30
#esp32 #homeassistant #firmware #iot