NEWS
Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt
-
Ich bekomme vom Zähler bisher leider keine Impulse gemessen. Mein Reed-Sensor ist dieser hier https://www.ebay.de/itm/114809994326, der auch von @zillion42 erfolgreich verwendet wird. Wenn ich mit einem Magneten manuell einen Kontakt herstelle, werden Impulse gezählt. Von daher liegt es schon mal nicht an der Verkabelung mit dem NodeMCU.
Könnte es dann evt. am Zähler liegen? Es ist ein Actaris G4 RF1 Baujahr 2005. 1 Impuls entspricht 0,1m3. Auf der 3. Nachkommastelle befindet sich auf der 6 ein Metallplättchen (vermutlich). Ob auf der 2. Nachkommastelle auch was ist, kann ich nicht sagen - da habe ich mir nicht die Zeit genommen, das so lange zu beobachten.
Reicht da evt die Magnetkraft nicht aus, um durch die Gehäusewand vom Reed-Sensor erfasst zu werden? Oder sendet mein Zähler den Impuls vielleicht gar nicht magnetisch?
Anbei noch ein Bild des Zählers:

Edit: Ich war voreilig. Nachdem ich den Sensor nun ganz fest mit Unterlegscheiben als Gegendruck in die äußerste rechte Ecke geklemmt habe, werden nun Impulse gezählt. Mal beobachten, ob alle erfasst werden.
-
Ich bekomme vom Zähler bisher leider keine Impulse gemessen. Mein Reed-Sensor ist dieser hier https://www.ebay.de/itm/114809994326, der auch von @zillion42 erfolgreich verwendet wird. Wenn ich mit einem Magneten manuell einen Kontakt herstelle, werden Impulse gezählt. Von daher liegt es schon mal nicht an der Verkabelung mit dem NodeMCU.
Könnte es dann evt. am Zähler liegen? Es ist ein Actaris G4 RF1 Baujahr 2005. 1 Impuls entspricht 0,1m3. Auf der 3. Nachkommastelle befindet sich auf der 6 ein Metallplättchen (vermutlich). Ob auf der 2. Nachkommastelle auch was ist, kann ich nicht sagen - da habe ich mir nicht die Zeit genommen, das so lange zu beobachten.
Reicht da evt die Magnetkraft nicht aus, um durch die Gehäusewand vom Reed-Sensor erfasst zu werden? Oder sendet mein Zähler den Impuls vielleicht gar nicht magnetisch?
Anbei noch ein Bild des Zählers:

Edit: Ich war voreilig. Nachdem ich den Sensor nun ganz fest mit Unterlegscheiben als Gegendruck in die äußerste rechte Ecke geklemmt habe, werden nun Impulse gezählt. Mal beobachten, ob alle erfasst werden.
hallo,
bei meinem zähler löst der aquara auch unzuverlässig aus.
ich hab mal etwas getestet und festgestellt dass die lage/ausrichtung magnet zu reedsensor einen grossen einfluss hat.
habe folgende infos dazu gefunden. [link text]https://www.strippenstrolch.de/1-2-20-der-reed-kontakt.html(link url)
also müsste bei einem plättchen magnet , der reed axial zum magneten stehen. -
Hallo,
ich habe es nun auch geschafft den Arara Fenstersensor mit meinem Gaszähler an die richtigen Position zu bringen.

