Zählerstände visualisieren
-
@liv-in-sky
Vielen Dank das probiere ich heute Abend mal aus -
denkst du an sowas?
-
hier das script dazu - die 3 datenpunkte musst du im script einstellen - die sind ja bei dir wo anders (rote pfeile)
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="C|7Hvj}4:d28m!2G/^3_">JsonData</variable> <variable id=",V0`HHOB)Lc;lP).fRvo">myValue</variable> <variable id="g.W8ouD}/|D}4#_A{x(u">myDifferenz</variable> <variable id="C`+9GusIciON]M$;#$#_">myDate</variable> <variable id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</variable> <variable id="PrPY;|4]dTeDTohPAkR{">myStromJSON</variable> </variables> <block type="on" id="rcACyBS(G!|NdQNWe)C;" x="162" y="87"> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.INPUTStromDaten</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="3=3*TU+K_,REP^M(Vl3U"> <value name="IF0"> <block type="logic_compare" id="$fsm/=HJxlO*-9=.E5hb"> <field name="OP">GT</field> <value name="A"> <block type="math_arithmetic" id="v7D2tTTRF*Cu$AwpoQtw"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="3?+n^Ih.`{E_t+R3-BDJ"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="9W/8?:n3GI(zWUY^dSwe"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="TYoviIg254:jv-n2bx3R"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ViW]2wGopV0g[^gG4TMN"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> <value name="VALUE"> <block type="math_arithmetic" id="5zSzHd)5^+}L5eDEjyb;"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="[cO`N[AJMN,6T5j)aU~/"> <field name="NUM">1</field> </shadow> <block type="on_source" id="S3IqN1?B-Z]}E}xQO;;d"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="+n6r+4w8O*B}BL`-@[`G"> <field name="NUM">1</field> </shadow> <block type="on_source" id="Q{Q**6d|LZ!rhA0T4n[T"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> <next> <block type="control" id="/(lOdH2ztOzoS=*_{+Xq"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.MONATDIFFERENZStromDaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="1ilSv(6Ah[W}E{X3Qipn"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> </block> </value> <next> <block type="controls_if" id="EigRd/}$;oZLSw]nCX]#"> <mutation elseif="1" else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="}Ujo_hAP=uA`}Bu@`$q-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="#FUW9p(htE[3@kv0tEHP"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten</field> </block> </value> <value name="B"> <block type="text" id="Wga1jL[#zr1u2.k|Xd)6"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="wEMzZ3{_2yo[u0TWOt^^"> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> <value name="VALUE"> <block type="lists_create_with" id="[dAAJhx~-q(EW1.bE?I6"> <mutation items="0"></mutation> </block> </value> <next> <block type="procedures_callnoreturn" id="uR=ST{sOX9ubJ_zkM0~U"> <mutation name="jsonFunc"></mutation> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="K9{n^%.8ZjuL7$U0BkI*"> <field name="OP">GT</field> <value name="A"> <block type="lists_length" id="=7AG(6y*9GZ;TGxk=GT+"> <value name="VALUE"> <block type="convert_json2object" id="uue^mgV@O{SxLzXk4R={"> <value name="VALUE"> <block type="get_value" id="bL0lFl6bBF*w40a90ax:"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="QtlW?tFQjkYKN{zIwwKH"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="L.Ivc)I@m*}Ym)ib3^+("> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> <value name="VALUE"> <block type="convert_json2object" id="1RN3o-a`SZ_C(Ne0}qe,"> <value name="VALUE"> <block type="get_value" id="P#f%bsw^49^d}{.l1o]d"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="{,Z8M]n@%QKABA^$Vh|w"> <mutation name="jsonFunc"></mutation> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="##63#tSuc%.cxkYGQ0Pn"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="$@=T!+1Jt|^M9p^}Le}5"> <field name="TEXT">beim Stromzähler stimmt was nicht</field> </shadow> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_defcustomreturn" id="-dj~-jKd1)aXigrUB7Nn" x="687" y="113"> <mutation statements="false"> <arg name="JsonData" varid="C|7Hvj}4:d28m!2G/^3_"></arg> <arg name="myValue" varid=",V0`HHOB)Lc;lP).fRvo"></arg> <arg name="myDifferenz" varid="g.W8ouD}/|D}4#_A{x(u"></arg> <arg name="myDate" varid="C`+9GusIciON]M$;#$#_"></arg> </mutation> <field name="NAME">makeJSON</field> <field name="SCRIPT">DQoNCkpzb25EYXRhLnB1c2goew0KICAgICJEYXR1bSI6bXlEYXRlLA0KICAgICJWZXJicmF1Y2hNb25hdCI6bXlEaWZmZXJlbnosDQogICAgIkFiZ2VsZXNlbmVyV2VydCI6bXlWYWx1ZSwNCiAgICAiVGltZXN0YW1wIjogRGF0ZS5ub3coKQ0KfSkNCg0KcmV0dXJuIEpzb25EYXRhOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defnoreturn" id="4!+9YQ-Yv-QN$!yE=,7A" x="438" y="588"> <field name="NAME">jsonFunc</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="=:2:b@-tOR+A#7V*Fyr("> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_object2json" id="l$_p|jf-I=k!`m$Qs0`i"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="uEYJ_Wd^X3r5BSd;@[y8"> <mutation name="makeJSON"> <arg name="JsonData"></arg> <arg name="myValue"></arg> <arg name="myDifferenz"></arg> <arg name="myDate"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="hti91V)gqt|DGi|Bc1x0"> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> </block> </value> <value name="ARG1"> <block type="get_value" id="eJWw#gmXkOXg($O2xgN1"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.CONTROL-OWN.STROMZÄHLER.INPUTStromDaten</field> </block> </value> <value name="ARG2"> <block type="variables_get" id="E%aqp.%6.G@u7p8%M`IY"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> </block> </value> <value name="ARG3"> <block type="convert_from_date" id="aT54!grlK95Q3-xCm@Dh"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm</field> <value name="VALUE"> <block type="time_get" id="9I2c^oos%BBJ2J(KK4lj"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </statement> </block> </xml>
-
und das input und json widget - das json ist von inventwo widgets - das muss du installiert haben - auch hier die dp angleichen
[{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"10","iTableRefreshRate":"0","iTblSortOrder":"desc","iColCount":"3","iColShow1":"true","iTblHeadTextAlign1":"center","iTblTextAlign1":"center","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#333333","iTblRowUnevenColor":"#343829","iTblHeaderColor":"#333333","iRowSpacing":"10","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten","iTblShowHead":true,"iColShow2":"true","iTblHeadTextAlign2":"center","iTblTextAlign2":"center","iTblCellFormat2":"normal","iTblCellImageSize2":"200","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":"true","iTblHeadTextAlign3":"center","iTblTextAlign3":"center","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":"false","iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iTblSortAttr":"Timestamp","iHorScroll":false,"iVertScroll":true},"style":{"left":"948px","top":"636px","width":"593px","height":"220px","border-width":"1px","border-style":"solid","border-color":"#20f824","border-radius":"15px"},"widgetSet":"vis-inventwo"},{"tpl":"tplJquiInput","data":{"oid":"0_userdata.0.CONTROL-OWN.STROMZÄHLER.INPUTStromDaten","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","label":"Input","digits":"0","size":"10","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"919px","top":"558px"},"widgetSet":"jqui"}]
-
Vielen Dank für deine Mühe
Das Input über die VIS funktioniert auch perfekt
Auch das eintragen der Differenz in den DP klappt
Aber dann beim JSON bringt er mir einen FehlerFehler:
javascript.0 2022-09-30 06:16:17.983 error at processImmediate (node:internal/timers:466:21) javascript.0 2022-09-30 06:16:17.982 error at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56) javascript.0 2022-09-30 06:16:17.982 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:596:29) javascript.0 2022-09-30 06:16:17.982 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1214:38) javascript.0 2022-09-30 06:16:17.982 error at Object.<anonymous> (script.js.030-Allgemeines.Zählerstände.Zählerstand_-_Strom:32:149) javascript.0 2022-09-30 06:16:17.982 error script.js.030-Allgemeines.Zählerstände.Zählerstand_-_Strom: TypeError: Cannot read properties of null (reading 'length')
Mein DP für das JSON sieht so aus
{ "common": { "name": "JSONStromDaten", "type": "string", "read": true, "write": true, "role": "state", "smartName": false }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1664509310320, "_id": "0_userdata.0.07_Zaehlerstände.Strom.JSONStromDaten", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Ich lege den DP mit diesem Skript an
// DP Strom createState('0_userdata.0.07_Zaehlerstände.Strom.Input', {'name':'InputStromDaten', 'type':'number', 'read':true, 'write':true, 'role':'state', "smartName": false }); createState('0_userdata.0.07_Zaehlerstände.Strom.DifferenzLastMonth', {'name':'Differenz zum letzten monat', 'type':'number', 'read':true, 'write':true, 'role':'state', "smartName": false }); createState('0_userdata.0.07_Zaehlerstände.Strom.JSONStromDaten', {'name':'JSONStromDaten', 'type':'string', 'read':true, 'write':true, 'role':'state', "smartName": false });
Siehst du da einen Fehler?
Danke für deine Hilfe -
@wszene nur kurz - muss leider gleich los
stelle sicher - also das script kurz pausieren - dass in den nummern-datenpunkte eine 0 steht und im string-datenpunkt kein string drin ist - auch kein leerzeichen
dann script starten und einmal einen wert eingeben
-
@liv-in-sky
Ich habe mal das Skript gestopt
Dann in alle DPs 0 eingetragen
dann das Skript gestartet
einen Wert eingegebenNun kommt
06:28:25.351 warn javascript.0 (434) script.js.030-Allgemeines.Zählerstände.Zählerstand_-_Strom: beim Stromzähler stimmt was nicht
Es muss auch nicht jetzt sein
Ich muss auch gleich los -
@wszene übers wochenende bekommen wir das zum laufen
-
die warnung kommt eigentlich, wenn im json-datenpunkt (string-dp) - beim ersten mal eingeben - etwas steht- nur wenn da nichts drinsteht, funktioniert das erste mal
ab dann wird dort ein json gesichert und das script weiß was zu tun ist
also bitte nochmal script stoppen /pausieren - zahlen-datenpunkte mit 0 beschreiben und im string-datenpunkt reinklicken und alles löschen
-
Moin
ich hänge mich mal hier mit dran da ich genau das selbe vor habe.Die Datenpunkte wurde durch das Skript erstellt.
In dem Skript selber habe ich die Anpassungen vorgenommen.
Aber in dem Widget wird nichts angezeigt.
Ich habe da nicht wirklich die Ahnung von ... ich habe mehr Ahnung von Copy/PasteWo hängt es denn bei mir ?
Irgendwo müssen die Werte ja in eine Tabelle rein ... oder ???Danke
-
hast du das gemacht - sonst geht es nicht beim ersten mal
-
@liv-in-sky
ja das hatte ich. -
lust auf anydesk session ?
-
ich würde es gerne sehen, da ich mein script schon x-mal resettet habe und es immer funktioniert - nur bei euch beiden klappt es nicht
-
-
schau mal in den chat
-
ich überarbeite das script nochmal - beim ersten wert ist immer die referenz falsch, daher ist der erste wert zu groß
wird so aussehen
ich poste das script morgen
das balken widget gibt es auch dazu - material design widgets muss dafür installiert sein
-
@liv-in-sky ok...
-
habe neue version des scriptes:
- es gibt insgesamt 5 datenpunkte, die von euch angelegt werden müssen - die JSON datenpunkte müssen vom Typ string sein, die anderen vom type number
- die dp-id's müssen dann ins script eingetragen werden !! (roter pfeil) - das hilft etwas, wenn man mehrere scripte am laufen hat (strom, gas,..)
- ebenso der ausgangspunkt (blauer pfeil)- da wir die differenz anzeigen, muss der erste wert eine richtige referenz bekommen.
- auch der preis pro einheit (orange)
- und die anzahl der zu sehenden balken im diagramm(schwarzer pfeil)
- der wert, der im input widget eingegeben wird, muss immer größer sein, als der vorherige !
- zusätzlich zu dem balkendiagramm, sollte man das ganze noch in der history loggen - zur sicherheit der daten - besonders den dp mit der json tabelle
- bei einer fehleingabe: es kann das json für die tabelle direkt im datenpunkt geändert werden
das script resetten:
setzt man den wert im folgenden bilds auf true und speichert das script und setzt ihn anschliessend wieder auf false und speichert wieder , sind alle daten gelöscht !!!! und man beginnt von vorne mit der eingabe - die tabelle mit all den daten ist dann WEG - daher immer über die history (influx,sql) sichern - oder vorher den wert des datenpunktes koperen und irgendwo speichern
hier nun das blockly script:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="C|7Hvj}4:d28m!2G/^3_">JsonData</variable> <variable id=",V0`HHOB)Lc;lP).fRvo">myValue</variable> <variable id="g.W8ouD}/|D}4#_A{x(u">myDifferenz</variable> <variable id="C`+9GusIciON]M$;#$#_">myDate</variable> <variable id="7U~MWL[kr+7LviVI)1{w">preisMyEinheit</variable> <variable id="~$fPv%Kyw)rO::w-m?E$">howMuchEntries</variable> <variable id="PrPY;|4]dTeDTohPAkR{">myStromJSON</variable> <variable id="QA8t!{GsE8j]Pvl#UHSM">anzahlMyBalken</variable> <variable id="^!A6]jY#f3XzB0]GQ~wv">differenz-DP</variable> <variable id="7w@gB$l[Mlki0afmB2+M">AusgangsWert-DP</variable> <variable id="=66FKd/y?5PF~?B@N:sP">jsonGraph-DP</variable> <variable id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</variable> <variable id=",%k:F-/2F#$2@[S,BdfF">anzahlBalken</variable> <variable id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</variable> <variable id="N,ovEQDxsG~o=7a~[]FI">preisProEinheit</variable> <variable id="U`P$=S|1L/AFeLiCdNoQ">entriesTable</variable> <variable id="-o}80PkV@Uu+dTj8JK}0">inputWert-DP</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="IBBK#/gbAVL^jJsrHB*k" x="12" y="-313"> <field name="COMMENT">diese datenpunkte anlegen !!!!!!</field> <next> <block type="variables_set" id="B/@z{z1}j8-8J[g)9,F5"> <field name="VAR" id="^!A6]jY#f3XzB0]GQ~wv">differenz-DP</field> <value name="VALUE"> <block type="text" id="K]yM7r|%^_u#4wWb`3Yh"> <field name="TEXT">0_userdata.0.CONTROL-OWN.STROMZÄHLER.MONATDIFFERENZStromDaten</field> </block> </value> <next> <block type="variables_set" id="){p(FBl[TCquy#%|GeOR"> <field name="VAR" id="7w@gB$l[Mlki0afmB2+M">AusgangsWert-DP</field> <value name="VALUE"> <block type="text" id="?GdJU3=;)gjJ=MP^Lc[D"> <field name="TEXT">0_userdata.0.CONTROL-OWN.STROMZÄHLER.AusgangsWert</field> </block> </value> <next> <block type="variables_set" id="U_@cvjQ:(;J9iKy`cs/5"> <field name="VAR" id="=66FKd/y?5PF~?B@N:sP">jsonGraph-DP</field> <value name="VALUE"> <block type="text" id="zo9^*phNCg}]x!;WUOL0"> <field name="TEXT">0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONFuerGraph</field> </block> </value> <next> <block type="variables_set" id="9afZDk.1RSkGAPfc2P_!"> <field name="VAR" id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</field> <value name="VALUE"> <block type="text" id="N^!JYHJ,N,;I*{m8^u@z"> <field name="TEXT">0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten</field> </block> </value> <next> <block type="variables_set" id="i548*aorb)p8VkX/St^?"> <field name="VAR" id="-o}80PkV@Uu+dTj8JK}0">inputWert-DP</field> <value name="VALUE"> <block type="text" id="~mk{}BafnK!ZevzfZ36i"> <field name="TEXT">0_userdata.0.CONTROL-OWN.STROMZÄHLER.INPUTStromDaten</field> </block> </value> <next> <block type="comment" id="v6dN%tOrFaxbbvM3P#R@"> <field name="COMMENT">diese datenpunkte wert definieren !!!!!</field> <next> <block type="control_ex" id="2Co(O+V9Vq!tzXFX):[L"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="|%=BNFq=bW_/@%NKcoYJ"> <field name="VAR" id="7w@gB$l[Mlki0afmB2+M">AusgangsWert-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="{QN;!Qdiyeo-d)lWebGk"> <field name="NUM">28134.6</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number"> <field name="NUM">0</field> </shadow> <block type="math_number" id="/0z[]$^A3gImfghTAe}7"> <field name="NUM">0</field> </block> </value> <next> <block type="comment" id="GXb[J4PTQq+Rq=GYCTDo"> <field name="COMMENT">preisProEinheitSetzen</field> <next> <block type="variables_set" id="3;1V8XG,[OiQ~ya}Ksck"> <field name="VAR" id="N,ovEQDxsG~o=7a~[]FI">preisProEinheit</field> <value name="VALUE"> <block type="math_number" id="e%SmBuiz;;dST1d`Q,gW"> <field name="NUM">0.39</field> </block> </value> <next> <block type="comment" id="jl@P7y@Z?Awlg/`3(I:m"> <field name="COMMENT">anzahl der balken im balkendiagramm</field> <next> <block type="variables_set" id="97/Y1}t!]-+Q:1Ywm_1W"> <field name="VAR" id=",%k:F-/2F#$2@[S,BdfF">anzahlBalken</field> <value name="VALUE"> <block type="math_number" id="vx5DuZq6hyIkd,N/^:r-"> <field name="NUM">5</field> </block> </value> <next> <block type="comment" id="p:~a+!eN$I~C=F-oQ^`6"> <field name="COMMENT">bei 999999 kein limit</field> <next> <block type="variables_set" id="#acd(L~dK@/*EFyZ9J07"> <field name="VAR" id="U`P$=S|1L/AFeLiCdNoQ">entriesTable</field> <value name="VALUE"> <block type="math_number" id=".vE9.WZ090uO4,HlUDr5"> <field name="NUM">999999</field> </block> </value> <next> <block type="comment" id="BHGLyc[^,cU^jJ~p{[kM"> <field name="COMMENT">bei "wahr" werden daten zurückgesetzt</field> <next> <block type="comment" id="Q;UTLyy2d6mE6#qM*q0J"> <field name="COMMENT">außer "AusgangsWert"</field> <next> <block type="comment" id="Wb3+9gM=IEvI4%`q~kT!"> <field name="COMMENT">auf wahr setzen - script speichern</field> <next> <block type="comment" id="JT9[wzQ(,L1{raU/dCNF"> <field name="COMMENT">dann wieder auf "false" setzen</field> <next> <block type="comment" id="n$G?`bPG1{T6.U`Vu/*f"> <field name="COMMENT">dann wieder speichern</field> <next> <block type="controls_if" id="`joUQLFhXVIk@f@OOdhb"> <value name="IF0"> <block type="logic_boolean" id="Cl98utk_3$7+_x|bF40e"> <field name="BOOL">FALSE</field> </block> </value> <statement name="DO0"> <block type="control_ex" id="@0^.?OD1OKEMax76r/XO"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="m.*[c)W^VxTefM$[_aGv"> <field name="VAR" id="-o}80PkV@Uu+dTj8JK}0">inputWert-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="~$WcCIiDMjNA3rvn-H5@"> <field name="NUM">0</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="gXEb$QPue7JGCZ~wR(E/"> <field name="NUM">0</field> </shadow> <block type="math_number" id="xM^0#.D`SvfC[1$W0y3s"> <field name="NUM">0</field> </block> </value> <next> <block type="control_ex" id="s!u}1WgLe!iZV?S[BS.F"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="I[Z6Lg5+L[|z:z?Qmt!."> <field name="VAR" id="=66FKd/y?5PF~?B@N:sP">jsonGraph-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="cK=@%$vy2!p/WTPeDiD?"> <field name="TEXT">{}</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number"> <field name="NUM">0</field> </shadow> <block type="math_number" id="]?rwTGNy8MJ)Y8]{1s!j"> <field name="NUM">0</field> </block> </value> <next> <block type="control_ex" id="+w$JaHl6:B#W7EVgbMx."> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="9DaT4|.#Kp(Ij=DT4T|4"> <field name="VAR" id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="~f86`f0G_s%8(4Kl)xIF"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="3R#N$Oe@OFGhl(WluF*j"> <field name="TEXT"></field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="_Aq~4Y+S,d}tAzvv.MUS"> <field name="NUM">0</field> </shadow> <block type="math_number" id="B]Vb[HOn5;`##@P6gfmq"> <field name="NUM">0</field> </block> </value> <next> <block type="control_ex" id="9_/Pnq/NFY)@N,VP,.SR"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="M#xP@4$OZRXvbal0HSCn"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="tv-)D_/?L^yT,Oz2vVlM"> <field name="VAR" id="^!A6]jY#f3XzB0]GQ~wv">differenz-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="05QwkSlg*9vXbg5Zh/1:"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="CIAjTQq$6RT6:D:#i9J-"> <field name="NUM">0</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="{B:Joj8xSESj|=jvXOAS"> <field name="NUM">0</field> </shadow> <block type="math_number" id="Z+tF)6N[LYLMR6Xg8$yr"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="PDmK@1JoBw#1^VyNI$YM"> <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="B[_i##}%Tqcm!*Ps{3G#"> <field name="oid">default</field> </shadow> <block type="variables_get" id="g?.j)zcLVo0~box?-a-`"> <field name="VAR" id="-o}80PkV@Uu+dTj8JK}0">inputWert-DP</field> </block> </value> <statement name="STATEMENT"> <block type="timeouts_settimeout" id="n1%@TqD7D)$uC,oaMfSj"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="3=3*TU+K_,REP^M(Vl3U"> <value name="IF0"> <block type="logic_compare" id="$fsm/=HJxlO*-9=.E5hb"> <field name="OP">GT</field> <value name="A"> <block type="math_arithmetic" id="v7D2tTTRF*Cu$AwpoQtw"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="3?+n^Ih.`{E_t+R3-BDJ"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="9W/8?:n3GI(zWUY^dSwe"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="TYoviIg254:jv-n2bx3R"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="EigRd/}$;oZLSw]nCX]#"> <mutation elseif="1" else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="}Ujo_hAP=uA`}Bu@`$q-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="?c;rhJu{bc=oUKEZpjbk"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="+}ea1q6U_g^=2D2:wEbL"> <field name="VAR" id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="Wga1jL[#zr1u2.k|Xd)6"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="YPD9ey#Kic}HdrXOz(kI"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> <value name="VALUE"> <block type="math_arithmetic" id="*xKw:UU^H7kGO34Os+]Y"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="}=^vH@]*i:GC-TvAS1Tw"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="x!D2]LUBf4w.)IC*d]CU"> <field name="NUM">1</field> </shadow> <block type="get_value_var" id="Us#XusmVp@xfIt-R*gM7"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="k@hy$RX.d83:M]{%]EDW"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="o=7tucO3L)c-_5DIl]hd"> <field name="VAR" id="7w@gB$l[Mlki0afmB2+M">AusgangsWert-DP</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="wEMzZ3{_2yo[u0TWOt^^"> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> <value name="VALUE"> <block type="lists_create_with" id="[dAAJhx~-q(EW1.bE?I6"> <mutation items="0"></mutation> </block> </value> <next> <block type="control_ex" id="JUo`[3o$x[+piO8`zo]A"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="8g{gAGWRwO~qxVqS}J)y"> <field name="VAR" id="^!A6]jY#f3XzB0]GQ~wv">differenz-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="{Q1(^j=EhXkU3Lw7otg:"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="14eNmBGr.C#aE}kg_ija"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="uR=ST{sOX9ubJ_zkM0~U"> <mutation name="jsonFunc"></mutation> <next> <block type="procedures_callnoreturn" id="fHaB@#mq%*i%]=cI=`Gc"> <mutation name="objectFunc"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="K9{n^%.8ZjuL7$U0BkI*"> <field name="OP">GT</field> <value name="A"> <block type="lists_length" id="=7AG(6y*9GZ;TGxk=GT+"> <value name="VALUE"> <block type="convert_json2object" id="uue^mgV@O{SxLzXk4R={"> <value name="VALUE"> <block type="get_value_var" id="Z4YXFUC`aBQI%d3;4PIv"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="-;}?5zw1FAC?5H=!lP`M"> <field name="VAR" id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="QtlW?tFQjkYKN{zIwwKH"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="s7`fX10zMp_9|-jCy*$#"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> <value name="VALUE"> <block type="math_arithmetic" id="ggOLCnrrxc9qXbUHMU,x"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="j(Jep6+EXxJDSVoz`U_-"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="S=0:|QYL-$Aj3|m8|E}j"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> <next> <block type="variables_set" id="L.Ivc)I@m*}Ym)ib3^+("> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> <value name="VALUE"> <block type="convert_json2object" id="1RN3o-a`SZ_C(Ne0}qe,"> <value name="VALUE"> <block type="get_value_var" id="+:3os^?!Znc3Ta%L11JR"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="k+w8XJkDjENcfh5M4YcZ"> <field name="VAR" id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</field> </block> </value> </block> </value> </block> </value> <next> <block type="control_ex" id="+hVcJl6]m#H$3t?y@A*q"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="1D{$2U?;_H]=r+P(O$Rs"> <field name="VAR" id="^!A6]jY#f3XzB0]GQ~wv">differenz-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="0*-cc:aPJh:hJa7=C$vo"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="OnS?DYzC(_`]qrC6mGyU"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="{,Z8M]n@%QKABA^$Vh|w"> <mutation name="jsonFunc"></mutation> <next> <block type="procedures_callnoreturn" id="@5z,g~O-:+wz0Z-2pDj1"> <mutation name="objectFunc"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="##63#tSuc%.cxkYGQ0Pn"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="$@=T!+1Jt|^M9p^}Le}5"> <field name="TEXT">beim Stromzähler stimmt was nicht</field> </shadow> </value> </block> </statement> </block> </statement> </block> </statement> </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> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defcustomreturn" id="-dj~-jKd1)aXigrUB7Nn" x="587" y="138"> <mutation statements="false"> <arg name="JsonData" varid="C|7Hvj}4:d28m!2G/^3_"></arg> <arg name="myValue" varid=",V0`HHOB)Lc;lP).fRvo"></arg> <arg name="myDifferenz" varid="g.W8ouD}/|D}4#_A{x(u"></arg> <arg name="myDate" varid="C`+9GusIciON]M$;#$#_"></arg> <arg name="preisMyEinheit" varid="7U~MWL[kr+7LviVI)1{w"></arg> <arg name="howMuchEntries" varid="~$fPv%Kyw)rO::w-m?E$"></arg> </mutation> <field name="NAME">makeJSONTable</field> <field name="SCRIPT">DQoNCkpzb25EYXRhLnB1c2goew0KICAgICJEYXR1bSI6bXlEYXRlLA0KICAgICJWZXJicmF1Y2hNb25hdCI6TWF0aC5yb3VuZChteURpZmZlcmVueioxMCkvMTAsDQogICAgIkFiZ2VsZXNlbmVyV2VydCI6bXlWYWx1ZSwNCiAgICAiVGltZXN0YW1wIjogRGF0ZS5ub3coKSwNCiAgICAiUHJlaXMiOiAgTWF0aC5yb3VuZChwcmVpc015RWluaGVpdCpteURpZmZlcmVueioxMDApLzEwMA0KfSkNCg0KaWYgKGhvd011Y2hFbnRyaWVzPDk5OTk5OSkgew0KICAgaWYoSnNvbkRhdGEubGVuZ3RoID4gaG93TXVjaEVudHJpZXMpIEpzb25EYXRhLnNoaWZ0KCk7IH0vLyBtYXguIHggWmVpbGVuIA0KcmV0dXJuIEpzb25EYXRhOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="|~(06FvVEu(8KG323^j}" x="588" y="162"> <mutation statements="false"> <arg name="myStromJSON" varid="PrPY;|4]dTeDTohPAkR{"></arg> <arg name="anzahlMyBalken" varid="QA8t!{GsE8j]Pvl#UHSM"></arg> </mutation> <field name="NAME">makeObjectGraph</field> <field name="SCRIPT">DQoNCmxldCBheGlzTGFiZWw7DQpsZXQgdGhlR3JhcGhPYmplY3Q9e307DQpsZXQgdGhlR3JhcGhKU09OeT1bXTsNCmxldCB0aGVHcmFwaEpTT054PVtdOw0KbGV0ICAgYW56YWhsQmVyZWNobmVuOw0KaWYobXlTdHJvbUpTT04ubGVuZ3RoLWFuemFobE15QmFsa2VuPjApIHthbnphaGxCZXJlY2huZW49bXlTdHJvbUpTT04ubGVuZ3RoLWFuemFobE15QmFsa2VufSBlbHNle2FuemFobEJlcmVjaG5lbj0wfQ0KZm9yIChsZXQgaT1hbnphaGxCZXJlY2huZW47aTxteVN0cm9tSlNPTi5sZW5ndGg7aSsrKXsNCiAvLyAgdGhlR3JhcGhKU09OeC5wdXNoKGZvcm1hdERhdGUoZ2V0RGF0ZU9iamVjdChteVN0cm9tSlNPTltpXS5UaW1lc3RhbXApLCAiTU0vSkoiKSk7DQogIHRoZUdyYXBoSlNPTngucHVzaCgoWyhnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZShteVN0cm9tSlNPTltpXS5UaW1lc3RhbXApLmdldFRpbWUoKSkpIC0gMjMzMjgwMDAwMCkpLmdldE1vbnRoKCkgKyAxKSwnLycsZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZShteVN0cm9tSlNPTltpXS5UaW1lc3RhbXApLmdldFRpbWUoKSkpIC0gMjMzMjgwMDAwMCkpLCAiSkoiKV0uam9pbignJykpICk7DQp9DQoNCiBsZXQgdmFsQXJyPVtdOw0KIA0KIA0KDQpmb3IgKGxldCBpPWFuemFobEJlcmVjaG5lbjtpPG15U3Ryb21KU09OLmxlbmd0aDtpKyspew0KICAgDQogICAgdmFsQXJyLnB1c2goTnVtYmVyKG15U3Ryb21KU09OW2ldLlZlcmJyYXVjaE1vbmF0KSkNCiAgICBsZXQgY291bnRlcj1pKzE7DQoNCg0KfQ0KLy9sb2codmFsQXJyKQ0KICAgdGhlR3JhcGhKU09OeS5wdXNoKHsNCiAgICAgICAidHlwZSI6ICJiYXIiLA0KICAgICAgICJiYXJJc1N0YWNrZWQiOiBmYWxzZSwNCiAgICAgICAiZGF0YWxhYmVsX3Nob3ciOiAiYXV0byIsDQogICAgICAgInlBeGlzX2NvbG9yIjogIiNGRkZGRkYiLA0KICAgICAgICJ4QXhpc19jb2xvciI6ICIjRkZGRkZGIiwNCiAgICAgICAiY29sb3IiOiAiIzZkZDYwMCIsDQogICAgICAgInlBeGlzX21heFN0ZXBzIjo4LA0KICAgICAgICJ5QXhpc19taW5TdGVwcyI6NiwNCgkJInlBeGlzX2lkIjogMCwNCgkJImRhdGEiOiB2YWxBcnIsDQoJCSJ5QXhpc19taW4iOiAwLA0KCQkieUF4aXNfbWF4aW11bURpZ2l0cyI6NSwNCg0KICAgICAgIC8vICJkYXRhbGFiZWxfYmFja2dyb3VuZENvbG9yIjogICIjMWQ5MjJlIiwNCgkJCSJkYXRhbGFiZWxfY29sb3IiOiAiI2ZmZmZmZiIsDQoJCQkiZGF0YWxhYmVsX29mZnNldCI6IDUsDQoJCQkvLyJkYXRhbGFiZWxfZm9udEZhbWlseSI6ICJSb2JvdG9Db25kZW5zZWQtTGlnaHQiLA0KCQkJImRhdGFsYWJlbF9mb250U2l6ZSI6IDEzLA0KCQkJImRhdGFsYWJlbF9ib3JkZXJSYWRpdXMiOiA2LA0KCQkJImRhdGFsYWJlbF9zaG93IjogImF1dG8iLA0KICAgICAgICAgICAgDQoJCQ0KICAgICAgICAiZGF0YWxhYmVsX3JvdGF0aW9uIjogLTkwLy8sDQoJLy8JImRhdGFsYWJlbF9jb2xvciI6ICJsaWdodGdyZWVuIg0KICAgICAgICB9KQ0KICAgICAgICANCnRoZUdyYXBoT2JqZWN0PXsiYXhpc0xhYmVscyI6dGhlR3JhcGhKU09OeCwNCiAgICAgICAgICAgICAgICAiZ3JhcGhzIjogdGhlR3JhcGhKU09OeQ0KfQ0KDQoNCnJldHVybiBKU09OLnN0cmluZ2lmeSh0aGVHcmFwaE9iamVjdCk7DQoNCg0K</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defnoreturn" id="Q8h+XqHkQktzY8CbVJM;" x="587" y="262"> <field name="NAME">objectFunc</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control_ex" id="4S_0l*~Rx3jx?Ib5mqDS"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="K.+1=3!+R,7UlM`44K9h"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="Wd]6dZ!TLToAKEf/fSIX"> <field name="VAR" id="=66FKd/y?5PF~?B@N:sP">jsonGraph-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="}Nd-q{q:pNjw!r7qI_3j"> <field name="BOOL">TRUE</field> </shadow> <block type="procedures_callcustomreturn" id="j70*|D!s`UXSV9jH4}i["> <mutation name="makeObjectGraph"> <arg name="myStromJSON"></arg> <arg name="anzahlMyBalken"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="fk:*7igTe]Mdjem+BIEr"> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> </block> </value> <value name="ARG1"> <block type="variables_get" id="s%tS^MgcQVFBU!1c{lBo"> <field name="VAR" id=",%k:F-/2F#$2@[S,BdfF">anzahlBalken</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="..X(tI*-_0y?y,Lp?#Kv"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> <block type="procedures_defnoreturn" id="4!+9YQ-Yv-QN$!yE=,7A" x="887" y="513"> <field name="NAME">jsonFunc</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control_ex" id="#.sw^L.mHuLdGSS2ho[)"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="5EfE/TZ)^W*t-])vtrD/"> <field name="VAR" id="H~#)ub)2_REHmR+9ncx)">jsonTabelle-DP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="Po}z|LLOLd}T8R[s/mwS"> <field name="BOOL">TRUE</field> </shadow> <block type="convert_object2json" id="l$_p|jf-I=k!`m$Qs0`i"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="uEYJ_Wd^X3r5BSd;@[y8"> <mutation name="makeJSONTable"> <arg name="JsonData"></arg> <arg name="myValue"></arg> <arg name="myDifferenz"></arg> <arg name="myDate"></arg> <arg name="preisMyEinheit"></arg> <arg name="howMuchEntries"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="hti91V)gqt|DGi|Bc1x0"> <field name="VAR" id="PrPY;|4]dTeDTohPAkR{">myStromJSON</field> </block> </value> <value name="ARG1"> <block type="get_value_var" id=".3RBv9[5`52219f:P`0R"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="rmx~WoeiD/O8z(zWC.,@"> <field name="VAR" id="-o}80PkV@Uu+dTj8JK}0">inputWert-DP</field> </block> </value> </block> </value> <value name="ARG2"> <block type="variables_get" id="E%aqp.%6.G@u7p8%M`IY"> <field name="VAR" id="vjsaCA?A5Qwtuv(pC^sq">differenceLastMonth</field> </block> </value> <value name="ARG3"> <block type="text_join" id="|_F|)mGy4:_d+1JjwC6;"> <mutation items="3"></mutation> <value name="ADD0"> <block type="convert_from_date" id="Xr@5!]qVPVI2C1Wyz$Hj"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation> <field name="OPTION">Mt</field> <field name="LANGUAGE">de</field> <value name="VALUE"> <block type="math_arithmetic" id="ai|N[X`%/z:E;e%_^#Qj"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="Svc?@4`|qppHj!d49iN7"> <field name="NUM">1</field> </shadow> <block type="time_get" id="nTqy,B@z`A/TS.F2a,!Y"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="|rHf?/g645HM6XF|@Wg5"> <field name="NUM">1</field> </shadow> <block type="math_number" id="puM+08Z|hpF3gBt#psby"> <field name="NUM">2332800000</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="MAxUZID+8tI_ux~{S3!x"> <field name="TEXT"> </field> </block> </value> <value name="ADD2"> <block type="convert_from_date" id="EmF)4I#@vM6l^1l{I#Hq"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">fy</field> <value name="VALUE"> <block type="math_arithmetic" id="X))0JisbKS?y(#f2[Sk%"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="time_get" id="-}`7d66RkCFZ=Wh}}NO+"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id="NgNSjFZ{^)PbKHYCXcnS"> <field name="NUM">2332800000</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="ARG4"> <block type="variables_get" id="PENRnb~7uia5WCi]q+4_"> <field name="VAR" id="N,ovEQDxsG~o=7a~[]FI">preisProEinheit</field> </block> </value> <value name="ARG5"> <block type="variables_get" id="Ayg6JeXjBdY6.5%(u6mS"> <field name="VAR" id="U`P$=S|1L/AFeLiCdNoQ">entriesTable</field> </block> </value> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="8^[.xS;#2,Qb%?N_H_l7"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> <block type="convert_from_date" id="aT54!grlK95Q3-xCm@Dh" disabled="true" x="1287" y="937"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm</field> <value name="VALUE"> <block type="time_get" id="9I2c^oos%BBJ2J(KK4lj"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> </block> </xml>
das widget mit der tabelle (inventwo json widget muss installiert sein)
[{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"10","iTableRefreshRate":"0","iTblSortOrder":"desc","iColCount":"5","iColShow1":"true","iTblHeadTextAlign1":"center","iTblTextAlign1":"center","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#333333","iTblRowUnevenColor":"#343829","iTblHeaderColor":"#333333","iRowSpacing":"10","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONStromDaten","iTblShowHead":true,"iColShow2":"true","iTblHeadTextAlign2":"center","iTblTextAlign2":"center","iTblCellFormat2":"normal","iTblCellImageSize2":"200","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":true,"iTblHeadTextAlign3":"center","iTblTextAlign3":"center","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":"false","iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iTblSortAttr":"Timestamp","iHorScroll":false,"iVertScroll":true,"iColShow4":false,"iTblHeadTextAlign4":"center","iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholdsDp4":"","iTblCellThresholdsText4":"","iColShow5":"true","iTblHeadTextAlign5":"center","iTblTextAlign5":"center","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholdsDp5":"","iTblCellThresholdsText5":""},"style":{"left":"853px","top":"635px","width":"687px","height":"219px","border-width":"1px","border-style":"solid","border-color":"#20f824","border-radius":"15px"},"widgetSet":"vis-inventwo"}]
-
das widget mit dem balkendiagramm (material design widget muss installiert sein)
[{"tpl":"tplVis-materialdesign-Chart-JSON","data":{"oid":"0_userdata.0.CONTROL-OWN.STROMZÄHLER.JSONFuerGraph","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","chartType":"bar","backgroundColor":"#mdwTheme:vis-materialdesign.0.colors.charts.background","chartAreaBackgroundColor":"#mdwTheme:vis-materialdesign.0.colors.charts.background_chart","globalColor":"#mdwTheme:vis-materialdesign.0.colors.charts.global","titleLayout":"#mdwTheme:vis-materialdesign.0.fontSizes.card.title","titleFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.card.title","colorBackground":"#mdwTheme:vis-materialdesign.0.colors.card.background","colorTitleSectionBackground":"#mdwTheme:vis-materialdesign.0.colors.card.background_title","colorTextSectionBackground":"#mdwTheme:vis-materialdesign.0.colors.card.background_body","colorTitle":"#mdwTheme:vis-materialdesign.0.colors.card.title","showLegend":"true","legendPosition":"right","legendFontColor":"#mdwTheme:vis-materialdesign.0.colors.charts.legend","legendFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.legend","legendFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.legend","legendPointStyle":"true","showTooltip":"true","tooltipMode":"nearest","tooltipPosition":"nearest","tooltipTimeFormats":"{\"millisecond\":\"lll:ss\",\"second\":\"lll:ss\",\"minute\":\"lll\",\"hour\":\"lll\",\"day\":\"lll\",\"week\":\"lll\",\"month\":\"lll\",\"quarter\":\"lll\",\"year\":\"lll\"}","tooltipBackgroundColor":"#mdwTheme:vis-materialdesign.0.colors.charts.tooltip_background","tooltipShowColorBox":true,"tooltipTitleFontColor":"#mdwTheme:vis-materialdesign.0.colors.charts.tooltip_title","tooltipTitleFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.tooltip_title","tooltipTitleFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.tooltip_title","tooltipBodyFontColor":"#mdwTheme:vis-materialdesign.0.colors.charts.tooltip_text","tooltipBodyFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.tooltip_text","tooltipBodyFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.tooltip_text","tooltipBodyAlignment":"left","xAxisPosition":"bottom","xAxisTicksSource":"auto","xAxisTitleColor":"#mdwTheme:vis-materialdesign.0.colors.charts.x_axis_title","xAxisTitleFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.x_axis_title","xAxisTitleFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.x_axis_title","xAxisValueLabelColor":"white","xAxisValueFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.x_axis_values","xAxisValueFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.x_axis_values","xAxisDistanceBetweenTicks":"0","xAxisValueDistanceToAxis":"11","xAxisShowAxis":"true","xAxisShowAxisLabels":"true","xAxisShowGridLines":false,"xAxisGridLinesColor":"#mdwTheme:vis-materialdesign.0.colors.charts.x_axis_gridlines","xAxisShowTicks":true,"xAxisZeroLineColor":"#mdwTheme:vis-materialdesign.0.colors.charts.x_axis_zeroline","xAxisMinRotation":"0","xAxisMaxRotation":"0","yAxisTitleColor":"#mdwTheme:vis-materialdesign.0.colors.charts.y_axis_values","yAxisTitleFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.y_axis_title","yAxisTitleFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.y_axis_title","yAxisValueLabelColor":"#mdwTheme:vis-materialdesign.0.colors.charts.y_axis_values","yAxisValueFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.charts.y_axis_values","yAxisValueFontSize":"#mdwTheme:vis-materialdesign.0.fontSizes.charts.y_axis_values","yAxisValueDistanceToAxis":"16","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"debug":false,"xAxisOffset":false,"barWidth":"44","axisLabelAutoSkip":false,"xAxisTickLength":"0","tooltipXpadding":"","tooltipTitleMarginBottom":"","tooltipYpadding":"","cardUse":false,"chartPaddingTop":"40"},"style":{"left":"562px","top":"332px","width":"332px","height":"148px"},"widgetSet":"materialdesign"}]