Um diese ermittelten Daten/Werte nun auch noch in den jeweiligen Monat zu schreiben kommt dann folgende Skripterweiterung ins Spiel. Dieses Skript einfach unter das Skript von #2 anbinden!
- "Trigger"bausteine: täglich wird um 23:59:59 Uhr der Zählerstand (m³) und der Verbrauch (kWh) in die jeweilige Monatsvariable geschrieben
- dafür je 12 Variablen (12 Monate) anlegen (siehe Bild unten)
- "Variable"baustein in Blockly eine Variable "Monat" anlegen und entsprechend im Blockly einsetzen
- "Text"baustein: unter "erstelle Text aus" wird der Speicherort der angelegten 12 Variablen eingetragen -> aber ohne Monat!
- "System"bausteine: aktualisiere "Gas Zähler Monat" und "Gas Verbrauch Monat", die Variablen werden zur eingestellten Zeit mit den aktuellen Werten gefüllt
Viel Erfolg beim Erstellen eurer Verbrauchswerte!
EDIT: gesamtes Skript (Blockly):
Code
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="cron" id="schedule1">schedule1</variable>
<variable id="GXIVh/PRY.EH]Pu3f]#!">Monat</variable>
<variable type="timeout" id="timeout">timeout</variable>
<variable type="timeout" id="timeout2">timeout2</variable>
</variables>
<block type="create" id="uY)dWS0$d8.y`XEjkfma" x="-88" y="-538">
<field name="NAME">0_userdata.0.Gaszähler.ZZ_Monat</field>
<value name="VALUE">
<block type="math_number" id="stWIVd*j*X_8Q7F-H.X3">
<field name="NUM">0</field>
</block>
</value>
<value name="COMMON">
<block type="text" id="*4[geNq*mX:qnxAc%*(L">
<field name="TEXT">{"type": "number", "unit": "m³"}</field>
</block>
</value>
<next>
<block type="create" id="IM?rX[1]%qMIBmph%_Cr">
<field name="NAME">0_userdata.0.Gaszähler.Zähler_Monat</field>
<value name="VALUE">
<block type="math_number" id="FZ#;fIA1(#|qya5$AUH]">
<field name="NUM">0</field>
</block>
</value>
<value name="COMMON">
<block type="text" id="-CyH%m][-g=?+)s_x-ir">
<field name="TEXT">{"type": "number", "unit": "m³"}</field>
</block>
</value>
<next>
<block type="create" id=";!*-Nug:NwY{%F%vLJ,t">
<field name="NAME">0_userdata.0.Gaszähler.Verbrauch_Monat</field>
<value name="VALUE">
<block type="math_number" id="q#eIMGi]eo[veK3_2-)x">
<field name="NUM">0</field>
</block>
</value>
<value name="COMMON">
<block type="text" id="zrBrsW8Y4$*-1z#gbbg^">
<field name="TEXT">{"type": "number", "unit": "kWh"}</field>
</block>
</value>
<next>
<block type="comment" id=",MQf)W^(tE5`9k6LU{AR">
<field name="COMMENT">am 1. des Monats um 00:01 Uhr</field>
<next>
<block type="schedule_create" id="M]kQ{OHTi2S95oh:qafc">
<field name="NAME">schedule1</field>
<value name="SCHEDULE">
<shadow type="field_cron" id="6Y]!g72?*mn?V8j=M%nM">
<field name="CRON">1 0 1 * *</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="control" id="qMEUN1R;@~gG0uYCYT=[">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Gaszähler.ZZ_Monat</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="get_value" id="$TuXzhshP1/6VHGmwDf+">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Gaszähler.Stand</field>
</block>
</value>
</block>
</statement>
<next>
<block type="comment" id="HEL~eUp8glZk2R4x$.:F">
<field name="COMMENT">am 1. des Monats um 00:02 Uhr</field>
<next>
<block type="schedule" id="7Xz?PaiYT}Tcftz`8U}%">
<field name="SCHEDULE">2 0 1 * *</field>
<statement name="STATEMENT">
<block type="control" id="]+Rj[hJ?k?HGjs=,?)St">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Gaszähler.Zähler_Monat</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="aS@^|`2o5;He2~BFp~V=">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="control" id="e=mLRno]v{x0W-L#pz+n">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">0_userdata.0.Gaszähler.Verbrauch_Monat</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="math_number" id="O5z=o7Do{IS6=R%Y-4[#">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="bM{]aX.~E2xZxZ$LkUM@">
<field name="COMMENT">Gaszählerstansänderung</field>
<next>
<block type="on_ext" id="@l^?|zd.q(octHGW_PJ+">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="Engl8e#g,%d}GNYHe7)s">
<field name="oid">0_userdata.0.Gaszähler.Stand</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="J@h`lO$xVBn*yEtjm?Wk">
<value name="IF0">
<block type="logic_compare" id="Bose;C|:2nj0AGjcTuoe">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="NC8~gZLT7endxFS9GHDk">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="H-.Ng#qx?hhQyKepNo28">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="cMuWp2Ob)x9_{pbSR:jX" inline="false">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Gaszähler.Zähler_Monat</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_rndfixed" id="dCT{)SPt~EV)f5Ao,vn?" inline="false">
<field name="n">2</field>
<value name="x">
<shadow type="math_number" id="KQ+zG![(3#Y{}G:M2dU?">
<field name="NUM">3.1234</field>
</shadow>
<block type="math_arithmetic" id="vg-M[/-[o}Os$`6o=V6Q" inline="false">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="CZyi:?u=Tg)Y;r*%`z/6">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="tXkvy(!$MjlhZWa7hU,w">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Gaszähler.Stand</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="SamjGEgj0^w`xH{H9^3F">
<field name="NUM">28.095</field>
</shadow>
<block type="get_value" id="B0$2%GG_Xd=iqQgf5kqU">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Gaszähler.ZZ_Monat</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</statement>
</block>
</statement>
<next>
<block type="on" id="+-8[J=q56%@4}L|8K_)K">
<field name="OID">0_userdata.0.Gaszähler.Zähler_Monat</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="update" id="x8d5PV`_ka.8T^B9R_h:" inline="false">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Gaszähler.Verbrauch_Monat</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_rndfixed" id="Abvv/c2wQQRO6c;?ajsy" inline="false">
<field name="n">2</field>
<value name="x">
<shadow type="math_number" id="^-w3A*A~Rjv!$4g16JGR">
<field name="NUM">3.1234</field>
</shadow>
<block type="math_arithmetic" id="BpCJ9M%[}Yo_arjw][k9" inline="false">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id=".!WS@*dM7TS]8EK{xGz=">
<field name="NUM">1</field>
</shadow>
<block type="math_arithmetic" id="lS8D@wImx?LnMWfu8B~I" inline="false">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="35sJG+MV(O@MDSi--J1!">
<field name="NUM">1</field>
</shadow>
<block type="on_source" id="M@CRaU;X%OV1y.xDe_sL">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="uCKVE9#LXveSURb@!k;z">
<field name="NUM">0.9901</field>
</shadow>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="kMB`s0zsLutlO8ufM|~q">
<field name="NUM">28.095</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="comment" id="mU5*A=nBK=yH#t{~^n!i">
<field name="COMMENT">täglichen Zählerstand in entspr. Monat schreiben</field>
<next>
<block type="schedule" id="Bp.ppc6kcNsPv5*CpVJ/">
<field name="SCHEDULE">59 59 23 * * *</field>
<statement name="STATEMENT">
<block type="variables_set" id="INj{Xj.BUBd=mUiJ{woN">
<field name="VAR" id="GXIVh/PRY.EH]Pu3f]#!">Monat</field>
<value name="VALUE">
<block type="lists_split" id="Nyd19:cM_[8kq.`Q6,}F">
<mutation mode="SPLIT"></mutation>
<field name="MODE">SPLIT</field>
<value name="INPUT">
<block type="time_get" id="z?[s9,!`eodB4Q1$~[fJ">
<mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation>
<field name="OPTION">Mt</field>
<field name="LANGUAGE">de</field>
</block>
</value>
<value name="DELIM">
<shadow type="text" id="-r3kl2BSiYm#d#wi,$bg">
<field name="TEXT">,</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="timeouts_settimeout" id="3uV0g;2+J44]2fHRiIbY">
<field name="NAME">timeout</field>
<field name="DELAY">500</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="control_ex" id="YjVr;kmpsjcCTwq!Y90a">
<field name="TYPE">true</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="OID">
<shadow type="field_oid" id="V;?%E{~)~rFUsv5MG.GY">
<field name="oid">Object ID</field>
</shadow>
<block type="text_join" id="!DEISz7d!?/Lgbei3G3[">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text" id="{jYemK!cb%QP(ke;TJW+">
<field name="TEXT">0_userdata.0.Gaszähler.Gasmonatszähler.Zähler_</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="0$JErFVebM9Yt}i#(VBR">
<field name="VAR" id="GXIVh/PRY.EH]Pu3f]#!">Monat</field>
</block>
</value>
</block>
</value>
<value name="VALUE">
<shadow type="logic_boolean" id=")7{;[ED:+yu_r@|zd:PI">
<field name="BOOL">TRUE</field>
</shadow>
<block type="get_value" id="tC/D|l|0HQY[7m-spVA;">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Gaszähler.Zähler_Monat</field>
</block>
</value>
<value name="DELAY_MS">
<shadow type="math_number" id="%AMGAf21a3H.niOs?*8m">
<field name="NUM">0</field>
</shadow>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="9zILKE77x/aOM%oH+v$[">
<field name="COMMENT">täglichen Verbrauch in entspr. Monat schreiben</field>
<next>
<block type="schedule" id="|DtC=AS04ZqU)1w58L#(">
<field name="SCHEDULE">59 59 23 * * *</field>
<statement name="STATEMENT">
<block type="variables_set" id="%ZJQ$1FWcfpHgS^XJAA6">
<field name="VAR" id="GXIVh/PRY.EH]Pu3f]#!">Monat</field>
<value name="VALUE">
<block type="lists_split" id="DFB3pTqQrEpLH_ctH!3s">
<mutation mode="SPLIT"></mutation>
<field name="MODE">SPLIT</field>
<value name="INPUT">
<block type="time_get" id="3uCFx_EZbZ0ob=Jp[eBH">
<mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation>
<field name="OPTION">Mt</field>
<field name="LANGUAGE">de</field>
</block>
</value>
<value name="DELIM">
<shadow type="text" id="lT!5e0=zn4Tz2~X)wzQo">
<field name="TEXT">,</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="timeouts_settimeout" id="=x-E(^q@u3sl+b3cH~8A">
<field name="NAME">timeout2</field>
<field name="DELAY">800</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="control_ex" id="*wSHU|=S/=CP`8o1A%s_">
<field name="TYPE">true</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="OID">
<shadow type="field_oid" id="[YHsXA/1[RIB!p{OooV-">
<field name="oid">Object ID</field>
</shadow>
<block type="text_join" id="mv+CY_izUAz9snnrLL6M">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text" id=".7!@%^.CD9%_FOu|]M#v">
<field name="TEXT">0_userdata.0.Gaszähler.Gasmonatsverbrauch.Verbrauch_</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="_Gn*c52#?[::m::|YZ!t">
<field name="VAR" id="GXIVh/PRY.EH]Pu3f]#!">Monat</field>
</block>
</value>
</block>
</value>
<value name="VALUE">
<shadow type="logic_boolean" id="yX9d2lCp5Z2f!)lD-(=9">
<field name="BOOL">TRUE</field>
</shadow>
<block type="get_value" id="k,M$l}S1O(VU4;eMM$Z0">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Gaszähler.Verbrauch_Monat</field>
</block>
</value>
<value name="DELAY_MS">
<shadow type="math_number" id="oGZ+y])2G%)gSukB~f~P">
<field name="NUM">0</field>
</shadow>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
Alles anzeigen