In Ergänzung zu unserem Artikel zum smarten Gaszähler mit Fensterkontakt oder mit Tasmota beschreiben wir in diesem Artikel eine zusätzliche Alternative mit Wemos D1mini und ESPHome. Das charmante an dieser Lösung ist, dass wir über Thingiverse ein 3D-Druck-Gehäuse für den Gaszähler haben drucken lassen und mit einer M5-Senkkopfschraube ohne Klebeband oder ähnlichen Hilfsmitteln am Gaszähler befestigen können.

Update 09/2023 Gegen eine Spende können wir anbieten, eine für Elster-Gaszähler vorgesehene 3D-Druck-Halterung (siehe https://www.thingiverse.com/thing:5175961) für den Reed-Kontakt/Wemos zu drucken.

ESPHome WemosD1 mit Halterung an Gaszähler

ESPHome WemosD1 mit Halterung an Gaszähler

Bei Interesse gerne an 3d@smarthomejetzt.de schreiben.

Eine Einführung in ESPHome und wie man einen Wemos D1mini mit ESPHome flasht haben wir in diesem Artikel beschrieben.

Wir müssen lediglich einen Reedkontakt zwischen GND und einem GPIO-Pin anschließen. Über die YAML-Konfiguration regeln wir die Logik und den Versand des MQTT-Mitteilung an ioBroker, wenn der Reed-Kontakt bei 0-Druchlauf des Gaszählers schließt.

Bei den 3D-Druck-Gehäusen haben wir zwei Möglichkeiten, entweder ganzes Gehäuse (in den der Wemos D1mini nicht ganz genau passt) oder nur für den Reed-Kontakt. Befestig werden kann die Halterung mit einer M5 Senkkopf-Schraube

3D-Druck Halterung für WemosD1 an Gaszähler

3D-Druck Halterung für WemosD1 an Gaszähler

ESPHome WemosD1 mit Halterung an Gaszähler

ESPHome WemosD1 mit Halterung an Gaszähler

Link ganzes Gehäuse: https://www.thingiverse.com/thing:5175961

Nur Reed-Kontakt: https://www.thingiverse.com/thing:1949041

Eine Plattform für Druckdienstleister: https://craftcloud3d.com/de

Ein Beispiel-YAML-Code für den Versand des reed-Triggers:

esphome:
  name: d1gaszaehler
  friendly_name: D1Gaszähler

esp8266:
  board: esp01_1m

# Enable logging
logger:

ota:
  password: "password"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# MQTT 
mqtt:
  broker: ##IP-Adresse MQTT Server ##
  username: !secret mqtt_user
  password: !secret mqtt_password
  client_id: d1gaszaehler
  topic_prefix: esphome

# Reed Kontakt an GPIO5
binary_sensor:
  - platform: gpio
    name: "Gaszaehler"
    id: Gaszaehler
    pin:
      number: 5
      inverted: true
      mode: INPUT_PULLUP
    filters:
      # debounce, delay um Doppelzählungen zu vermeiden
      - delayed_off: 1s
    on_press:
      then:
        - mqtt.publish:
            topic: esphome/Gaszaehler/Stand
            payload: id(Gaszaehler).state

Sobald sich der State des reed-Kontaks ändert, wir an das definierte Topic der Zustand gesendet. In ioBroker sieht das Objekt wie folgt aus:

ESPHome Gaszähler MQTT Objekte in ioBroker

ESPHome Gaszähler MQTT Objekte in ioBroker

Dies wäre die dritte Alternative den Gaszähler smart zu machen.

Variante 1 mit einem zigbee-Sensor benötigt eine bestehende zigbee-Installation, Variante 2 setzt Tasmota-Kenntnisse und einen MQTT-Server voraus, Variante 3 benötigt ebenfalls einen MQTT-Server und ESPHome-Kenntnisse.