Zuletzt angesehen: • gaszaehler
Inhaltsverzeichnis
MQTT Gaszähler / Verbrauchsmessung eines BK-G4 Gaszählers
Beschreibung
Dieser MQTT-Gaszähler (Ebay Artikel: 126305909523) dient zur Erfassung der umlaufenden, magnetischen Kupplung eines BK-G4 Balgengaszählers und deren Zählung/Übermittlung an eine Hausautomation per MQTT Protokoll.
Demzufolge können damit alle Systeme, welche dieses Protokoll unterstützen bedient werden wie z.B. FHEM, ioBroker, OpenHAB, Home Assistant, etc.
Bausatz
Wer einen Bausatz (Ebay Artikel: 126307799487) gekauft hat, bitte erstmal hier weiterlesen und später an diese Stelle zurück kehren.
Montage
Die Montage in sehr einfach. Die Messeinheit (Bild 1) wird einfach per mitgelieferter M6 Schraube an der rechten Seite des Gaszählers befestigt. Dort sollte bereits eine Vorrichtung mit Loch vorhanden sein.
Dabei gleitet die Erhöhung der Messeinheit in die vorhandene Mulde unter dem Zählwerk. Der Sensor (Reed-Kontakt) hat durch den vorgegebenen Gehäuse-Sitz eine optimale Position zur Erfassung der Umläufe.
Bei Zählwerken mit 0,001 m³ Angaben wird bei der 100er Nullung (Null-Durchlauf), also beim Erreichen von xxxxx,xx0 ein Umlauf gezählt und in TASMOTA die Angabe neben Zähler1 um 1 erhöht.
Angabe auf dem Gaszähler: 1 imp = 0,01 m³
Beim MQTT-Gaszähler V2, kann der Schlitten horizontal verändert werden. Somit können Gaszähler mit 1 imp = 0,1 m³ ebenfalls erfasst werden, wenn der Magnet an einer anderen Walze verbaut ist.
In Bild 2 ist die Messeinheit fertig montiert zu sehen. Ein Stromanschluß sowie ein USB-Netzteil (z.B. Smartphone Ladegerät) in der Nähe sind erforderlich!
Installation / Konfiguration
Bitte TASMOTA nicht mit einer Standard Firmware updaten!
Die installierte Firmware enthält das Scripting Modul, welches in Standard Versionen nicht enthalten ist. Siehe am Ende dieser Wiki Seite, wie man ein Update oder eine Neuinstallation durchführt.
Nachfolgende Konfiguration ist bereits auf der gekauften Messeinheit enthalten.
Lediglich die Einbindung ins WLAN die MQTT Konfiguration, die Zählerstand-Anpassung (Konsolenkommandos) und ggf. die Programmierung der Hausautomation muss durchgeführt werden.
Bausatz Käufer müssen die komplette Konfiguration durcharbeiten.
Auf der Messeinheit (D1 Wemos Mini) befindet sich die Software TASMOTA, welche folgendermaßen zu konfigurieren ist:
WLAN
Die Einbindung in das lokale Netzwerk wird folgendermaßen durchgeführt.
Nach dem Einstecken der Stromversorgung meldet sich das Gerät mit der WLAN-SSID Gaszahler-XXXX (beim Bausatz tasmota-YYYYYY-XXXX), wobei das XXXX für eine Zahlenfolge und YYYYYY für alphanumerisch steht.
Nach dem Verbinden wird man automatisch auf eine Webseite mit der IP: 192.168.4.1 weitergeleitet. Dort bitte das lokale WLAN wählen und das Passwort eingeben (am besten mit dem Haken sichtbar machen beim Eingeben).
Kurz nach dem Speichern meldet sich das Webinterface mit der über DHCP bezogenen IP-Adresse.
Ist dies nicht der Fall, bitte im lokalen Router nach dem Gerät suchen und die IP-Adresse ausfindig machen.
Der MQTT-Gaszähler ist nun über diese Adresse mittels Browser errereichbar.
Geräteeinstellungen
In den Einstellungen ist als Gerätetyp Generic auszuwählen, danach [Speichern] und anschließend an selber Stelle nochmal D5 GPIO14 mit Auswahl Counter 1 und wieder [Speichern].
Ausgelieferte MQTT-Gaszähler mit Rechnungsnummer vor 2023-0094 (27.01.2023) wurden mit Anschluß an D7 gefertigt. Käufer mit Bausatz müssen den GPIO einstellen, welcher verlötet wurde!
MQTT Einstellungen
Bei Host ist die IP-Adresse der Hausautomation (FHEM, ioBroker, HomeAssistant,etc.) einzutragen.
Falls erforderlich auch Benutzername/Passwort angeben. Unter Topic sollte man den Eintrag in Gaszaehler ändern.
Weitere Einstellungen
Konsolen Kommandos und Zählerstand Anpassung
Damit nicht zu viele Impulse gezählt werden schafft die Definition eines Timeouts Abhilfe. Mittels CounterDebounce 500 wird der Wert auf 500 Millisekunden gesetzt.
Timezone 99 Zeitzone Europa/Berlin.
TelePeriod 60 sogt dafür, dass nur einmal alle 60 Sekunden Werte an die Hausautomation gesendet werden.
Sensor53 c1 0 bedeutet, dass der Zähler auf NULL gesetzt wird. Diesen Wert könnte man auch dafür benutzen um den aktuellen Zählerstand abzubilden. Im Konsolen Script gibt es aber auch eine Variable namens gasinit um dies zu realisieren.
SaveData 60 bedeutet, dass die Werte alle 60 Sekunden gespeichert werden. Bei SaveData 0 würden die Einstellungen erst beim Neustart gespeichert werden.
Timezone 99 TelePeriod 60 CounterDebounce 500 Sensor53 c1 0 SaveData 60
Falls sich mit o.g. Debounce Einstellungen das Prellen (zuviel zählen) nicht verbessert, dann bitte folgende Einstellungen versuchen oder damit rumspielen, bis es besser wird.
Low/High sind lediglich Feinjustierungen. Diese kann man zunächst weglassen und sich dem Hauptwert erstmal annähern. Ggf. weiter erhöhen auf 2000, 2500, 3000, etc.
CounterDebounce 1000 CounterDebounceLow 500 CounterDebounceHigh 500
Konsolen Script
In folgendem Script (Werkzeuge/Konsolen > Script konfigurieren) sind zwei Variablen zu ersetzen. Zum Einen der Gaspreis und zum Anderen der aktuelle Zählerstand auf dem Gaszähler (falls Sensor53 c1 xxx nicht dazu verwendet wurde).
Anhand dessen werden die Kosten berechnet und der aktuelle Zählerstand angezeigt.
- gp (Gaspreis in Cent)
- gasinit (Zählerstand bei Montage)
Möchte man mehr Werte als im Script vorgegeben an seine Hausautomation übermitteln, kann man die Zeilen beginnend mit ⇒Publish ergänzen.
z.B. würde ⇒Publish tele/%topic%/main/gasprice %3gp% den Gaspreis mit übermitteln. Für json Abfragen, müsste auch die Zeile mit den geschweiften Klammern {} ergänzt werden.
>D p:m1=0 p:g1=0 p:g2=0 p:month1=0 p:month2=0 p:month3=0 p:gesamt=0 p:c1=0 p:gastotal=0 s1=0 h1=0 hkw1=0 gkw1=0 gkw2=0 mkw1=0 mkw2=0 mkw3=0 mkwgs=0 skw1=0 hgp=0 g1gp=0 g2gp=0 m1gp=0 m2gp=0 m3gp=0 gsgp=0 hr=0 dy=0 zu=0.9575 br=11.519 gp=10.38 gasinit=0.0 >B =>sensor53 l255 >S h1=s1-m1 hkw1=h1*br*zu hgp=(hkw1*gp)/100 gkw1=g1*br*zu gkw2=g2*br*zu mkw1=month1*br*zu mkw2=month2*br*zu mkw3=month3*br*zu mkwgs=gesamt*br*zu g1gp=(gkw1*gp)/100 g2gp=(gkw2*gp)/100 m1gp=(mkw1*gp)/100 m2gp=(mkw2*gp)/100 m3gp=(mkw3*gp)/100 gsgp=(mkwgs*gp)/100 skw1=s1*br*zu hr=hours dy=day if chg[hr]>0 and hr==0 then m1=s1 g2=g1 g1=h1 month1=month1+h1 gesamt=gesamt+h1 if chg[dy]<2 and dy==1 then month3=month2 month2=month1 month1=0 endif svars endif if upsecs%tper==0{ =>Publish tasmota/%topic%/main/td_m3 %2h1% =>Publish tele/%topic%/main/td_kwh %2hkw1% =>Publish tele/%topic%/main/yd_m3 %2g1% =>Publish tele/%topic%/main/yd_kwh %2gkw1% =>Publish tele/%topic%/main/dbyd_m3 %2g2% =>Publish tele/%topic%/main/dbyd_kwh %2gkw2% =>Publish tele/%topic%/main/value %2s1% =>Publish tele/%topic%/main/gastotal %2gastotal% =>Publish tele/%topic%/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%", "db_yesterday_m3": "%2g2%", "db_yesterday_kwh": "%2gkw2%"} } >T s1=Counter#C1/100 c1=Counter#C1 gastotal=(c1/100)+gasinit >W GAS gezählt: {m} %3s1% m³ Zählerstand: {m} %gastotal% m³ ============ Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Gaspreis: {m} %gp% Cent/kWh ============ Verbrauch: --------------------- Heute: {m} %2h1% m³ | %2hkw1% kWh Kosten: {m} %2hgp% € --------------------- Gestern: {m} %2g1% m³ | %2gkw1% kWh Kosten: {m} %2g1gp% € --------------------- Vorgestern: {m} %2g2% m³ | %2gkw2% kWh Kosten: {m} %2g2gp% € --------------------- Aktueller Monat: {m} %2month1% m³ | %2m1gp% € Letzter Monat: {m} %2month2% m³ | %2m2gp% € Vorletzter Monat: {m} %2month3% m³ | %2m3gp% € Gesamt: {m} %2gesamt% m³ | %2gsgp% € ;>M 1 ;+1,13,c,1,-25,GAS ;1,1-0:1.8.0*255(@100,gezählt,m³,Stand,3) #
Anschließend sollte es auf der Startseite in etwa so aussehen:
Ab Tasmota 13.4.0.4 wird im Webinterface der Button „Werkzeuge“ anstelle von „Konsolen“ verwendet.
Werte einstellen/korrigieren
Will man die Werte in der Weboberfläche neu justieren, kann man in der Konsole folgende Kommandos dazu verwenden.
Dabei lautet die Syntax folgendermaßen:
script ><var>=<value>
Beispiel: Der Verbrauch von gestern soll auf 5.65 m³ korrigiert werden. Dafür wird die Variable g1 benötigt.
Somit wird in der Konsole folgendes Kommando verwendet:
script >g1=5.65
Variablen Übersicht:
g1 = Verbauch gestern in m³ g2 = Verbauch vorgestern in m³ month1 = Verbauch aktueller Monat in m³ month2 = Verbauch letzter Monat in m³ month3 = Verbauch vorletzter Monat in m³ gesamt = gesamter Verbrauch in m³
Das der Verbrauch heute wird anhand der Zählungen berechnet und kann dementsprechend nicht korrigiert werden. Man muss also einen Tag warten und dann den Verbrauch für gestern korrigieren.
Gezählter Wert (Zähler1) auf 0 (Null) setzen
Um den bisher gezählten Wert zu resetten, also auf NULL zu setzen wird folgendes Kommando verwendet:
sensor53 c1 0
Konfiguration in FHEM
Broker anlegen
In FHEM ist das einmalige Anlegen eines Brokers erforderlich.
define myBroker MQTT2_SERVER 1883 global
Gaszähler einbinden
Ist der Broker eingerichtet, sollte sich der Gaszähler in FHEM nach kurzer Zeit folgendermaßen, aber mit abweichender Adresse (4F9216) melden (autocreate muss aktiviert sein):
Zusätzlich sind noch folgende Attribute von Vorteil.
attr MQTT2_DVES_4F9216 alias Gaszähler attr MQTT2_DVES_4F9216 group Gas attr MQTT2_DVES_4F9216 icon gasmeter2 attr MQTT2_DVES_4F9216 stateFormat {ReadingsVal($name,"LWT","") eq "Offline" ? "absent" : ReadingsVal($name,"gastotal","") . " m³"}
Optionale Konfiguration
Ich habe für mich noch folgende Konfigurationen vorgenommen:
Zählerstand der letzten Abrechnung (vom 02.12.2022):
defmod GasZaehlerStandLetzteAbrechnung dummy attr GasZaehlerStandLetzteAbrechnung alias Gaszähler_20221202 attr GasZaehlerStandLetzteAbrechnung group Gas attr GasZaehlerStandLetzteAbrechnung room 99_Zähler attr GasZaehlerStandLetzteAbrechnung sortby 1
Verbrauch bei letzter Abrechnung:
defmod GasVerbrauchLetzteAbrechung dummy attr GasVerbrauchLetzteAbrechung alias GasVerbrauch_20221202 attr GasVerbrauchLetzteAbrechung group Gas attr GasVerbrauchLetzteAbrechung room 99_Zähler attr GasVerbrauchLetzteAbrechung sortby 1
Diesjähriger Verbauch:
defmod GasVerbrauch dummy attr GasVerbrauch group Gas attr GasVerbrauch room 99_Zähler
Verbrauch pro Stunden:
defmod GasHourCounter dummy attr GasHourCounter group Gas attr GasHourCounter room 99_Zähler attr GasHourCounter userReadings lastgastotal { ReadingsNum("MQTT2_DVES_502BA8","gastotal",0) }
Verbrauch heute:
defmod GasVerbrauch_Heute dummy attr GasVerbrauch_Heute group Gas attr GasVerbrauch_Heute room 99_Zähler
Verbrauch gestern:
defmod GasVerbrauch_Gestern dummy attr GasVerbrauch_Gestern group Gas attr GasVerbrauch_Gestern room 99_Zähler
Verbrauch Vorgestern:
defmod GasVerbrauch_Vorgestern dummy attr GasVerbrauch_Vorgestern group Gas attr GasVerbrauch_Vorgestern room 99_Zähler
DOIF für Reset GasHourCounter:
defmod ResetGasHourCounter DOIF ([:00]) (set GasHourCounter 0) attr ResetGasHourCounter do always
DOIF für das Update:
defmod GasVerbrauchNoti notify MQTT2_DVES_4F9216:gastotal.* {\ my $Zaehlerstand=round(ReadingsNum("MQTT2_DVES_4F9216","gastotal","0"),0);;\ my $ZaehlerStandLetzteAbrechnung=round(ReadingsNum("GasZaehlerStandLetzteAbrechnung","state","0"),0);;\ my $Diff=$Zaehlerstand-$ZaehlerStandLetzteAbrechnung;;\ fhem("set GasVerbrauch $Diff m³");;\ my $gas_db_yesterday=ReadingsNum("MQTT2_DVES_4F9216","db_yesterday_m3","0");;\ my $gas_yesterday=ReadingsNum("MQTT2_DVES_4F9216","yesterday_m3","0");;\ my $gas_today=ReadingsNum("MQTT2_DVES_4F9216","today_m3","0");;\ fhem("set GasVerbrauch_Vorgestern $gas_db_yesterday m³");;\ fhem("set GasVerbrauch_Gestern $gas_yesterday m³");;\ fhem("set GasVerbrauch_Heute $gas_today m³");;\ if (ReadingsNum("MQTT2_DVES_4F9216","gastotal","0") > ReadingsNum("GasHourCounter","lastgastotal","0")) {\ my $hourcounter=ReadingsNum("GasHourCounter","state","0")+1;;\ fhem("set GasHourCounter $hourcounter");;\ }\ }
Plot: SRV_Gaszaehler.gplot (dblog)
# Created by FHEM/98_SVG.pm, 2023-01-06 15:08:54 set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title '<L1>' set ytics set y2tics set grid ytics set ylabel "Gasverbrauch m³/h" set y2label "Verbrauch Anno m³/a" set yrange [0:0.15] set y2range [0:400] #DBLOG GasHourCounter:state:::$val=$val/100 #DBLOG GasVerbrauch:state:: plot "<IN>" using 1:2 axes x1y1 title 'aktueller Verbrauch m³' ls l0fill lw 1 with fsteps,\ "<IN>" using 1:2 axes x1y2 title 'Gesamt Verbrauch m³/a' ls l2dot lw 1 with steps
Konfiguration im ioBroker
Gaszähler einbinden
Dazu bitte das Video von Marco Mussek ab Minute 2:25 befolgen.
Link zur GitHub Seite: https://github.com/msussek/arduino/tree/master/pulsecounter
So sollte es ungefähr aussehen:
Konfiguration im Home Assistant
MQTT-Broker Installation
Um den Gaszähler im Home Assistant zu integrieren, muss zunächst ein MQTT Broker (Mosquitto) installiert werden.
- Navigiere im Home Assistant zum Add-on Store (Einstellungen > Add-ons > ADD-ON Store)
- Suche nach Mosquitto, dann doppelklicken und INSTALLIEREN > STARTEN
- Im eigenen Profil den Erweiterten Modus aktivieren
- Unter Einstellungen > Personen > TAB Benutzer > einen neuen Benutzer namens „mqtt-user“ mit Passwort erstellen.
- Einstellungen > Geräte und Dienste > MQTT > Konfigurieren > Bestätigen, dass die Verbindung mit dem Broker hergestellt werden soll > (Mosquitto Broker MQTT erscheint)
- Auf dem Mosquitto Broker „Konfigurieren“ klicken > MQTT Neu Konfigurieren > Benutzer „homeassistant“ durch zuvor erstellten Benutzer „mqtt-user“ mit Passwort ersetzen.
- Ggf. den MQTT Broker und auch TASMOTA nochmal durchstarten.
Oben genannte Schritte werden auch in diesem Video von „MeinedigitaleWelt“ erklärt.
Gaszähler einbinden
- Nach dem der MQTT-Broker aktiv ist, muss in TASMOTA die IP sowie user/password in die MQTT-Konfiguration eingetragen werden
- Anschließend erscheint im Home Assistent ein neues Gerät namens „Tasmota“ unter „Integrationen“
- Dort auf „Konfigurieren“ klicken und als Bereich „Gaszähler“ eingeben. Es erscheint 1 Gerät und 10 Entitäten
- Falls dies nicht der Fall ist, bitte in der TASMOTA Konsole „SetOption19 0“ eingeben.
Oben genannte Schritte werden auch in diesem Video von „MeinedigitaleWelt“ erklärt.
Dadurch werden aber nur die grundsätzlichen Discovery Werte übertragen.
Um den Zählerstand und die anderen Werte zu erhalten ist folgende Ergänzung in der Datei configuration.yaml erforderlich. (File Editor vorher zum Editieren über Add-ons installieren)
Die Installation wird auch in diesem Video von „Smartzeug“ erklärt.
mqtt: sensor: - name: "Gaszähler Zählerstand" unique_id: sensor.gaszaehler_zaehlerstand state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.gastotal }}' unit_of_measurement: 'm³' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Zählung seit Nullung" unique_id: sensor.gaszaehler_zaehlung_seit_nullung state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.value }}' unit_of_measurement: 'm³' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Verbrauch Volumen heute" unique_id: sensor.gaszaehler_verbrauch_volumen_heute state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.today_m3 }}' unit_of_measurement: 'm³' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Verbrauch Energie heute" unique_id: sensor.gaszaehler_verbrauch_energie_heute state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.today_kwh }}' unit_of_measurement: 'kWh' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Verbrauch Volumen gestern" unique_id: sensor.gaszaehler_verbrauch_volumen_gestern state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.yesterday_m3 }}' unit_of_measurement: 'm³' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Verbrauch Energie gestern" unique_id: sensor.gaszaehler_verbrauch_energie_gestern state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.yesterday_kwh }}' unit_of_measurement: 'kWh' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Verbrauch Volumen vorgestern" unique_id: sensor.gaszaehler_verbrauch_volumen_vorgestern state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.db_yesterday_m3 }}' unit_of_measurement: 'm³' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing" - name: "Gaszähler Verbrauch Energie vorgestern" unique_id: sensor.gaszaehler_verbrauch_energie_vorgestern state_topic: "tele/Gaszaehler/json" value_template: '{{ value_json.db_yesterday_kwh }}' unit_of_measurement: 'kWh' payload_available: "Online" payload_not_available: "Offline" device_class: gas state_class: "total_increasing"
Anschließend erscheinen die Entities und können in das Dashboard übernommen werden.
Neue TASMOTA Firmware für den MQTT Gaszähler
Download
Neue TASMOTA Releases stehen zum Download unter folgendem Link zur Verfügung (Passwort = 10 stellige, aphanumerische Nummer auf dem Gerätelabel „unterste Zeile“)
Download TASMOTA Releases für Gaszähler
Selbst kompilieren
Möchte man eine andere TASMOTA Firmware selbst kompilieren und flashen, dann ist darauf zu achten, dass Scripting integriert ist, da es im Standard nicht enthalten ist.
Dafür sind vor dem Kompilieren folgende Einstellungen in der Datei my_user_config.h notwendig:
Anleitung Online Compiler (GitHub Account erforderlich): https://www.youtube.com/watch?v=WashxTcHiDc
#undef USE_TIMERS #undef USE_TIMERS_WEB #undef USE_DOMOTICZ #undef USE_ARDUINO_OTA #undef USE_KNX #undef USE_KNX_WEB_MENU #undef USE_ENERGY_SENSOR #undef USE_EMULATION #undef USE_EMULATION_HUE #undef USE_EMULATION_WEMO #undef DEBUG_ESP_CORE #undef DEBUG_ESP_WIFI #undef USE_RULES #undef USE_ARDUINO_OTA #undef USE_I2C #undef USE_SONOFF_RF #undef APP_TIMEZONE #define APP_TIMEZONE 99 #undef MY_LANGUAGE #define MY_LANGUAGE de_DE #ifndef USE_SCRIPT #define USE_SCRIPT #define USE_SCRIPT_WEB_DISPLAY #endif #ifndef USE_SML_M #define USE_SML_M #endif
Es gibt zwar bzgl. Home Assistant einige Parameter, die man setzen kann, aber MQTT benötigt diese Parameter nicht. Zudem ist seit der Version 13.4.x nicht mehr ausreichend Platz im Image um dies mit einzukompilieren.
#define USE_HOME_ASSISTANT #define HOME_ASSISTANT_DISCOVERY_ENABLE 1
Kommando zum Kompilieren:
platformio run -e tasmota
Das .bin file steht dann unter: build_output > firmware > tasmota.bin zum Download bereit.
Online Kompilieren
GitHub Compile your Build: https://tasmota.github.io/docs/Compile-your-build/
GitPod (Easy-Compiler): https://tasmota.github.io/docs/Gitpod/
GitHub Login: https://github.com/login
Abfrage per Browser / JSON
Will man die TASMOTA API verwenden und Werte in Form von JSON Ausgaben erhalten, kann man folgenden URL'S verwenden:
Dabei ist <ip> die IP-Adresse des MQTT-Gaszählers.
URL | Bezeichnung |
---|---|
http://<ip>/cm?cmnd=status%200 | Tasmota Parameter |
http://<ip>/cm?cmnd=status%208 | Zähler/Counter |
Troubleshooting
Es wurde eine Standard TASMOTA Firmware auf den MQTT-Gaszähler geflashed/geupdated
Solange kein blank_1MB.bin Image geflashed wurde, sind die Einstellungen noch vorhanden, aber das Script funktioniert nicht mehr.
In diesem Fall muss zuerst die tasmota-minimal_xxx.bin Firmware und anschließend wieder die scripting_tasmota_xxx.bin Firmware über das Webinterface geflashed werden. (Siehe Download TASMOTA Release).
Der Zählerstand lässt sich nicht einstellen (error)
Falls beim Einstellen des Zählerstands mittels „Sensor53 c1 xxx“ folgender Fehler auftaucht, dann ist vmtl. die Firmware 13.4.0.4 auf dem Gerät. Bitte eine andere Firmware flashen (z.B. 12.3.1 oder 14.0.0)
MQT: stat/Gaszaehler/RESULT = {"Command":"Error"}
MQTT-Gaszähler meldet sich nicht mit seiner WLAN/SSID
Bitte prüfen, ob das 5V Stromkabel richtig tief eingesteckt wurde. Es kann sein, dass das Kabel nicht 100% Kontakt mit dem D1 Wemos Mini im inneren des Gehäuses hat.
Dies passiert aber normalerweise nur, wenn nicht das mitgelieferte Kabel verwendet wird und dieses einen dicken Schaft oder zu kurzen Einschub hat.
Im Zweifelsfall bitte den seitlichen Deckel öffnen, den D1 Wemos Mini VORSICHTIG mit einer kleinen Zange herausziehen und nochmal das Kabel einstecken. Wenn er sich immer noch nicht meldet, scheint die TASMOTA Software nicht geflashed oder korrupt zu sein.
Es kann auch sein, dass bei der WLAN Verbindung ein falsches Passwort eingegeben wurde und das Gerät jetzt permanent versucht sich mit falschem Passwort zu verbinden.
In diesem Fall muss das Gerät neu geflashed werden. Zuerst mit dem blank_1MB.bin und anschließend mit der scripting_tasmota_xxx.bin. (Siehe Download TASMOTA Release).
Danach muss eine komplette Neukonfiguration gemäß dieser Wiki Anleitung durchgeführt werden.
MQTT-Gaszähler wird am USB-Port nicht erkannt
In diesem Fall handelt es sich bei dem verwendeten Kabel evtl. nur um ein reines Stromkabel und nicht um ein Datenkabel. Bitte ein anderes Micro-USB-Kabel verwenden.
Meistens ist beim Einstecken des MQTT-Gaszählers in den Computer-USB Port bei Verwendung eines Datenkabels ein Windows-Sound zu hören (Windows 10 oder höher).
MQTT-Gaszähler verliert nach einigen Stunden/Tagen alle Einstellungen
Bitte eine erneute Konfiguration wie oben beschrieben vornehmen und über das Webinterface einen „Neustart“ ausführen.
Beim Neustart werden alle Daten nochmal im D1-Mini ESP resetfest gespeichert. Zusätzlich bitte den korrekten Sitz des USB-Kabels nochmal kontrollieren und ggf. auch das USB-Netzteil tauschen.
MQTT-Gaszähler zählt nicht
Falls der Zähler nicht funktioniert, dann bitte vom Gaszähler abschrauben und mit einem kleinen Magneten (z.B. Kühlschrankmagnet) quer über den Sensor (Reedkontakt) streichen.
Wenn der Zähler dann hochzählt, aber nicht im eingebauten Zustand, dann bestehen folgende Möglichkeiten:
- Der Gaszähler hat keinen Magneten
In diesem Fall funktioniert diese Technik per Reedkontakt nicht.
Laut Erfahrung trifft dies z.B. für das Gaszähler Modell BK-G4M von Honeywell zu.
- Der Magnet am Zählwerk ist nicht stark genug, oder zuweit vom Reedkontakt entfernt
In diesem Fall hilft oftmals folgende Veränderung:
Den Reedkontakt vorsichtig aus dem Sitz heben und ggf. mit etwas Papier, Klebeband oder Knetmasse unterfüttern.
Dies sogt dafür, dass der Reedkontakt etwas weiter in die Mulde des Gaszählers hinein ragt und somit den vorbeilaufenden Magneten doch noch erfassen kann.
Laut Erfahrung trifft dies manchmal beim Gaszähler Modell BK-G4 zu.
MQTT-Gaszähler funktioniert oder zählt nicht mehr
Nur Rechn.Nr. kleiner 2023-0094 bzw. Kaufdatum bis 27.01.2023
Wenn der Gaszähler schonmal gezählt hat und jetzt nicht mehr zählt oder auch das Webinterface nicht mehr ansprechbar ist, dann bitte folgendes kontrollieren.
Bei einigen Lieferungen (Rechn.Nr. kleiner 2023-0094 / 27.01.2023) hatten sich ein paar falsche Widerstände eingeschlichen. Evtl. ist 10Ohm anstelle von 10kOhm verbaut.
Erkennen kann man dies am Farbcode des Widerstandes. ggf. ist der Widerstand auch bereits schwarz, verbrannt und der Farbcode ist nicht mehr zu erkennen.
4 Ringe
10Ohm = Farbcode: braun - schwarz - schwarz - gold
10kOhm = Farbcode: braun - schwarz - orange - gold
Falls ein 10Ohm Widerstand eingebaut ist, wird dieser bei geschlossenem Reedkontakt sehr heiß, was zum Durchbrennen und ggf auch zur Zerstörung des D1 Wemos Mini führen kann.
Bitte diesen Widerstand wenn möglich selbst gegen einen 4,7k oder 10k Widerstand austauschen (ich schicke gerne einen kostenfrei zu).
Ist der Kunde nicht in der Lage dies selbst zutun, bitte mit einen Vermerk „Falscher Widerstand!“ zurück senden und ich schicke umgehend Ersatz.