Zu meiner Konfiguration:
Gaszähler: Piperberg G4 RF1 von 2016
Das Plättchen ist an der letzten Nachkommstelle bei der "6" untergebracht - man kann es auf dem Bild noch erkennen.
1 Impuls sind bei mir 0,1 m3 und wird bei der Position 0.07 ausgelöst, dh. bei xxx.07, dann bei xxx.17 usw.
Der Magnet befindet sich bei mir zwischen der ersten und zweiten Nachkommastelle.@omnedon said in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
r 0,1 m3 und wird bei der Posi
also ist das plättchen an der 3. nachkommastelle nicht der magnet für den reed ?
wozu ist dann das plättchen ? (für optische erfassung ? )ich vermute auch dass der aqara probleme hat wenn er in der niesche im zähler steckt, wenn die aus metall ist. ( denke die wo keine probleme damit haben, ist das einschubfach aus plastik)
zum testen, mal den aquara mit doppelseitigem tape auf die scheibe kleben (einmal auf der langen seite des aquara , einmal auf der stirnseite des aqara - wegen ausrichtung des reed sh. unten)man müsste vom hersteller erfahren wo genau der magnet ist und wie er ausgerichtet ist, vom magnetfeld - damit man den reedkontakt entsprechend ausrichten kann.
was man bzgl. ausrichtung probieren könnte, ist den aqara aufrecht auf das einschubfach stellen und den abstand im einschubfach mit etwas ferromagnetischen ausfüllen/überbrücken.
-
@omnedon said in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
r 0,1 m3 und wird bei der Posi
also ist das plättchen an der 3. nachkommastelle nicht der magnet für den reed ?
wozu ist dann das plättchen ? (für optische erfassung ? )ich vermute auch dass der aqara probleme hat wenn er in der niesche im zähler steckt, wenn die aus metall ist. ( denke die wo keine probleme damit haben, ist das einschubfach aus plastik)
zum testen, mal den aquara mit doppelseitigem tape auf die scheibe kleben (einmal auf der langen seite des aquara , einmal auf der stirnseite des aqara - wegen ausrichtung des reed sh. unten)man müsste vom hersteller erfahren wo genau der magnet ist und wie er ausgerichtet ist, vom magnetfeld - damit man den reedkontakt entsprechend ausrichten kann.
was man bzgl. ausrichtung probieren könnte, ist den aqara aufrecht auf das einschubfach stellen und den abstand im einschubfach mit etwas ferromagnetischen ausfüllen/überbrücken.
@freitag Wenn der Zähler alle 0,1m³ zählt ist der Magnet auf der zweiten Rolle hinter dem Komma.
Für alle die noch Probleme mit der Präzision des Kontaktes haben hier ein Update von mir:
Ich hatte wieder einmal etwas Probleme mit der Erfassungsgenauigkeit. Ich bin mir nicht mehr ganz sicher, ob ich den Link zur Lösung hier fand oder anderswo. Jedenfalls habe ich folgende Änderung durchgeführt und hatte damit einen super Erfolg
Bisher hatte ich den Kontakt quer zur Zählrolle montiert. Jetzt ist er längs zur Zählrolle montiert und funktioniert bisher fehlerfrei.
Hier ein Bild der aktuellen Situation:
-
Hallo, ich habe mir auch einen aqara fensterkontakt gekauft. Muss bei dem Gaszähler irgendwas geöffnet werden? Die Platine ist einfach via tesafilm festgeklebt ist dies richtig?!
Muss die nirgendwo reingesteckt werden?

-
Hallo, ich habe mir auch einen aqara fensterkontakt gekauft. Muss bei dem Gaszähler irgendwas geöffnet werden? Die Platine ist einfach via tesafilm festgeklebt ist dies richtig?!
Muss die nirgendwo reingesteckt werden?

-
Hallo, ich habe mir auch einen aqara fensterkontakt gekauft. Muss bei dem Gaszähler irgendwas geöffnet werden? Die Platine ist einfach via tesafilm festgeklebt ist dies richtig?!
Muss die nirgendwo reingesteckt werden?

@avunculo Such mal mit "elster bk g4 reedkontakt gaszähler" oder Schau dir diesen Beitrag an: https://forum.iobroker.net/topic/27960/gaszähler-bk-g4-auslesen-mit-zigbee-fensterkontakt
So wie es aussieht bist du von der Lösung nicht weit entfernt. -
@avunculo Was hast Du denn für einen Zähler?
Hersteller und Typ helfen sicher bei der Unterstützung zur Lösung Deines Problems.@w00dst0ck
Hallo ich hatte das Foto hochgeladen. Wurde nicht als vorschau angezeigt hier nochmal.
-
Hallo,
ich habe meinen Aqara Fensterkontakt unter iobroker einbinden können. Leider funktioniert das Script noch nicht richtig, welchen Punkt muss ich unter Trigger Objekt ändern?

