Mit der Hilfe eines Aqara Tür und Fenster Sensors ( Reed Kontakt Sensor ) kann am Gaszähler ( G4 RF1) über den Internen Magneten der aktuelle Verbrauch abgelesen werden ( 1 Imp = 0.1m³ ). Eingebunden ist das ganze wie bereits beim digitalen Stromzähler in Home Assistant ( HASSIO ). Dort kann man sich die Verbrauchswerte für die unterschiedliche Zeiten (Tag, Woche, Monat, Jahr) anzeigen lassen.

Benötigte Hardware

Benötigte Software

3D Gehäuse Tinkercad

Aufbau

Gaszähler Typ G4 RF1

Gaszähler G4 RF1

Bei meinem Gaszähler handelt es sich um das Model G4 RF1 von Actaris. 

Das Model G4 RF1 von Pipersberg ist baugleich soweit ich weiß. Daher sollte das Case für den Sensor auch hier passen.

Der Magnet befindet sich hinter der ersten roten Zahl nach dem Komma ( 1imp = 0.1m³ ).

Hassio configuration.yaml

# GASTZÄHLER      
counter:
    gaszaehler:
      initial: 0
      step: 1
      icon: mdi:meter-gas-outline 
# CAN ALSO BE ADDED TO Automation.yaml
automation:
# COUNTER INCREMENT 
- id: '1664298491581'
  alias: increaseCounter
  description: ''
  trigger:
  - type: turned_off
    platform: device
    device_id: c0d6f8ef97c5bffd76e0be955598bcfc
    entity_id: binary_sensor.openclose_8
    domain: binary_sensor
    for:
      hours: 0
      minutes: 0
      seconds: 0
  condition: []
  action:
  - service: counter.increment
    data: {}
    target:
      entity_id: counter.gaszaehler
  mode: single
# COUNTER RESET AT MIDNIGHT
- id: '1664298606458'
  alias: counterReset
  description: ''
  trigger:
  - platform: time
    at: 00:00:00
  condition: []
  action:
  - service: counter.reset
    data: {}
    target:
      entity_id: counter.gaszaehler
  mode: single 
# VIRTUAL SENSOR 
template:
  - sensor:
      - name: "Gaszaehler_m3"
        unit_of_measurement: "m³"
        device_class: energy
        state_class: total_increasing
        state: >
          {% set gas = states('counter.gaszaehler') | int %}
          {{ ((gas) * 0.1) | round(1, default=0) }}
  - sensor:
      - name: "Gaszaehler_kWh"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >
          {% set kwh = states('sensor.gaszaehler_m3') | float %}
          {{ ((kwh) * 10.5) | round(1, default=0) }}

# 10.5 NEEDS TO BE CHECKED AT YOUR GAS INVOICE ( Z-ZAHL )

Home Assistant grafische Darstellung

Mit der Hilfe eines ESP8266 und eines Magnetschalters ( Reed Sensor ) kann am Gaszähler ( G4 RF1) über den Internen Magneten der aktuelle Verbrauch abgelesen werden ( 1 Imp = 0.1m³ ). Eingebunden ist das ganze wie bereits beim digitalen Stromzähler in Home Assistant ( HASSIO ). Dort kann man sich die Verbrauchswerte für die unterschiedliche Zeiten (Tag, Woche, Monat, Jahr) anzeigen lassen.

Mein erstes Problem bestand darin das ich mittels eines normalen WeMos D1 keinen Empfang im Heizraum hatte. Daraufhin habe ich den WeMos D1 Mini Pro mittels externer Antenne ausprobiert, mit Erfolg. Die Signalstärke ist ausreichend um die Daten über Wlan zu senden.

NEUE LÖSUNG MIT AQARA TÜR FENSTERSENSOR

Benötigte Hardware

Benötigte Software

3D Gehäuse Tinkercad

Aufbau

In meinem Fall habe ich mir bei Thingiverse ein passendes Case für den WeMos D1 Mini Pro geholt und mittels Tinkercad auf mein entworfenes Case gesetzt. Somit kann jede beliebige ESP8266 Platine mit der Magnetsensor Grundplatte verbunden werden.

KY-025 Magnetschalter Anschlussplan

Beim Magnetschalter muss man sehr auf das Glasröhrchen achten. Ich habe das Glasröhrchen mit dem Reed Kontakt leicht nach unten gebogen damit es bündig mit dem Auslass am gedruckten Gehäuse abschließt.

  • WeMos 5V —-> + KY-025
  • WeMos GND –> – KY-025
  • WeMos D5 —-> A0 KY-025

Gaszähler Typ G4 RF1

G4 RF1 von Actaris ESP8266

Bei meinem Gaszähler handelt es sich um das Model G4 RF1 von Actaris.

Das Model G4 RF1 von Pipersberg ist baugleich soweit ich weiß. Daher sollte das Case für den Sensor auch hier passen.

ESP Home Sensor config.yaml

Hier hatte ich zu Beginn Probleme beim Kompilieren der Software. Ich hatte unter board den d1_mini_pro stehen welcher normal über 16MB Speicher verfügt. Bei meiner Bestellung habe ich übersehen das mein WeMos D1 Mini Pro mit nur 4 MB bestückt ist. Daher musste ich die Software für einen normalen d1_mini kompilieren.

esphome:
  name: gas

# d1 mini pro but only with 4MB -> d1_mini
esp8266:
  board: d1_mini 

sensor:
  - platform: pulse_counter
    pin: 
      number: D5
      mode: INPUT_PULLUP
    name: "Gasverbrauch"
    state_class: total_increasing
    device_class: gas
    update_interval : 60s
    filters:
      - lambda: |-
          static float total_value = 0.0;
          total_value += x * 0.1;
          return total_value;
    unit_of_measurement: "m³"
    accuracy_decimals: 2
    icon: 'mdi:fire' 
    id: gasverbrauch

time:
  - platform: sntp
    id: my_time    

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "xxxxxxxxxxxxxxxxxxxxxxxxxx"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Gas Fallback Hotspot"
    password: "xxxxxxxxxxxx"

captive_portal:

Hassio /config/configuration.yaml

......

utility_meter:
  gasverbrauch_daily:
    source: sensor.gasverbrauch
    cycle: daily
  gasverbrauch_weekly:  
    source: sensor.gasverbrauch
    cycle: weekly
  gasverbrauch_monthly:
    source: sensor.gasverbrauch
    cycle: monthly
  gasverbrauch_yearly:
    source: sensor.gasverbrauch
    cycle: yearly 

......

Home Assistant grafische Darstellung