Nachdem du gestern die passende Hardware für deinen smarten Gaszähler ausgewählt hast, geht es heute um die Integration in Home Assistant. Das Ziel ist es, die ersten Live-Daten in deinem Smart-Home-System sichtbar zu machen.
Bevor du startest: Damit ich zukünftige Inhalte und die Videos hierfür noch besser auf deine Bedürfnisse anpassen kann, würde ich mich freuen, wenn du dir kurz Zeit nimmst, diesen Fragebogen auszufüllen: Zur Umfrage. So kann ich gezielt herausfinden, welche Themen dich besonders interessieren und wo du noch Unterstützung brauchst. Danke!
Am Ende dieses Tages hast du:
- Deinen ESP32 mit der passenden Firmware ausgestattet
- Den Sensor korrekt angeschlossen
- Erste Daten in Home Assistant sichtbar gemacht
Vorbereitung: Benötigte Software installieren
ESPHome in Home Assistant einrichten
ESPHome ist eine einfache Möglichkeit, Mikrocontroller zu programmieren, ohne dass du tiefgehende Programmierkenntnisse benötigst.
- Öffne Home Assistant und gehe zu den Einstellungen → Add-ons, Backups & Supervisor.
- Klicke auf „Add-on-Store“ und suche nach ESPHome.
- Installiere ESPHome und aktiviere die Optionen „Starten bei Hochfahren“ und „Im Seitenmenü anzeigen“.
Falls du ESPHome bereits installiert hast, kannst du diesen Schritt überspringen.
Erstellen und Flashen der ESPHome-Firmware
Um deinen ESP32 oder ESP8266 mit Home Assistant zu verbinden, erstellen wir eine neue Konfiguration und übertragen diese auf den Mikrocontroller.
Neues ESPHome-Gerät anlegen
- Öffne ESPHome in Home Assistant.
- Klicke auf „Neues Gerät hinzufügen“ und wähle ESP32 als Mikrocontroller (wenn du einen ESP8266 nutzt, wähle diesen).
- Gib dem Gerät einen Namen, z. B. „Gaszähler“
- Wähle „Installieren“ und verbinde den ESP mit deinem Computer per USB.
- Bei mir ging es nur über https://web.esphome.io/ mit dem Chrome Browser.
Den schritt zeige ich auch im Video genau ab minute 10 https://youtu.be/9jpvoomuZwE?si=UUA7HtbIgA9eYThw&t=622
Nach der erfolgreichen Installation startet dein ESP und verbindet sich mit deinem WLAN.
Wichtige Parameter in der Konfiguration
Nach der ersten Installation kannst du die Konfiguration des ESP32 über ESPHome anpassen. Öffne dazu die Datei des Geräts und ergänze folgenden Code:
globals:
#counter für die impulse des Gaszählers
- id: total_pulses
type: int
restore_value: false
initial_value: '0'
# vom Gaszaehler der Faktor pro Impuls; bei mir 1 imp = 0,01m³ Also wieviel m³ pro Impuls berechnet werden soll
- id: impuls_ratio
type: float
restore_value: false
initial_value: '0.01'
binary_sensor:
# Sensor zählt, ob der Reed Kontakt ein Klick erkannt hat.
- platform: gpio
id: internal_pulse_counter
pin:
number: GPIO32
mode: INPUT
name: "Gaszaehler_Impuls"
filters:
- delayed_on: 100ms # Verringerte Verzögerung
- delayed_off: 100ms # Zusätzliche Ausschaltverzögerung
on_press:
then:
- lambda: id(total_pulses) += 1;
# schaut, ob der ESP32 online ist
- platform: status
name: "Gaszähler Status"
sensor:
# zählt alle Impulse hoch und rechnet diese um in m³
- platform: template
name: "Gasverbrauch-m3"
device_class: gas
unit_of_measurement: "m³"
state_class: "total_increasing"
icon: "mdi:fire"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * id(impuls_ratio);
ESP_LOGD("Gaszähler m³ TAG", "Pulse bisher: %d", id(total_pulses));
# zählt alle Impulse hoch, umrechnung in kWh (mal 10)
- platform: template
name: "Gasverbrauch-kWh"
device_class: gas
unit_of_measurement: "kWh"
state_class: "total_increasing"
icon: "mdi:fire"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * id(impuls_ratio) * 10;
ESP_LOGD("Gaszähler kWh TAG", "Pulse bisher: %d", id(total_pulses));
Wenn du gerne auch die internen Impulse ausgewertet hättest, füge das noch unter „Sensor“ Hinzu:
- platform: template
name: "Gaszaehler Raw Impulse"
unit_of_measurement: "Impulse"
icon: "mdi:pulse"
accuracy_decimals: 0
update_interval: 10s
lambda: |-
return id(total_pulses);
Was passiert hier?
- Der ESP32 wird mit deinem WLAN verbunden.
- Die Verbindung zu Home Assistant wird hergestellt.
- Der Sensor erkennt Impulse des Gaszählers.
- Die Impulse werden gezählt und als Kubikmeter-Wert umgerechnet.
Nach der Anpassung speichere die Datei und installiere die Firmware „Over the Air“ (OTA) direkt aus ESPHome heraus.
Verkabelung des Sensors
Nachdem dein ESP geflasht wurde, muss der Sensor korrekt angeschlossen werden.
Pin-Belegung für den Reedsensor
- VCC (3,3V oder 5V) → ESP32 3V oder 5V-Pin. Ich empfehle den 3.3V Pin
- GND → ESP32 GND
- Signal (D0) → ESP32 GPIO32 (oder ein anderer Pin, falls in der Konfiguration geändert)
Test: Halte einen Magneten an den Sensor. Falls die LED auf dem Sensor aufleuchtet, ist er korrekt angeschlossen.
Zudem sollte jetzt in Home Assistant auch erkennbar sein, dass ein Impuls sichtbar wird.
Live-Daten in Home Assistant sichtbar machen
Jetzt verbinden wir den ESP mit Home Assistant und fügen den Sensor in das Dashboard ein.
- Gehe in Home Assistant auf „Einstellungen → Geräte & Dienste“.
- Klicke auf „ESPHome“ und füge das neu erkannte Gerät „Gaszähler“ hinzu.
- Nun solltest du die erkannten Sensoren sehen:
- Gaszähler Impuls
- Gasverbrauch in m³
Helfer Anlegen
Um den Gasverbrauch jetzt in Home Assistant zu speichern, legen wir einen Helfer an, der uns den aktuellen Gasverbraucht merkt



