NEWS
Tagesstromverbrauch mit Blockly ermitteln
-
Hallo Zusammen,
ich möchte gerne den Tagesstromverbrauch meiner Wärmepumpe in einem Säulendiagramm speichern. Dazu soll jeden Tag um Mitternacht, der jeweilige Tagesverbrauch errechnet werden.
Die Daten kommen in diesem Fall von einem Shelly 3EM.
Mein Problem ist, dass das Skript nicht das macht, was soll. Es kommen irgendwie sinnlose Werte dabei raus.
Im folgenden die exportierten Blöcke:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</variable> <variable id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</variable> <variable id="MUHR(G41{]}v@c(DTsq-">Ergebnis</variable> </variables> <block type="create" id="DL8pvP(/uuTf[,TD-IJ5" x="63" y="-362"> <field name="NAME">WP_Tagesverbrauch_0</field> <value name="VALUE"> <block type="math_number" id="vzRK;wVbCl/3iof?UT-I"> <field name="NUM">0</field> </block> </value> <next> <block type="create" id="Yi+!;%+]YP3%QT2Fe!$s"> <field name="NAME">WP_Tagesverbrauch_1</field> <next> <block type="create" id="~FGXor{WsXIpt7H3/9DB"> <field name="NAME">WP_Tagesverbrauch_2</field> <next> <block type="schedule" id="|~L9c`YU)-N~O4V?zysc"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="E+Ssm]7jD{W]OV=KIDp1"> <field name="VAR" id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</field> <value name="VALUE"> <block type="get_value" id="DSJWz%x2{v$bqg}N@1^:"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> </block> </value> <next> <block type="debug" id="-:Fn#k$1[0_p:U@aHKOB"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="!vkcPC*7pwYR?_c~:)Gy"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="z/Bg|h(X5CS?AaRXRrvY"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="bZq@y~c`xPDt#UL[@.pA"> <field name="TEXT">Zählerwert alt:</field> </block> </value> <value name="ADD1"> <block type="variables_get" id=")T?pj`:8c,BRxHU)Z:fa"> <field name="VAR" id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</field> </block> </value> </block> </value> <next> <block type="variables_set" id="gi*z!nJu-@w3%]Qk)exf"> <field name="VAR" id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</field> <value name="VALUE"> <block type="get_value" id="UN.yZ{D{Tf88f:f[;Y_Z"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHEM-3#68C63AFB3314#1.Total.ConsumedPower</field> </block> </value> <next> <block type="debug" id="Figt$o2J@ua[[4DC~?$~"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="j*zvqB0}Oj~KvQU/Z_5y"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="E30:I.$JF.O6Uq*w4Pp;"> <field name="TEXT">Zählerwert aktuell:</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="s-|rkEf[HdK=s5CD:[6."> <field name="VAR" id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</field> </block> </value> </block> </value> <next> <block type="control" id="tfW:P`/V@=:ZpbdqH?%C"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.WP_Tagesverbrauch_2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="!!a}0`0da}CghR}vJ16R"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_1</field> </block> </value> <next> <block type="control" id="^KMnZC|c%o]lHJGBh]uI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.WP_Tagesverbrauch_1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="de:v-ss4IAMU3LK~/NpT"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> </block> </value> <next> <block type="variables_set" id="))!?wz_R{f3b?$-L#.n~"> <field name="VAR" id="MUHR(G41{]}v@c(DTsq-">Ergebnis</field> <value name="VALUE"> <block type="math_rndfixed" id="pleU`Z|R:fsf4okyv_[L"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="YFMMwG0F^)!|)v7DB{Bs"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="co(W`9Z~BfjveTzy|O6E"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="F@(+^S%hRmTh;53;6lXN"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="732OGk%FZJLQXv5Wyf6#"> <field name="VAR" id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</field> </block> </value> <value name="B"> <shadow type="math_number" id="Dc)8w~SxjHyCc})kN.iH"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="B^(UzzY]f4/LQ$b$sNR^"> <field name="VAR" id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="o:WI/xoF{X^A?!BH1y])"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="8(0v)c=pb$bvkdL8^KqH"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="{G(Fapi|xpAzzu4Z}m1}"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="HFjr8YXS5(X41dAi4v?T"> <field name="TEXT">Ergebnis: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=",z8smMx+!_TP:99$+NJ2"> <field name="VAR" id="MUHR(G41{]}v@c(DTsq-">Ergebnis</field> </block> </value> </block> </value> <next> <block type="control" id="eJFD%]trWZ-)8TPBqrH)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="wh$blJ4a)/2ZNm9;bQBm"> <field name="VAR" id="MUHR(G41{]}v@c(DTsq-">Ergebnis</field> </block> </value> <next> <block type="debug" id="94+zx_gm[=uMxZ*?W8D]"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[Uk;e;DOX;r`Uk17Houj"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=")}ROXL1Z=F|l]fdcHJlE"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="PxVqPvYC}fOy1wqQ(4k-"> <field name="TEXT">WP_Tagesverbrauch_0: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="Uev#X0kx|nb%N})EH}F("> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> </block> </value> </block> </value> <next> <block type="debug" id="aM?Py%V%;^n20PD}F_U,"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=",]6U*:#ZRd`6KVEv4Ah~"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=".?]1hQk0FTk*PM4|S0lu"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id=";D#8,.Mp3qP585Y[3NFg"> <field name="TEXT">WP_Tagesverbrauch_1: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="j-(Ndx^}u,(=2C|66ckm"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_1</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>Die dazugehörige Log-Datei sieht wie folgt aus:
02.11.2020:2020-11-03 00:00:00.020 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert alt:177.22 2020-11-03 00:00:00.028 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert aktuell:304.98 2020-11-03 00:00:00.029 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Ergebnis: 127.76 2020-11-03 00:00:00.029 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_0: 177.22 2020-11-03 00:00:00.030 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_1: 126.1101.11.2020:
2020-11-01 00:00:00.022 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert alt:174.58 2020-11-01 00:00:00.028 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert aktuell:300.69 2020-11-01 00:00:00.030 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Ergebnis: 126.11 2020-11-01 00:00:00.030 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_0: 174.58 2020-11-01 00:00:00.031 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_1: 122.95Irgendwie bin ich mir fast sicher, dass der Fehler total banal ist. Ich komm aber einfach nicht drauf....
Danke für die Hilfe!
BG Maximilian
-
Hallo Zusammen,
ich möchte gerne den Tagesstromverbrauch meiner Wärmepumpe in einem Säulendiagramm speichern. Dazu soll jeden Tag um Mitternacht, der jeweilige Tagesverbrauch errechnet werden.
Die Daten kommen in diesem Fall von einem Shelly 3EM.
Mein Problem ist, dass das Skript nicht das macht, was soll. Es kommen irgendwie sinnlose Werte dabei raus.
Im folgenden die exportierten Blöcke:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</variable> <variable id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</variable> <variable id="MUHR(G41{]}v@c(DTsq-">Ergebnis</variable> </variables> <block type="create" id="DL8pvP(/uuTf[,TD-IJ5" x="63" y="-362"> <field name="NAME">WP_Tagesverbrauch_0</field> <value name="VALUE"> <block type="math_number" id="vzRK;wVbCl/3iof?UT-I"> <field name="NUM">0</field> </block> </value> <next> <block type="create" id="Yi+!;%+]YP3%QT2Fe!$s"> <field name="NAME">WP_Tagesverbrauch_1</field> <next> <block type="create" id="~FGXor{WsXIpt7H3/9DB"> <field name="NAME">WP_Tagesverbrauch_2</field> <next> <block type="schedule" id="|~L9c`YU)-N~O4V?zysc"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="E+Ssm]7jD{W]OV=KIDp1"> <field name="VAR" id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</field> <value name="VALUE"> <block type="get_value" id="DSJWz%x2{v$bqg}N@1^:"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> </block> </value> <next> <block type="debug" id="-:Fn#k$1[0_p:U@aHKOB"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="!vkcPC*7pwYR?_c~:)Gy"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="z/Bg|h(X5CS?AaRXRrvY"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="bZq@y~c`xPDt#UL[@.pA"> <field name="TEXT">Zählerwert alt:</field> </block> </value> <value name="ADD1"> <block type="variables_get" id=")T?pj`:8c,BRxHU)Z:fa"> <field name="VAR" id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</field> </block> </value> </block> </value> <next> <block type="variables_set" id="gi*z!nJu-@w3%]Qk)exf"> <field name="VAR" id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</field> <value name="VALUE"> <block type="get_value" id="UN.yZ{D{Tf88f:f[;Y_Z"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHEM-3#68C63AFB3314#1.Total.ConsumedPower</field> </block> </value> <next> <block type="debug" id="Figt$o2J@ua[[4DC~?$~"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="j*zvqB0}Oj~KvQU/Z_5y"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="E30:I.$JF.O6Uq*w4Pp;"> <field name="TEXT">Zählerwert aktuell:</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="s-|rkEf[HdK=s5CD:[6."> <field name="VAR" id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</field> </block> </value> </block> </value> <next> <block type="control" id="tfW:P`/V@=:ZpbdqH?%C"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.WP_Tagesverbrauch_2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="!!a}0`0da}CghR}vJ16R"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_1</field> </block> </value> <next> <block type="control" id="^KMnZC|c%o]lHJGBh]uI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.WP_Tagesverbrauch_1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="de:v-ss4IAMU3LK~/NpT"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> </block> </value> <next> <block type="variables_set" id="))!?wz_R{f3b?$-L#.n~"> <field name="VAR" id="MUHR(G41{]}v@c(DTsq-">Ergebnis</field> <value name="VALUE"> <block type="math_rndfixed" id="pleU`Z|R:fsf4okyv_[L"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="YFMMwG0F^)!|)v7DB{Bs"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="co(W`9Z~BfjveTzy|O6E"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="F@(+^S%hRmTh;53;6lXN"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="732OGk%FZJLQXv5Wyf6#"> <field name="VAR" id="djeBD%2K/Tu_7UM)XVmz">Zaehler_aktuell</field> </block> </value> <value name="B"> <shadow type="math_number" id="Dc)8w~SxjHyCc})kN.iH"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="B^(UzzY]f4/LQ$b$sNR^"> <field name="VAR" id="+c;[B`+y6S)=?4uo~1eT">Zahler_alt</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="o:WI/xoF{X^A?!BH1y])"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="8(0v)c=pb$bvkdL8^KqH"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="{G(Fapi|xpAzzu4Z}m1}"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="HFjr8YXS5(X41dAi4v?T"> <field name="TEXT">Ergebnis: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=",z8smMx+!_TP:99$+NJ2"> <field name="VAR" id="MUHR(G41{]}v@c(DTsq-">Ergebnis</field> </block> </value> </block> </value> <next> <block type="control" id="eJFD%]trWZ-)8TPBqrH)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="wh$blJ4a)/2ZNm9;bQBm"> <field name="VAR" id="MUHR(G41{]}v@c(DTsq-">Ergebnis</field> </block> </value> <next> <block type="debug" id="94+zx_gm[=uMxZ*?W8D]"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[Uk;e;DOX;r`Uk17Houj"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=")}ROXL1Z=F|l]fdcHJlE"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="PxVqPvYC}fOy1wqQ(4k-"> <field name="TEXT">WP_Tagesverbrauch_0: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="Uev#X0kx|nb%N})EH}F("> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_0</field> </block> </value> </block> </value> <next> <block type="debug" id="aM?Py%V%;^n20PD}F_U,"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=",]6U*:#ZRd`6KVEv4Ah~"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=".?]1hQk0FTk*PM4|S0lu"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id=";D#8,.Mp3qP585Y[3NFg"> <field name="TEXT">WP_Tagesverbrauch_1: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="j-(Ndx^}u,(=2C|66ckm"> <field name="ATTR">val</field> <field name="OID">javascript.0.WP_Tagesverbrauch_1</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>Die dazugehörige Log-Datei sieht wie folgt aus:
02.11.2020:2020-11-03 00:00:00.020 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert alt:177.22 2020-11-03 00:00:00.028 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert aktuell:304.98 2020-11-03 00:00:00.029 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Ergebnis: 127.76 2020-11-03 00:00:00.029 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_0: 177.22 2020-11-03 00:00:00.030 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_1: 126.1101.11.2020:
2020-11-01 00:00:00.022 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert alt:174.58 2020-11-01 00:00:00.028 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Zählerwert aktuell:300.69 2020-11-01 00:00:00.030 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: Ergebnis: 126.11 2020-11-01 00:00:00.030 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_0: 174.58 2020-11-01 00:00:00.031 - info: javascript.0 (40551) script.js.Tagesverbrauch_WP: WP_Tagesverbrauch_1: 122.95Irgendwie bin ich mir fast sicher, dass der Fehler total banal ist. Ich komm aber einfach nicht drauf....
Danke für die Hilfe!
BG Maximilian
@wolkenschaufler sagte:
Es kommen irgendwie sinnlose Werte dabei raus.
Die Variable Zahler_alt wird falsch gesetzt, sie muss auf den Zählerstand um Mitternacht gesetzt werden.
-
@wolkenschaufler sagte:
Es kommen irgendwie sinnlose Werte dabei raus.
Die Variable Zahler_alt wird falsch gesetzt, sie muss auf den Zählerstand um Mitternacht gesetzt werden.
@paul53 Du speicherst den aktuellen Zählerstand vor dem CRON-Job - warum? Bzw wann führt er diesen dann aus? Doch nur beim initialisieren des Scripts oder?
Ich versteh immer noch nicht, warum mein Script nicht funktioniert hat. Kannst du mir das erklären?
Danke.
VG Maximilian
-
@paul53 Du speicherst den aktuellen Zählerstand vor dem CRON-Job - warum? Bzw wann führt er diesen dann aus? Doch nur beim initialisieren des Scripts oder?
Ich versteh immer noch nicht, warum mein Script nicht funktioniert hat. Kannst du mir das erklären?
Danke.
VG Maximilian
@wolkenschaufler sagte:
Kannst du mir das erklären?
@paul53 sagte in Tagesstromverbrauch mit Blockly ermitteln:
sie muss auf den Zählerstand um Mitternacht gesetzt werden.
Tagesverbrauch = Zählerstand heute - Zählerstand gestern,
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden