HASSIO - Gaszähler auslesen ESP8266
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
- ESP8266 ( WeMos D1 Mini Pro )
- Reed Sensor ( KY-025 )
- Einzeladern
- 3D Drucker
- Gaszähler G4 RF1
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
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**