Wähle deinen Sensor aus, den du in ESP Home angelegt hast. Im Beispiel ist das Gasverbrauch
Dann einfach über Entwicklerwerkzeuge -> Aktionen -> Calibrate den Zähler auswählen und entsprechend deinem realen Wert im Keller einstellen. Wichtig Punkt muss durch Komma getauscht werden

Einfügen in das Dashboard
- Öffne dein Dashboard (Lovelace UI).
- Klicke auf „Bearbeiten“ → „Karte hinzufügen“.
- Wähle „Entität“ und suche nach dem Sensor „Gasverbrauch in m³“.
- Speichere die Änderungen.
Jetzt siehst du deinen aktuellen Gasverbrauch direkt im Dashboard.

Morgen gehts weiter mit Tag 3. Alle Infos kommen via Email

Alkly
Ich zeigt dir, wie du selber ohne Programmierkenntnisse und Herstellerunabhängig dein Zuhause mit selbst gebauter Smart Home-Technologie smart machen kannst.
Danke für deine Anleitung. Dadurch habe ich meinen Gaszähler auch anbinden können. Für mich als Amfänger in HA ist es nicht immer ganz einfach dir in den Videos zu folgen, weil du manchmal springs oder etwas dazwischen schiebst, was für mich dann in dem Moment nicht nachvollziehbar ist. Das ist aber mein Problem. Ohne deine Videos würde ich aber bei weitem nicht schon so viele Geräte eingebunden haben. Lieben Dank dafür Alkly
Wie skann man sich die Variablen total_pulses und impuls_ratio in HA anzeigen lassen?
Danke für deine Frage, baue ich ein im nächsten Tag als Auswertung 🙂
Hallo,
den ESP 32 habe ich konfiguriert und die Logs sehen so aus wie bei dir im Video, aber leider bekomme ich in Home Assist kein neues Gerät angezeigt, in der Fritz Box ist der ESP 32 auch zu finden, woran kann das liegen?
du könntest probieren, von hand das Gerät hinzuzufügen. Dazu bei Einstellungen, Geräte und Dienste, rechts unten neues Gerät, dann ESPHome auswählen und manuell hinzufügen. Dan dort die IP aus der Fritz!Box nehmen und testen. Melde dich, obs geht damit
Hey,
Danke für dieses tolle Projekt. Eine kleine Korrektur für das YAML hätte ich. Wenn du von device_class gas auf energy wechselst, kannst du im Energy Dashboard auch Preise für den kWh Verbrauch eintragen.
Danke für dein Feedback! Passe ich an, nachdem ich es auch mal teste
Hallo, mein ESPHome zeigt mir Permanent Softwareupdate, wie bekomme ich es installiert ? Er sagt im HA immer einen Fehler an. Die Aktion update/install konnte nicht ausgeführt werden. Error compiling gas.yaml; Try again in ESPHome dashboard for more information.
was für eine Hardware hast du, also wo läuft Home Assistant?
Leider hatte ich so einen Fehler noch nicht. Du kannst mal probieren, die Sensoren aus dem yaml zu löschen. Kommen sonst noch Fehler?