@avunculo Ist das ein anonymisiertes Script? Wieso rundest du so häufig? Es ist immer schwierig etwas zu sagen, wenn man nur einen Ausschnitt des Scriptes zu sehen bekommt. Ich Frage mich, weshalb du die Variable Zählerstand gebildet hast. Du kannst doch direkt beim Ereignis den Wert in Userdata direkt erhöhen, zumal die Variable bei einem Neustart gelöscht ist. Außerdem gehört die initiale, einmalige Anlage eines Datenpunktes m.E. nicht in ein Script, dass mit an Sicherheit grenzender Wahrscheinlichkeit mal gestoppt und neu gestartet werden muss und wird.
-
@w00dst0ck danke dir.
Habe jetzt Mal n Gebot auf das Cyble Ding abgegeben. Evtl Krieg ich das günstig. Das von dir hab ich schon gesehen. Da der doofe Zähler aber im Hauswirtschaftsraum hängt will ich nicht so ne großes Geraffel da dran, das stört und außerdem spielt das binnen Tagen jemand aus meiner Familie kaputt. Der hängt direkt über der Waschmaschine.@jmeister79
Funktioniert das mit dem cyble Sensor?
Stehe vor dem gleichen Problem und komm im Moment nicht weiter -
@macquire Hallo MacQuire, du hast den Datenpunkt in deinem Bild bereits markiert, er heisst Zählerstand_Abrechnungsbeginn. Hier wird der Zählerstand zum Beginn des Vertragsjahres manuell eingetragen. Falls du den nicht mehr kennst nimm den Endzählerstand aus der letzten Abrechnung. Viele Berechnungen basieren auf diesem Wert. Falls du historische Werte möchtest musst du entsprechend ein Logging mit Influx, History o.ä. aktivieren.
-
@ralfth
Hallo,
ich habe das Script hier von der Seite her:
https://www.smarthomejetzt.de/den-gaszaehler-smart-machen-und-den-verbrauch-mit-tuerkontakt-im-iobroker-aufzeichnen/
Gruß avunculo@avunculo Also ich poste jetzt noch mal mein Script. Es ist evtl. etwas veraltet, da es Tages- und Monatswerte selbst berechnet, aber dafür benötigt es keinen zusätzlichen Adapter.


Ich habe mal deinen Link durchgelesen. Die Ungenauigkeit kann ich nicht bestätigen. Ich habe bei meinem aktuellen Zählerstand mit Influxdb folgende Einstellungen zur Entprellung vorgenommen:

Meine Abweichung während der letzten 3 Monate ist gleich null.
Vielleicht hilft dir etwas davon weiter und falls du den Code willst einfach nochmal melden.
-
@avunculo Also ich poste jetzt noch mal mein Script. Es ist evtl. etwas veraltet, da es Tages- und Monatswerte selbst berechnet, aber dafür benötigt es keinen zusätzlichen Adapter.


Ich habe mal deinen Link durchgelesen. Die Ungenauigkeit kann ich nicht bestätigen. Ich habe bei meinem aktuellen Zählerstand mit Influxdb folgende Einstellungen zur Entprellung vorgenommen:

