ESP8266EX WLAN-Controller mit Tasmota Software
als WLAN-Lesekopf am Gaszähler

Da ich ein sehr vergesslicher Mensch bin, möchte ich hier für mich und alle die es interessiert, meine kurzen Erfahrungen mit dem netten kleinen Tasmota- WiFi - Reedkontakt - Lesekopf mit ESP8266EX WLAN-Controller schildern. Hinweise zur Eirichtung findet man im Netz


Ich habe einen BK-G4 Gaszähler - und wenn man den Reedkontakt ganz nach außen biegt und fest ans Gehäuse der Gasuhr drückt, dann klappt es mit diesem Lesekopf auch.


1. Niemals die Firmware/Tasmota aktualisieren - da diese speziell für den Lesekopf angepasst ist.


Firmwareupdates von Smartnetz gibt es hier!

2. Wenn man die IP des Lesekopfes im Router oder mit meinem Lieblig Wireless Network Watcher herausgefunden hat, dann kann man sich im Browser mit z.B.: http://192.168.50.140/cm?cmnd=status 10 die Zählerstände anzeigen lassen.

so: {"StatusSNS":{"Time":"2025-05-01T11:02:40","COUNTER":{"C1":114145}}} oder als JSON-Auswertung des Browsers

Es werden nur die Impulse des vorbeilaufenden Magneten gezählt, also muss auf m³ umgerechnet und der Anfangszählerstand addiert werden: $Stand/100+6370.99 !


Um diese sich nun per Mail senden zu lassen, benötigt man eben einen dauerhaft laufenden Rechner - z.B. einen Rapberry Pi. Auf meinen Pi läuft Linux und dafür habe ich mir dann ein Script geschrieben / mit "KAI" schreiben lassen:

#!/bin/bash

Ausgabe2=$(curl -s http://192.168.xxx.xxx/cm?cmnd=status%2010)
Stand=$(echo "$Ausgabe2" | grep -o '"C1":[-0-9]*' | sed 's/.*://')
Gas=$(awk "BEGIN {printf \"%.2f\", $Stand/100+6370.99 }" )

Ausgabe=$(curl -s http://192.168.xxx.xxx/cm?cmnd=status%2010)
Bezug=$(echo "$Ausgabe" | grep -o '"Total_in":[-0-9.e]*' | sed 's/.*://')
Einspeisung=$(echo "$Ausgabe" | grep -o '"Total_out":[-0-9.e]*' | sed 's/.*://')
Datum=$(echo $Ausgabe | sed -n 's/.*"Time":"\([^"]*\)".*/\1/p')

sendemail -f adresse1@gmx.de \
-t mich@meinhost.de \
-u "Verbrauchswerte" \
-m "Bezug: "$Bezug" kWh         Einspeisung: "$Einspeisung" kWh         Gas: "$Gas" m³     - "$Datum \
-s mail.gmx.net:587 \
-xu adresse1@gmx.de \
-xp Passwort_von_adresse1 \
-o tls=yes


Natürlich muss da die korrekte IP stehen und die Datei, in der man das abspeichert muss auf ausführbar gesetzt werden, was im MC ja ganz einfach ist.
Das Ganze ist für GMX so getestet und funktioniert - natürlich muss man bei GMX auch POP3/SMTP für Mailprogramme zugelassen haben und die korrekten Adressen und Passworte eintragen.
Hinweise:
-f Absenderadresse
-t Empfängeradresse
-xu Nutzername
Die grünen Teile sind korrekt anzupassen!


damit das dann komplett funktioniert, trägt man das script noch mit

crontab -e

in die crontab des Linux-Systems ein.

Bei mir:

0 6,18 * * * /home/pi/mail/mail >/dev/null

damit 6:00 und 18:00 an jedem Tag das Script mail, dass sich im Verzeichnis /home/pi/mail/ befindet, ausgeführt wird und etwaige Meldungen gleich gelöscht werden.


Man könnte nun noch das Datums- und Zeitformat verbessern - vielleicht später einmal :-)