NEWS
Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt
-
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?
-
@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?
@codierknecht sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
@BananaJoe Hast Du als Profibastler Ahnung davon?
Also mit Tasmota und einem ESP8266 geht ein "Switch" mit 4,7kOhm Wiederstand.
Siehe mal die Zeichnungen hier:

(stammt von https://znil.net/index.php?title=ESP8266_Wemos_D1_Mini_mit_Tasmota_und_OLED_Display_I2C_SSH1106_und_4_Taster).
Statt des Tasters darf es auch ein Reedkontakt sein.Und ich erwähne es oft, auch wenn es ignoriert wird: Nirgendwo funktioniert das Auslesen so gut wie bei meinem Gaszähler per ESP32CAM / dem Wasserzählerprojekt:
https://forum.iobroker.net/topic/36622/wasserzähler-version-2-all-in-device
mein Gehäuse:
https://www.thingiverse.com/thing:4820301 -
@codierknecht sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
@BananaJoe Hast Du als Profibastler Ahnung davon?
Also mit Tasmota und einem ESP8266 geht ein "Switch" mit 4,7kOhm Wiederstand.
Siehe mal die Zeichnungen hier:

(stammt von https://znil.net/index.php?title=ESP8266_Wemos_D1_Mini_mit_Tasmota_und_OLED_Display_I2C_SSH1106_und_4_Taster).
Statt des Tasters darf es auch ein Reedkontakt sein.Und ich erwähne es oft, auch wenn es ignoriert wird: Nirgendwo funktioniert das Auslesen so gut wie bei meinem Gaszähler per ESP32CAM / dem Wasserzählerprojekt:
https://forum.iobroker.net/topic/36622/wasserzähler-version-2-all-in-device
mein Gehäuse:
https://www.thingiverse.com/thing:4820301Hier noch meine Erfahrungen zu dem Thema.
Mein Sensor ist ein MK 471B
Ich habe ihn zum Testen einfach quick&dirty direkt an die GPIO meines RasPi angeschlossen, auf dem der ioBroker läuft.
Was soll ich sagen: läuft auf anhieb ohne zu Prellen, Impulse zu verschlucken oder zuviel zu zählen.

Und hier mal eine Darstellung in Grafana:

Ich habe ein Differential von 10 Minuten über die Werte gelegt.
Dementsprechend müssten die Y-Achsenbeschriftung also m³/10 Minuten sein.Da sieht man schön, wie um 22 Uhr die Nachtabschaltung beginnt, um 22:30 unterschreitet die Außentemperatur 0 °C, daher schaltet sich die Heizung im Absenkbetrieb wieder ein, um um 4:45 mit der Warmwasserbereitung den Tag zu beginnen.
-
@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?
@codierknecht danke für die Hilfe.
Aber Pipersberg hat mir nun doch weiterhelfen können. Es gibt für den G4 mehrere Impulsnehmer.
Beim Impulsnehmer 951-858-06 liegt der Impuls bei
0,1 m³/Impuls. Bei mir steht dort I=0,01 m³ , deshalb benötige ich einen anderen Impulsnehmer mit der Nummer 951-858-04.
Den habe ich bestellt. Mit dem Pull-up komme ich klar.
Ergebnis schreibe ich nach Lieferung.Gruß,
Knut -
@codierknecht danke für die Hilfe.
Aber Pipersberg hat mir nun doch weiterhelfen können. Es gibt für den G4 mehrere Impulsnehmer.
Beim Impulsnehmer 951-858-06 liegt der Impuls bei
0,1 m³/Impuls. Bei mir steht dort I=0,01 m³ , deshalb benötige ich einen anderen Impulsnehmer mit der Nummer 951-858-04.
Den habe ich bestellt. Mit dem Pull-up komme ich klar.
Ergebnis schreibe ich nach Lieferung.Gruß,
KnutBeim RF 1 c bin ich weiter gekommen - ohne Cyble-Sensor, s. https://forum.iobroker.net/post/935265
Ach hier: Wenn die Lösung jemand im Detail interessiert, poste ich das gerne. -
Hallo Zusammen!
Ich habe gerade mal auf printables.com eine Halterung für einen beliebigen Magnetsensor veröffentlicht. Ich habe das selbst mit einem alten Homematic Fensterkontakt umgesetzt und es funktioniert wunderbar. Wenn jemand das Teil "bestellen" möchte, da er selbst über keinen Drucker verfügt, bin ich gegen Übernahme des Briefportos gern bereit fertige Drucke zu verschicken.

Viele liebe Grüße
Silas -
Hallo Zusammen!
Ich habe gerade mal auf printables.com eine Halterung für einen beliebigen Magnetsensor veröffentlicht. Ich habe das selbst mit einem alten Homematic Fensterkontakt umgesetzt und es funktioniert wunderbar. Wenn jemand das Teil "bestellen" möchte, da er selbst über keinen Drucker verfügt, bin ich gegen Übernahme des Briefportos gern bereit fertige Drucke zu verschicken.

Viele liebe Grüße
Silas