Meine Abweichung während der letzten 3 Monate ist gleich null.
Vielleicht hilft dir etwas davon weiter und falls du den Code willst einfach nochmal melden.
-
@ralfth
Hey danke für deine Antwort, kannst du mir sonst nochmal dein script zukommen lassen, danke.@avunculo kein Problem. Es sind einige Redundanzen enthalten, aber die stören mich nicht. Das ist ein Blockly-Script, also einfach kopieren und in ein neues Blockly -Script importieren.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="C(bFZFKJ?E{HFMt3wjqy">Jahresverbrauch qm</variable> <variable id="cEfR7s^[TN+C`y=WBp~z">Monatsverbrauch qm</variable> <variable id="3P^R?RjyCloE{A(Mca-~">Tagesverbrauch qm</variable> <variable id="oQk{ZaOTL#Pi%6PiS631">Jahresverbrauch kWh</variable> <variable id=":uED@=Z}%_7lPlkOL+}?">Monatsverbrauch kWh</variable> <variable id="uGl=6(66Z(j)hq_WkD6n">Tagesverbrauch kWh</variable> <variable id="[`*(i$-6d.L4M8Iiv`DR">Jahreskosten</variable> <variable id="eL}j*3R/=C3k_Qh+gg7%">Monatskosten</variable> <variable id="!7=^ifUK^og9WyMpkH7d">Tageskosten</variable> </variables> <block type="procedures_defnoreturn" id="n)(]Q3aL5x.F[^Vkah@K" x="88" y="-1137"> <field name="NAME">Jahresverbrauch aktualisieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="Q)6cuwx=!tLq+brmUo%X"> <field name="VAR" id="C(bFZFKJ?E{HFMt3wjqy">Jahresverbrauch qm</field> <value name="VALUE"> <block type="math_arithmetic" id="GI~_;Oa_pF$ur.nd@a:H"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="+8c4JA==hFjegmDXnom]"> <field name="NUM">1</field> </shadow> <block type="get_value" id="O0aa*`9c2Hk07o$sBwVw"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Monatsanfang</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="9a[bb9T|u{Ogw#;fp4qR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="MA-L0wb1hpu8N)l|{;|L"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Abrechnungsbeginn</field> </block> </value> </block> </value> <next> <block type="variables_set" id="WdsYPo]S*%ScS6z{=0l4"> <field name="VAR" id="oQk{ZaOTL#Pi%6PiS631">Jahresverbrauch kWh</field> <value name="VALUE"> <block type="math_rndfixed" id="~_.D6R8ScSEF6M+:vtHu"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="._uSLzl/4=oNirJVGS95"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="8nls]Vzb,L5G6e)V1ytk"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="fdt^~0VXCyna6efS%Abb"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="t5PMs._`sAs#}?I.TOUY"> <field name="VAR" id="C(bFZFKJ?E{HFMt3wjqy">Jahresverbrauch qm</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="]zz:ag2HjwP/J9W6QFQR"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="zKT*tYs1a*4F0_1R]#Pi"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="1vN{8!R:P0Z:dswgmd(]"> <field name="NUM">1</field> </shadow> <block type="get_value" id="!mrtZ-.U[Dkfm|t(2#dU"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Brennwert</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=")PyNYB6Vbxo^i*1*o4bP"> <field name="NUM">1</field> </shadow> <block type="get_value" id="C1=(v_0#xAeY-VFz:tj["> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zustandszahl</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="yKJ0F.H$M}!9#M}P:V|%"> <field name="VAR" id="[`*(i$-6d.L4M8Iiv`DR">Jahreskosten</field> <value name="VALUE"> <block type="math_rndfixed" id="Gy{$WT,yoC4@vZJ%/59t"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZdkEoG}r{2eDWd6~rXqK"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id=",T-0#=k[-0*`+S~=Dn/c"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="uXIcRrq#n(-7Dj)sh({d"> <field name="NUM">1</field> </shadow> <block type="get_value" id="rx)$]k13khRL#qyg+8.("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Grundpreis</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="vl(Lo?^LKR3z}QL/j:f:"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Pj;mt(*NerIgloEZ8ie:"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="e-P[LxopEtsvY-+oR#yF"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Be^yW$(TOh(xjFriUBR?"> <field name="VAR" id="oQk{ZaOTL#Pi%6PiS631">Jahresverbrauch kWh</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZLA$Qf49I!L}BCB%e{VN"> <field name="NUM">1</field> </shadow> <block type="get_value" id="k8_bERg`u],uIduA8iG~"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_kWh_in_Euro</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="~e;d.p#o.P6v0A_nUw|-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Abrechnungsjahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="dNRgqUk/JN)n^ECvpO`A"> <field name="VAR" id="oQk{ZaOTL#Pi%6PiS631">Jahresverbrauch kWh</field> </block> </value> <next> <block type="update" id="lu`F/vA3!Ns5!QG+`QF!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Abrechnungsjahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="ZBkl$sr1/fExgyfP5nG1"> <field name="VAR" id="[`*(i$-6d.L4M8Iiv`DR">Jahreskosten</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="bu4(sL#N5~{J/7W{8Zx," x="88" y="-837"> <field name="NAME">Monatsverbrauch aktualisieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="7m?+z]8KkKi/.#Lbv`Cu"> <field name="VAR" id="cEfR7s^[TN+C`y=WBp~z">Monatsverbrauch qm</field> <value name="VALUE"> <block type="math_arithmetic" id="OsO^W`{Eo=VEF-hN|=Zs"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="+8c4JA==hFjegmDXnom]"> <field name="NUM">1</field> </shadow> <block type="get_value" id="{+=2M#bET8K1$C3N^koh"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Aktuell</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="9a[bb9T|u{Ogw#;fp4qR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="LDz2%rEcnmmy?1*v.VoA"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Monatsanfang</field> </block> </value> </block> </value> <next> <block type="variables_set" id=".fQ;oik:Pu;T#ncJ)i~0"> <field name="VAR" id=":uED@=Z}%_7lPlkOL+}?">Monatsverbrauch kWh</field> <value name="VALUE"> <block type="math_rndfixed" id="35(?hfPi.85Hqe`#?ZHi"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="._uSLzl/4=oNirJVGS95"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="]?8S`*@S}DP=A@7T86w2"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="fdt^~0VXCyna6efS%Abb"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="g*=z_eSX#1!O2ij$[Dh2"> <field name="VAR" id="cEfR7s^[TN+C`y=WBp~z">Monatsverbrauch qm</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="]zz:ag2HjwP/J9W6QFQR"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="EjXA;PBd[Q{9m.xc.MF2"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="1vN{8!R:P0Z:dswgmd(]"> <field name="NUM">1</field> </shadow> <block type="get_value" id="}}7q}:RJC#oHMp!l6jK!"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Brennwert</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=")PyNYB6Vbxo^i*1*o4bP"> <field name="NUM">1</field> </shadow> <block type="get_value" id="@tUSNOKF$#i[$}yu=m(-"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zustandszahl</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="Vm9:;JnI6sQbnKM0aOUh"> <field name="VAR" id="eL}j*3R/=C3k_Qh+gg7%">Monatskosten</field> <value name="VALUE"> <block type="math_rndfixed" id="qjNsPgao;*)#YuYGgSt!"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZdkEoG}r{2eDWd6~rXqK"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="D_9v4k@n3~pSa`A$!V6H"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="e-P[LxopEtsvY-+oR#yF"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="`fmB9cC,]n8(H/j/#[3o"> <field name="VAR" id=":uED@=Z}%_7lPlkOL+}?">Monatsverbrauch kWh</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZLA$Qf49I!L}BCB%e{VN"> <field name="NUM">1</field> </shadow> <block type="get_value" id=";~EFN,JLCc!BUa{}7=!/"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_kWh_in_Euro</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="u[ahL3Q]_LfL-aMElp80"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Monat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="t#=7_wIK-|BXtk!N{fBt"> <field name="VAR" id=":uED@=Z}%_7lPlkOL+}?">Monatsverbrauch kWh</field> </block> </value> <next> <block type="update" id="~ySaBS?W@ur9o8sXbcP~"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Monat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Fug+dM{eUTRb]MW(lhq2"> <field name="VAR" id="eL}j*3R/=C3k_Qh+gg7%">Monatskosten</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id=";jgl=g8JO]p5qL4}7d9?" x="88" y="-537"> <field name="NAME">Tagesverbrauch aktualisieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="0t[[0YC/DBb=RmvwD]/F"> <field name="VAR" id="3P^R?RjyCloE{A(Mca-~">Tagesverbrauch qm</field> <value name="VALUE"> <block type="math_arithmetic" id="yH}qVpt{sTn-##O`G0eR"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="+8c4JA==hFjegmDXnom]"> <field name="NUM">1</field> </shadow> <block type="get_value" id="vm1-mL+~W)$^48,Nea1v"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Aktuell</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="9a[bb9T|u{Ogw#;fp4qR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Wd,sjWV8;N%zyg3QClK+"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_0:00</field> </block> </value> </block> </value> <next> <block type="variables_set" id="sg[6xF[|=^x*ONv?Y5FV"> <field name="VAR" id="uGl=6(66Z(j)hq_WkD6n">Tagesverbrauch kWh</field> <value name="VALUE"> <block type="math_rndfixed" id="/5{3EpLx?|5ZL[OVd*7N"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="._uSLzl/4=oNirJVGS95"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="FDr+pG`p^gjI,O{lbfD8"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="fdt^~0VXCyna6efS%Abb"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="gk}IFF7qw5A*k2f}d~ua"> <field name="VAR" id="3P^R?RjyCloE{A(Mca-~">Tagesverbrauch qm</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="]zz:ag2HjwP/J9W6QFQR"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="f;L|~DdlXB)E5H3SCVKH"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="1vN{8!R:P0Z:dswgmd(]"> <field name="NUM">1</field> </shadow> <block type="get_value" id="d~]{BM8cloxv)JQMh?pK"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Brennwert</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=")PyNYB6Vbxo^i*1*o4bP"> <field name="NUM">1</field> </shadow> <block type="get_value" id="aIVu7qnK0[3](UdABq3$"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zustandszahl</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="RW*Gj4_LDUwu~2zu.+3K"> <field name="VAR" id="!7=^ifUK^og9WyMpkH7d">Tageskosten</field> <value name="VALUE"> <block type="math_rndfixed" id=":{Xad.;}n9POv,*|G)q/"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZdkEoG}r{2eDWd6~rXqK"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="+27It$f^F((tj]3,wB:+"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="e-P[LxopEtsvY-+oR#yF"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="2C0hBHdNMJ.j^z,oOFxE"> <field name="VAR" id="uGl=6(66Z(j)hq_WkD6n">Tagesverbrauch kWh</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZLA$Qf49I!L}BCB%e{VN"> <field name="NUM">1</field> </shadow> <block type="get_value" id="ED$GO1^acmqobl5DM*1}"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_kWh_in_Euro</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="9Ev,!b|hFTUj9a/M{GjF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Heute</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="!NWe=/KdWRfOxH81]oAt"> <field name="VAR" id="uGl=6(66Z(j)hq_WkD6n">Tagesverbrauch kWh</field> </block> </value> <next> <block type="update" id="v0LWuuPw{f!1xob^R533"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Heute</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="u(5[{aco51;|1mG2ybxj"> <field name="VAR" id="!7=^ifUK^og9WyMpkH7d">Tageskosten</field> </block> </value> <next> <block type="debug" id="om[ppy,VhzocgR!~rkQD"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="e^*oI-RV;M~75Uw/Zzpi"> <field name="TEXT">Gassensor Aktualisierung</field> </shadow> <block type="variables_get" id="AobLp_,F%9Sm=RQO}v`6"> <field name="VAR" id="uGl=6(66Z(j)hq_WkD6n">Tagesverbrauch kWh</field> </block> </value> <next> <block type="debug" id=")X2%|8lK?hK*kj{[-nQ?"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[!UZk=pyDsSj4QJN}SAP"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="#4xw@bYCQKZSmOe;Ym}6"> <field name="VAR" id="3P^R?RjyCloE{A(Mca-~">Tagesverbrauch qm</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="schedule" id="4jLqBh56r)o]DE,L2SrQ" disabled="true" x="87" y="-112"> <field name="SCHEDULE">*/5 * * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="C`.m*i=Z=|_W2gwC8d%s"> <mutation name="Tagesverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="a(D8WTT8lUOUm?xV_SR["> <mutation name="Monatsverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="gS#9+P#B+u28X3^6?)%j"> <mutation name="Jahresverbrauch aktualisieren"></mutation> </block> </next> </block> </next> </block> </statement> </block> <block type="comment" id="+8:x5xXlgL{2VF1oFxXN" x="120" y="134"> <field name="COMMENT">Aktualisiert bei Änderung</field> <next> <block type="on" id="5Kdai^+FkPg$8i)nLSsE"> <field name="OID">alias.0.Scripte.Gasverbrauch.open</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="XWGr|[WH|D?(!cT/dJ2*"> <value name="IF0"> <block type="logic_compare" id="U^)Zqe[K`I=4WD1CqQ(0"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ZVjpZBa4EQ{c6VDsAQ.K"> <field name="ATTR">val</field> <field name="OID">alias.0.Scripte.Gasverbrauch.open</field> </block> </value> <value name="B"> <block type="logic_boolean" id=".$e2tu*5^7Y|u,/iY)gI"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="k84CvR,M[b/]bx`#M^]2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Aktuell</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <shadow type="math_number" id="BZ7/.tC`VuWzwGON;_2D"> <field name="NUM">3.1234</field> </shadow> <block type="math_rndfixed" id="8SqWa4OxT)l]j}to4L(8"> <field name="n">1</field> <value name="x"> <shadow type="math_number" id="|.KyU]cf8iV/*N*)aK`Z"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id=";[V_m#Xc$|D3vgRO~FRc"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="nK|7aq#1]JkX3Nj/+bEY"> <field name="NUM">1</field> </shadow> <block type="get_value" id="3!.4x`?@gmd?cDOyQ9-h"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Aktuell</field> </block> </value> <value name="B"> <shadow type="math_number" id="B6GeqZ-zm~|crjg-C8;r"> <field name="NUM">0.1</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="(Fg.=1Ziy,;tBNgQ[5ya"> <mutation name="Tagesverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="rwZ4rbgf;`FrGdO5SUH["> <mutation name="Monatsverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="kP?SKffwn$79[eqsx~DX"> <mutation name="Jahresverbrauch aktualisieren"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="!H(TM~7]E+7pAHl%2`dV"> <field name="COMMENT">Aktualisiert dei Zählerstände täglich um 0:00</field> <next> <block type="schedule" id="b2FC_`#h3RpW*UgbbIds"> <field name="SCHEDULE">57 59 23 * * *</field> <statement name="STATEMENT"> <block type="update" id="CFf2|!Ys1HXkth{}Tdq#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Gestern</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id=")+4p~*jChB|HHC}US]Xq"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Yp)FkCvAs_`/DAAl@sW|"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="SAAH5P,=24!RuQ@L;0X|"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Heute</field> </block> </value> </block> </value> <next> <block type="update" id="//mD6cYd9NGc$1iakvX-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_0:00</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="Uokq1ANo|J!f~1EnZl-h"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="}jqhl#S@tg#(E=6YIm]h"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="j,k17$g}/x`p_KRe$O+)"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Aktuell</field> </block> </value> </block> </value> <next> <block type="update" id="L8~Z`%]w@X%V/Y7j$qrZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Gestern</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="BZ7/.tC`VuWzwGON;_2D"> <field name="NUM">3.1234</field> </shadow> <block type="math_rndfixed" id="n^GbK8Ih$E:UGg757P4e"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="|.KyU]cf8iV/*N*)aK`Z"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="B@Mnaz)^!gCN3;I|ZFab"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Heute</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="=bL-(MaBaK%0:H)FW$u$"> <mutation name="Tagesverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="7-w8B}^723$P%NABs4)I"> <mutation name="Monatsverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="JEzDMwYestOa9+IK-v}H"> <mutation name="Jahresverbrauch aktualisieren"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="vO19-![t:Mt+/XLZbrF_"> <field name="COMMENT">Aktualisert den Zählerstand jeden 1. im Monat</field> <next> <block type="schedule" id="#lHUl+IJ+^{vV9f%SX~+"> <field name="SCHEDULE">0 0 1 * *</field> <statement name="STATEMENT"> <block type="update" id="g2xtn0!!J}G_kvUx8+=n"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_Monatsanfang</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="=4e~}YwsU,IFGW2+.0~{"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Yp)FkCvAs_`/DAAl@sW|"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="@sX9y6S7KTghg,#mBo^B"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_0:00</field> </block> </value> </block> </value> <next> <block type="update" id="hH;jN3S#b|VSVWvT4YRh"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Vormonat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="xA^HPhn5s0{k9UabRs*N"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="R++4;[_;8FO/3fVdMuoS"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="$3BH*r*[+J;7K]L!MdqI"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Monat</field> </block> </value> </block> </value> <next> <block type="update" id="fn^:.2^WsF1Uy9I_?C~Q"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Vormonat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="T;]]rGP)/{m=!4OOWxAk"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="R++4;[_;8FO/3fVdMuoS"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="D)?:[i7vm+#yCSqDID]U"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Kosten_Monat</field> </block> </value> </block> </value> <next> <block type="update" id="m9#_gcdwhl~4Ehn8:QkG"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Gasverbrauch.Verbrauch_Nachtmodus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="({$*:vV#QD2@co23N[o!"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="1Dn,Pl(VgovgLUye]SVN"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="!J~}L%G6(wODrIP7trip"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_5:00</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="ze_05={M^)E?]J6)5F//"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gasverbrauch.Zählerstand_22:00</field> </block> </value> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id=";qO6v3?bgG;hH?Vvna:q"> <mutation name="Tagesverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="H$0SW;r{{-:M~zj{0gzZ"> <mutation name="Monatsverbrauch aktualisieren"></mutation> <next> <block type="procedures_callnoreturn" id="}4dQ+xbY!!~loqX%XXCU"> <mutation name="Jahresverbrauch aktualisieren"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml> -
@omnedon
Gaszähler ist ein Pipersberg G4 RF1

Der Sensor ist ein 951-858-06. Kostet ~ 60,- €. Den gibt's möglicherweise noch etwas günstiger, aber ich habe mich hier an die Empfehlung von Pipersberg gehalten.
https://www.hausprofi24.com/shop/messtechnik/kommunikationstechnik/impulsnehmer-951-858-06-fuer-balgengaszaehler-rf1/

Homematic IP Kontakt-Schnittstelle HmIP-SCI. 30,- €

Zusammen also ~ 90,- €
Klar geht das auch deutlich günstiger.
Den Aqara Sensor bekommt man für 15-20 € und einen Reedkontakt für unter 1 €.
Aber die ganze Fummelei beim Positionieren und die Instabilität der ganzen Mimik sind mir den Aufpreis wert.Mit Blockly schreibe ich bei einem Impuls vom Sensor den Verbrauch fort:

Am Ende des Tages schreibe ich noch den Tagesverbrauch für die Historie weg:

@codierknecht Hallo, ich habe nun den gleichen Sensor am G4, komme aber nicht zurecht. Auf dem äußeren Schalter erhalte ich gar keine Impulse, also immer off, auf dem inneren scheint das ständig zu toggeln von on auf off, ohne dass ich das mit dem Zählwerk in Relation bringen kann. Kannst Du mir einen Tipp geben?
Angeschlossen habe ich den Sensor an eine ESP32 Wifi.Gruß,
Knut -
@codierknecht Hallo, ich habe nun den gleichen Sensor am G4, komme aber nicht zurecht. Auf dem äußeren Schalter erhalte ich gar keine Impulse, also immer off, auf dem inneren scheint das ständig zu toggeln von on auf off, ohne dass ich das mit dem Zählwerk in Relation bringen kann. Kannst Du mir einen Tipp geben?
Angeschlossen habe ich den Sensor an eine ESP32 Wifi.Gruß,
Knut@knherzog sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Angeschlossen habe ich den Sensor an eine ESP32 Wifi.
gelb/grün ist richtig.
Hast Du den direkt an die ESP angeklemmt?
Bin jetzt kein Elektoniker, aber ich denke ohne Widerstand wird das nicht funktionieren. -
@knherzog sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Angeschlossen habe ich den Sensor an eine ESP32 Wifi.
gelb/grün ist richtig.
Hast Du den direkt an die ESP angeklemmt?
Bin jetzt kein Elektoniker, aber ich denke ohne Widerstand wird das nicht funktionieren.@codierknecht said in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Bin jetzt kein Elektoniker, aber ich denke ohne Widerstand wird das nicht funktionieren.
Dazu bräuchte ich dann ein Datenblatt des Sensors, hab aber keins gefunden. Ich frag mal bei pipersberg nach.
-
@codierknecht said in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Bin jetzt kein Elektoniker, aber ich denke ohne Widerstand wird das nicht funktionieren.
Dazu bräuchte ich dann ein Datenblatt des Sensors, hab aber keins gefunden. Ich frag mal bei pipersberg nach.
@knherzog
Das hat wohl weniger mit dem Sensor als mit dem Microcontroller zu tun. Da wird Pipersberg vermutlich nicht weiterhelfen können.Da muss vermutlich an den Eingängen des ESP ein PullUp/PullDown-Widerstand verbaut werden.
Frag' mich nicht - bin wie gesagt kein Elektroniker.Such mal nach "esp reedkontakt widerstand"
https://www.google.com/search?q=esp+reedkontakt+widerstand@BananaJoe Hast Du als Profibastler Ahnung davon?