Klicke auf Connect und wähle den COM-Port deines ESPs aus.
Wähle Install und lade deine vorbereitete .yaml Datei hoch (oder kopiere den Inhalt in das Editor-Fenster, falls angeboten).
Option B: Über Home Assistant
Installiere das offizielle ESPHome Add-on aus dem Home Assistant Add-on Store, falls noch nicht geschehen.
Gehe in das Dashboard des Add-ons → + New Device.
Wähle „Open ESPHome Web“ (wenn per USB am Server) oder bereite die Konfiguration vor und wähle „Install“ → „Plug into this computer“ (wenn am PC).
Option C: Fallback (Falls Web-Installer/Reset fehlschlägt) Sollte der Browser den Chip nicht erkennen oder der Upload hängen bleiben, nutze das Kommandozeilen-Tool esptool:
Kompiliere die Firmware in ESPHome und wähle Download → Modern Format (.bin) (factory format).
Installiere esptool auf deinem PC (meist via Python: pip install esptool).
Flashe die Datei manuell über die Kommandozeile (ersetze COMX durch deinen Port):Bashesptool.py -p COMX write_flash 0x0 gasleser-factory.bin
4. Einrichtung
Sobald das Gerät geflasht ist und im WLAN hängt, kannst du es entweder über Homeassistant oder über den Browser konfigurieren.
Home Assistant:
Falls noch nicht geschehen, Gerät über Einstellungen → Geräte und Dienste → Esphome hinzufügen
Gerät „Gasleser“ öffnen
Hier solltest du sowohl die Sensorwerte als auch die Eingabefelder finden um den Gesamtwert und Faktor festzulegen
Browser:
Öffne deinen Browser und gehe auf http://gasleser.local (oder die IP-Adresse des ESPs).
Logge dich ein (Benutzer: admin, Passwort: Das, was du oben bei web_password gesetzt hast).
Du siehst nun die Sensor-Werte und zwei Eingabefelder für den Gesamtwert und den Impulsfaktor.
Das Gerät übernimmt den Wert sofort als Startpunkt für Gas Total und zählt ab dort weiter. Dank restore_value: true bleibt dieser Wert auch nach einem Stromausfall oder Neustart erhalten.
Update: der Binäre sensor war falsch konfiguriert, es fehlte inverted: true. Das führte dazu, dass manche Nulldurchgänge verpasst wurden. Das Script im Repo ist aktualisiert.
Aber bitte die Gemini-erzeugte Anleitung korrigieren: Bei Option A (Browser-basierte Methode) muss man in Schritt 3 unbedingt eine Binary Datei (wie das in Option C - Schritt 3 in Modern Format) hochladen, und nicht die YAML Datei. Andernfalls versucht der ESP32 Prozessor die Textdatei ohne Programmcode zu starten.
Danke für den Hinweis! Dummerweise kann ich den Beitrag oben nicht mehr bearbeiten. Ich habe die Readme auf Github angepasst und eine Github action hinzugefügt um die firmware zu kompilieren und als release bereitzustellen.
So ganz ideall funktioniert es leider bei mir allerdings noch nicht. Der Sensor scheint ~10 Impulse pro Tag zu verpassen und hinkt entsprechend hinterher. Ich werde bei Gelegenheit mit ai-on-the-edge vergleichen und schauen wann genau das passiert um da eine Lösung zu finden.
Fazit nach ~zwei Wochen Dauereinsatz: Alles läuft wie es soll. Bin froh dass ich den Umstieg gewagt habe und nicht mehr abhängig von geschlossenen Firmwares und der Cloud bin. Firmware updates funktionieren hier auch einwandfrei
Ob im Thread schriebst du: “Halte beim Einstecken des USB-Kabels den reset Pin gedrückt und lasse ihn erst nach ca. 2-3 Sekunden los, damit der Chip im Flash-Modus startet.”
Im GitHub Readme steht allerdings “Hold down the SW101 button (Boot button) while plugging in the USB cable and keep holding it for 2-3 seconds to ensure the chip enters flash mode.“
Was ist denn nun korrekt, Boot-Button oder Reset-Button? Im Internet finde ich keine allgemeine Info für den ESP32-C6 dazu…