NEWS
Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt
-
@benziman Ist das der 5er Adapter? Da gibt es das nicht, du müsstest die alte Ansicht nehmen.
Im 6er ist wieder mehr hinzugekommen, zum Beispiel kann man wieder Unit setzen, dafür gibt es keine alte Ansicht mehrABER erst angucken, dann überlegen ... bevor du Updates.
-
ja ist die 5.7 ohje, na daran wollte ich eigentlich jetzt nichts ändern.
@RalfTh kannst du evtl die Objektdaten von einem deiner DPs hier posten vllt kann ich ja damit arbeiten. -
@benziman Über die Objektdaten:
-
Habe die DPs jetzt per Text erstellt @RalfTh machen die DPs so Sinn? type war immer number, hoffe das stimmt so.
Beim Zählerstand vermute ich mal, dass der "." das "," am Gaszähler ersetzt also die drei Nachkommestellen
-
@benziman Das sieht schon ganz gut aus.
Zunächst mal ein Bild meiner DP's. Mein Brennwert ist das Produkt aus Zustandszahl und Brennwert. Stände erfasse ich in m³ und die Verbräuche in kWh. Dadurch lassen sich die Kosten jederzeit und einfach ermitteln, bzw. darstellen. Der aktuelle Zählerstand interessiert mich maximal bis zur nersten Stelle hinter dem Komma wegen der Übersichtlichkeit. Ich hatte zu Beginn immer Abweichungen wegen Prellungen u.ä.Das ist mein Blockly als Export:
<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="87" y="-988"> <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="87" y="-712"> <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="87" y="-437"> <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> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="comment" id="+8:x5xXlgL{2VF1oFxXN" x="87" y="-163"> <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="debug" id="{wLAa,nP),_],!Tj!]4y" disabled="true"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="FucJ!bZtc}8SqdpvV(i^"> <field name="TEXT">Gascount</field> </shadow> </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> </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> </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> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Das kannst du 1:1 verwenden sofern deine Datenpunkte unter 0_userdata.0.Gasverbrauch angelegt sind. Ansonsten musst du mit "Suchen und Ersetzen" an deinen Ablageort anpassen.
Ich hoffe, es nützt dir. -
Danke! Brennwert habe ich jetzt auch berechnet. Welche Startwerte muss ich denn noch angeben?
sieht bei mir jetzt so aus von den Werten her. ggf noch den Verbrauch Abrechnungsjahr als den Verbrauch in m3?
(die beiden DPs Zählerstand 5 und 22Uhr habe ich noch erstellt)Habe jetzt mal mit Influx meinen Aquara Sensor am Gaszähler geloggt, allerdings irritiert mich der Wert "false", wobei das Acknowledge true ist? jemand eine Idee?
Bin mir noch nicht sicher ob ich den Magneten auch korrekt getroffen habe, der Reedkontakt klebt auf der Scheibe auf und bedeckt die letzte Ziffer vor dem Komma und die alle nach dem Komma.
als DP für den Zähler kann ich zwischen contact oder opened wählen, da der ja aktuell immer open ist habe ich als Gaszähler DP contact genommen.
-
@benziman sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Welche Startwerte muss ich denn noch angeben?
Die Zustandszahl fehlt noch
-
@benziman sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
als DP für den Zähler kann ich zwischen contact oder opened wählen, da der ja aktuell immer open ist habe ich als Gaszähler DP contact genommen.
Den nehme ich auch. Aber bist du sicher das dein Zähler eine Magnet hat?
-
@benziman Die DP's für Zählerstand 5:00 und 22:00 hatte ich mal angelegt um einen Versuch durchzuführen, was für einen Verbrauch ich in der Nacht habe, wenn ich keine Nachtabsenkung durchführe. D.h. die brauchst du nicht unbedingt, sie schaden aber auch nicht.
Angaben zum Zählerstand zum Zeitpunkt des Abrechnungsbeginn, Grundpreis, Kosten kWh und den aktuellen Zählerstand zum Start des Skriptes. Der Rest wird eigentlich alles berechnet.Muss mich noch korrigieren. Ich hatte mittlerweile das Skript geändert und die Zustandszahl und den Brennwert als einzelne DP's erfasst, da sich dies immer wieder mal ändern. da muss man bei der Jahresabrechnung nachschauen. Wenn ich das Produkt aus beidem als Wert eintrage, dann hatte ich es immer schwer zu prüfen ob die Werte aktuell sind.
-
ah ok hatte das nämlich selber ausgerechnet. Also reichen die beiden DPs Brennwert und Zustandszahl und dein Script errechnet dann den Rest?
-
habe eben mal den Magneten vom Aquara dran gesetzt (oberste zwei Einträge), sieht leider anders aus als bei den anderen Werten. Verstehe daher nicht was das für false Werte sein sollen...
-
@benziman Jep, genau das macht es.
-
@benziman Bin mir nicht sicher, ob ich dich richtige verstehe, aber hier der Versuch einer Erklärung.
Der Fenster-/Türkontakt kennt zwei Zustände, offen und geschlossen. Der DP "Open" nimmt entsprechend den booleschen Wert true oder false an. Bei true ist der Magnet nicht in der Nähe des Reedkontakt und bei false ist er es. Der Reedkontakt ist ein Schließer.Beim Gaszähler sitzt ein Magnet auf einer Walze und dieser kommt alle 0,1 m³ an deinem Kontakt vorbei und schließt diesen. (zweite Walze hinter dem Komma)
Im Idealfall und die genaue Positionierung des Kontaktes vorausgesetzt siehst du immer einen schönen Wechsel zwischen true und false. Falls das nicht der Fall ist musst du ggf. den Kontakt entprellen über die Einstellungen in der influx.db
-
vielen Dank für die Erklärung! Was ist Entprellen?
-
@benziman Als prellen bezeichnet man den Zustand, wo der Kontakt mehrfach öffnet und schließt. Das passiert, wenn z.B. die Anzugskräfte für den Kontakt nicht ausreichend sind. Das führt zur fehlerhaften Erfassung des Wertes und in der Folge zur Abweichung des errechneten Zählerstandes vom tatsächlichen Zählerstand. Entprellt wird über Influx.
-
welches Objekt ist das denn bei Gasverbrauch.open bei dir? das fehlt mir noch. Hätte jetzt gedacht contact event oder opened beim Aquarasensor.
-
@benziman Moin, Ich habe meine Aquara-Geräte über den deconz-Adapter eingerichtet. Es kann aber auch der Zigbee-Adapter sein.
Ich habe mir für diesen Datenpunkt einen Alias angelegt. Hier das Origial:
Und hier der Alias:
Das Skript verwendet den Alias. Falls jetzt die Hardware getauscht wird o.ä. muss ich nur im Alias die Referenz zum Datenpunkt anpassen und sonst nichts. Früher musste man im Fall der Fälle das komplette Skript anpassen und das kann sehr schnell komplex werden.
Näheres findest du in einem Thread zu Aliases. -
danke, kannte ich noch nicht! Alias ist erstellt und nach ein paar Problemen schreibt er auch den Wert vom Aquara in den Alias.
so wie ich das Script verstehe hast du deinen Aquaraadapter nur an zwei Stellen (also den Alias) eingebunden:
hier kann ich doch auch einfach den Aquarasensor state opened nehmen bei beiden oder?Verstehe nicht so ganz wozu man dann einen Alias braucht anstatt einfach den opened DP vom Aquarasensor zu nehmen. Selbst wenn du den Sensor mal tauschen musst, muss doch im Script nur dieser eine Punkt geändert werden oder täusche ich mich da? Weil du oben meintest "Früher musste man im Fall der Fälle das komplette Skript anpassen und das kann sehr schnell komplex werden."
sieht jetzt so bei mir aus und müsste funktionieren oder?
auf jeden Fall danke für die Unterstützung! -
@benziman In diesem Skript ist das nicht so problematisch, allerdings habe ich das aus Gründen der Gleichheit überall gemacht. Stell dir vor zu musst mal etwas ändern und suchtst dann den Alias und findest ihn nicht oder umgekehrt. Ich hatte beispielsweise ein Termometer im Einsatz, dessen Wert kam in x-verschiedenen Skripten vor. Nun musste ich das Termometer tauschen und alle Skripte anpassen. Beim Alias hätte ich nur den Verweis zum originalen Datenpunkt anpassen müssen und gut wars.
Das sieht alles gut aus so weit. Jetzt musst du noch testen, ob der Reedkontakt jede Änderung zuverlässig erfasst. -
ah ok, ja das macht natürlich Sinn. Also wenn ich mit dem Aquaragegenstück an den Gaszähler gehe, zuckt die letzte Zählrolle. Leider konnte ich bisher noch keinen Reedkontakt feststellen. Der Gasverbauch ist aktuell so minimal, das ich noch nicht so frequent testen kann wo die richtige Stelle ist.
Danke bis hierhin, ich melde mich wieder wenn sich das ändert.