Mit dem Reedkontakt für BK-G4 Gaszähler mit ESP32-C3 Gehäuse von NG3D-Druck lässt sich der Gasverbrauch präzise, dauerhaft und vollautomatisch in Home Assistant erfassen. Der Sensor wird außen am Gaszähler montiert und benötigt keinen Eingriff in den Gaszähler.
Der Reedkontakt erfasst die Impulse des mechanischen BK-G4 Gaszählers, zählt und speichert den Zählerstand dauerhaft und wandelt die Impulse mithilfe von ESPHome in exakte Verbrauchswerte in Kubikmetern (m³) um. Der integrierte ESP32-C3 überträgt den aktuellen Zählerstand alle 60 Sekunden per WLAN direkt an Home Assistant.
Jeder erkannte Impuls wird zusätzlich durch ein kurzes grünes Blinken der integrierten LED signalisiert. Der Gaszähler steht damit als Sensor für Energie-Dashboard, Statistiken und Automationen in Home Assistant zur Verfügung – zuverlässig, transparent und optimal in dein Smart-Home integriert.
Voraussetzungen
Für diese Anleitung werden folgende Komponenten benötigt:
- Installierter und laufender Home Assistant
- Installiertes ESPHome Device Builder Add-on
-
Reedkontakt für BK-G4 Gaszähler mit ESP32-C3 Gehäuse
- Waveshare-ESP32-C3-Mini-Mikrocontroller
- WLAN-Abdeckung am Gaszähler
Schritt 1: Reedkontakt an ESP32-C3 anschließen
Der Reedkontakt wird in ESPHome als binärer Sensor betrieben und erfasst die Impulse des Bk-G4 Gaszählers. Dafür sind nur zwei Anschlüsse notwendig.
Anschlussbelegung zwischen Reedkontakt und ESP32-C3
Ein Kontakt des Reedkontakts → GND
Zweiter Kontakt → GPIO 4
ℹ️ Der interne Pull-up-Widerstand des ESP32 wird genutzt, daher ist kein externer Widerstand erforderlich.
Schritt 2: ESPHome-Gerät für den Gaszähler anlegen
- Öffne Home Assistant
- Wechsle zu ESPHome Device Builder
- Halte die BOOT-Taste am ESP32-C3 gedrückt, während du den ESP32-C3 per USB mit dem PC verbindest
- Klicke auf NEW DEVICE
- Wähle New Device Setup
- Vergib einen Namen, z. B. BK_G4_Gaszaehler, weiter mit Next
- Klicke auf Connect
- Wähle den passenden USB-Port (COM)
Wird der ESP32-C3 nicht erkannt oder kein COM-Port angezeigt, fehlen meist die USB-Treiber. Diese können hier geladen werden: Waveshare ESP32-C3 Treiber . Nach der Installation den ESP32-C3 erneut anschließen.
Die Installation dauert ca. 2–3 Minuten.
Nach Abschluss kann die Meldung
„Configuration created but unable to detect the device on the network“
erscheinen – diese kann mit CLOSE geschlossen werden.
Drücke anschließend einmal die RESET-Taste am ESP32-C3.
Jetzt sollte das Gerät im ESPHome Builder als online angezeigt werden.

Schritt 3: ESPHome-Konfiguration für den Gaszähler anpassen
- Klicke im ESPHome Builder auf der Gerätekarte auf Edit
- Füge den erforderlichen Codeblock unter captive_portal: ein (Beispiel)
globals:
- id: pulses_sum
type: int
restore_value: yes
initial_value: '123456' ### Gaszählerstand eingeben
# Onboard WS2812 LED (GPIO10)
light:
- platform: esp32_rmt_led_strip
id: onboard_led
internal: true
pin: GPIO10
num_leds: 1
rgb_order: RGB
chipset: WS2812
script:
- id: blink_green
mode: restart
then:
- light.turn_on:
id: onboard_led
red: 0%
green: 100%
blue: 0%
transition_length: 0s
- delay: 500ms
- light.turn_off:
id: onboard_led
transition_length: 0s
# Reedkontakt
binary_sensor:
- platform: gpio
id: internal_pulse_counter
pin:
number: GPIO4
mode: INPUT_PULLUP
inverted: true
name: "Live-Impuls"
filters:
- delayed_on: 20ms
- delayed_off: 20ms
on_press:
then:
- lambda: id(pulses_sum) += 1;
- script.execute: blink_green
# Gaszählerstand als Sensor
sensor:
- platform: template
name: "Gaszaehler"
update_interval: 60s
device_class: gas
unit_of_measurement: "m³"
state_class: "total_increasing"
icon: "mdi:fire"
accuracy_decimals: 2 ### ggf. Nachkommastellen anpassen
lambda: |- ### ggf. Umrechnungsfaktor anpassen
return id(pulses_sum) * 0.01;
- Trage deinen aktuellen Gaszählerstand ein
initial_value:"163129"- Ohne letzte Ziffer
- Ohne Komma
- entsprechend deinem Gaszähler (Impulswert pro m³) passe den Umrechnungsfaktor an
return id(pulses_sum) * 0.01
- Klicke oben rechts auf INSTALL
- Wähle Wirelessly, um die Konfiguration kabellos zu übertragen
- Nach Abschluss des Vorgangs ist die Software kompiliert und erfolgreich auf dem ESP32-C3 installiert.
Der ESP32-C3 startet anschließend automatisch neu und verbindet sich mit dem WLAN.
Schritt 4: Gaszähler in Home Assistant integrieren
Damit der Gaszähler in Home Assistant verfügbar ist, muss das ESPHome-Gerät einmalig eingebunden werden.
- Öffne den ESPHome Builder in Home Assistant
- Klicke auf der Gerätekarte des Gaszählers auf das Drei-Punkte-Menü
- Wähle Show API Key und kopiere den angezeigten API-Key
- Der API-Key wird für die Verbindung zwischen ESPHome und Home Assistant benötigt
- Wechsle in Home Assistant zu:
Einstellungen → Geräte & Dienste → ESPHome - Das Gerät sollte dort automatisch als entdeckt angezeigt werden

- Klicke auf Hinzufügen und bestätige den Vorgang
- Gib den API-Key ein, falls du dazu aufgefordert wirst
- Nach erfolgreicher Einrichtung ist der Gaszähler-Sensor in Home Assistant verfügbar und kann verwendet werden
