May 12, 2026
Description
Mit diesem Modell lässt sich ein Honeywell BK-G4 MT Gaszähler smart machen und in Home Assistant einbinden.
Der Gas Smart Meter Reader besteht aus einem 3D-gedruckten Gehäuse/Halter, einem Wemos D1 Mini / ESP8266 und einem direkt angelöteten Reedkontakt. Der Reedkontakt erkennt die Impulse des Gaszählers. ESPHome zählt diese Impulse und berechnet daraus den Gasverbrauch in m³.
So kann der aktuelle Zählerstand bzw. Gasverbrauch automatisch in Home Assistant angezeigt und z. B. im Energie-Dashboard verwendet werden.
Der Reedkontakt wird direkt auf die Platine des Wemos D1 Mini gelötet. Es wird kein separates Sensorkabel benötigt.
Auf meinem Honeywell BK-G4 MT ist angegeben:
1 imp = 0,01 m³
Das entspricht:
100 Impulsen = 1 m³
Dieses Modell greift nicht in den Gaszähler ein. Es wird nur aufgesteckt.
Es wird nichts am Gaszähler geöffnet, verändert oder an Plomben manipuliert. Der Gas Smart Meter Reader wird nur außen am Zähler angebracht.
Arbeiten an Gasinstallationen, Gasleitungen oder verplombten Teilen dürfen nur durch qualifiziertes Fachpersonal durchgeführt werden.
Bei Gasgeruch oder Unsicherheit sofort den zuständigen Netzbetreiber bzw. Fachbetrieb kontaktieren.
Ich habe einen länglichen Reedkontakt / Magnetschalter verwendet.
Wichtig ist die Ausrichtung des Reedkontakts:
Die Naht am Reedkontakt muss zur Seite zeigen.
Die Naht darf nicht nach oben in Richtung Gaszähler zeigen. Wenn die Naht falsch ausgerichtet ist, kann es passieren, dass der Reedkontakt keine oder nur unzuverlässige Impulse erkennt.
Vor der endgültigen Montage sollte die Funktion getestet werden.
Der Reedkontakt wird direkt auf die Pins des Wemos D1 Mini gelötet und wie ein einfacher Schalter verwendet.
| Wemos D1 Mini | Reedkontakt |
|---|---|
| D1 / GPIO5 | Anschluss 1 des Reedkontakts |
| GND | Anschluss 2 des Reedkontakts |
In der ESPHome-Konfiguration wird für GPIO5 der interne Pull-up aktiviert:
mode: INPUT_PULLUP
Dadurch wird kein zusätzlicher Pull-up-Widerstand benötigt.
Beim Honeywell BK-G4 MT steht auf dem Zähler:
1 imp = 0,01 m³
Daraus folgt:
100 Impulse = 1 m³
In ESPHome wird der Gasverbrauch daher so berechnet:
Gasverbrauch = Impulse × 0,01
Wenn der aktuelle Zählerstand übernommen werden soll, muss der Startwert in Impulsen eingetragen werden:
Impulse = aktueller Zählerstand in m³ × 100
Beispiel:
Zählerstand: 3278,29 m³ Startwert: 327829
Dieser Wert wird in der ESPHome-Konfiguration bei initial_value eingetragen.
# ============================================
# ESPHome-Konfiguration für Gas Smart Meter Reader
# Honeywell BK-G4 MT + Wemos D1 Mini + Reedkontakt
# ============================================esphome:
name: gas-smartmeterreader
friendly_name: Gas Smart Meter Readeresp8266:
board: d1_mini
restore_from_flash: truepreferences:
flash_write_interval: 5minlogger:
api:
encryption:
key: !secret gas_smr_api_encryption_keyservices:
- service: update_counter_pulses
variables:
counter_pulses: int
then:
- globals.set:
id: total_pulses
value: !lambda 'return counter_pulses;'ota:
- platform: esphome
password: !secret gas_smr_ota_passwordwifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
min_auth_mode: WPA2ap:
ssid: "Gas-Smartmeterreader"
password: !secret gas_smr_ap_passwordcaptive_portal:
globals:
- id: total_pulses
type: int
restore_value: true
initial_value: '0' # Hier den aktuellen Zählerstand in Impulsen eintragenbinary_sensor:
- platform: gpio
id: internal_pulse_counter
pin:
number: GPIO5 # D1 am Wemos D1 Mini
mode: INPUT_PULLUP
name: "Live-Impuls"
filters:
- delayed_on: 100ms
on_press:
then:
- lambda: id(total_pulses) += 1;
- output.turn_off: led
on_release:
then:
- output.turn_on: ledsensor:
- platform: template
name: "Gasverbrauch"
device_class: gas
unit_of_measurement: "m³"
state_class: "total_increasing"
icon: "mdi:fire"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * 0.01;
update_interval: 60s- platform: wifi_signal
name: "WiFi Signal"
id: wifi_dbm
update_interval: 60s- platform: uptime
name: "Uptime"
id: device_uptimeoutput:
- platform: gpio
pin: GPIO2 # D4 / interne LED
id: led
inverted: true
Der Sensor wird in Home Assistant als Gasverbrauch mit der Einheit m³ angelegt.
Die ESPHome-Konfiguration verwendet:
device_class: gas state_class: total_increasing unit_of_measurement: "m³"
Damit kann der Sensor im Energie-Dashboard von Home Assistant verwendet werden, sofern Home Assistant den Sensor korrekt erkennt.
Ich habe das Modell mit dem Standard-Druckprofil gedruckt.
Verwendet wurde ein normales Standardprofil mit 0,4-mm-Düse. Spezielle Einstellungen waren bei mir nicht erforderlich.
Als Material eignet sich PLA oder PETG. Für wärmere Räume oder dauerhafte Nutzung ist PETG empfehlenswert.
Dieses Modell wurde für meinen Honeywell BK-G4 MT erstellt und getestet.
Andere Gaszähler können abweichende Gehäuseformen oder Sensorpositionen haben. In diesem Fall passt der Gas Smart Meter Reader möglicherweise nicht oder der Reedkontakt muss anders positioniert werden.
Die ESPHome-Konfiguration muss an das eigene WLAN, die eigenen Secrets und den aktuellen Zählerstand angepasst werden.
Der Startwert initial_value sollte nicht einfach übernommen werden, sondern muss passend zum eigenen Gaszähler berechnet werden.
License:
Standard Digital File License