NEWS
PV Strom Aufteilung
-
@marco-willi
nur kurz:
die "Kasse" wäre der negative Zählerstand.Aber noch mehr Gedanken dazu.
Zähler 1 bleibt unter dem Referenzwert.
Er gat nur seinen Braten 2h in der Röhre gehabt und 2kWh verbraucht.
Aber in dieser Zeit hat gar keine Sonne geschienen. Wie kann er dann Solarstrom verbraucht haben?Die ganze Sache kann beliebig komplex gestaltet werden.
Das könnte alles per Skripting lösbar sein.Aber das muss klar sein, bevor jemand bereit sein würde dir das zu entwickeln.
Ein ständiges: "Ach nee, sooo hatte ich das nicht gedacht, mach das mal anders" wird dir eohl niemand unterstützen. -
@homoran verständlich.
Also, es wird immer zuerst Produktion - Rücklieferung gerechnet. Somit weiss man immer was der Eigenverbrauch insgesammt ist. Wenn keine Produktion oder 0 minus Rücklieferung 0 = Eigenverbrauch 0 also auch Referenzwert 0. dann wird nichts aufgeteilt.
-
@marco-willi sagte: PV Produktion-Rücklieferung=Eigenbedarf
Mein Ansatz wäre:
- Leistungen zum Zähler zugeordnet in einer Liste zu erfassen
- Die Liste nach aufsteigender Leistung zu sortieren
- Aus der sortierten Liste die Leistungszuweisung zu ermitteln aus gemessener Leistung bzw. aus einem Restmittelwert, wenn die Leistung größer ist.
Inhalt der JS-Funktion sortObjectNum(arr, attr):
function sortAttr(a, b) { return parseFloat(a[attr]) - parseFloat(b[attr]); } arr.sort(sortAttr);
Ich habe vorausgesetzt, dass die gemessenen Leistungswerte in einer Struktur unter "alias.0" vorhanden sind und die zugewiesenen Leistungen unter "0_userdata.0" mit identischer Struktur.
Die zugewiesenen Leistungen müssen dann noch über die Zeit integriert werden. -
@marco-willi sagte: Shelly 3EM dafür benutzen werde und somit 2 Datenpunkte habe für Verbrauch und Rückspeisung.
Ich habe schon mehrfach gelesen, dass die Energiewerte im Shelly 3EM nicht saldierend ermittelt werden. Man muss also die Leistung (positiv bei Bezug, negativ bei Einspeisung) über die Zeit integrieren.
-
@paul53 uffff erschlagen von Bausteinen die ich noch nie genutzt habe. Hast dich brutal rein gehängt. Danke.
Muss ich erst mal nachbauen um zu verstehen, was wie wo geschieht. -
@marco-willi sagte: Beispiel:
Eigenbedarf 10 kW
Zähler 1 hat einen Bedarf von 6kW
Zähler 2 5kW
Zähler 3 1kW
Zähler 4 500W
Zähler 5 0WSchleifendurchläufe:
- Restmittel 2 kW, Restleistung 10 kW, Restanzahl 4
- Restmittel 2,5 kW, Restleistung 9,5 kW, Restanzahl 3
- Restmittel 3,17 kW, Restleistung 8,5 kW, Restanzahl 2
- Restmittel 4,25 kW, Restleistung 4,25 kW, Restanzahl 1
- Restmittel 4,25 kW, Restleistung 0, Restanzahl 0
-
Leider sind noch Fehler enthalten die ich verschlimmbessert habe und meine Bedingungen sind auch noch nicht alle erfüllt aber im Moment funktioniert es. Kannst du dir das mal anschauen?
Fehler habe ich noch bei Variablen, meinte ich und die fehlende Bedingung ist Produktion - Rücklieferung.Ich hoffe ich habe das jetzt richtig gepostet
-
@marco-willi sagte: Ich hoffe ich habe das jetzt richtig gepostet
Nein, Export-XML bitte hier in Code tags einfügen und bitte auch als Bild.
@marco-willi sagte in PV Strom Aufteilung:
fehlende Bedingung ist Produktion - Rücklieferung.
Die sollte im Trigger-Datenpunkt "PV Eigenbedarf" enthalten sein.
Die Leistungen sind alle in W? -
Xml tags ist das symbol </> oder? Zeigt mir an, dass der code zu lange ist. Die fehlende Bedingung war in meinem code und nicht in deinem gemeint.
Ja, die Datenpunkte sind alle in Watt. Ich nutze momentane Werte, keine Zählerstände. -
@marco-willi sagte: symbol </> oder? Zeigt mir an, dass der code zu lange ist.
Wirklich? Mein Export in Code tags (Symbol </>):
-
@marco-willi sagte in PV Strom Aufteilung:
meine Bedingungen sind auch noch nicht alle erfüllt
was für Bedingungen hast du dem Programmierer denn gestellt?
-
so, jetzt am computer. Das mit den Bildern wird aber noch schwierig. Kenn den Computer so gar nicht... bin ein neuer Mac User. Sorry
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="dTTm]Y;f*9fW4IR]M3nv">zaehler</variable> <variable id="tf?~U:?IZv!S/0cEDw*M">verbrauch</variable> <variable id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</variable> <variable id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</variable> <variable id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</variable> <variable id="$0Z58`kKviMG[zyjoa$3">rest ab 3te</variable> <variable id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</variable> <variable id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</variable> <variable id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</variable> <variable id="9Xtnev|xAV30$qnZw.?W">Wert_1ste</variable> <variable id="s}`NhkS#bbbkKnhEvlh}">Wert_2te</variable> <variable id="1F^o@YN[2g~LM-V]o$b!">Wert_4te</variable> <variable id="LvJdi,HZcN8CJ5(TUGN?">Wert_5te</variable> <variable id=";UV.oZ3B2@*-Y0JW8g|U">Wert_3te</variable> <variable id="2RGq,EZh=7ChG@rYK.*W">Gesamtbezug</variable> <variable id="rqWg-2(,)x%vFfNUoj?$">Liste</variable> </variables> <block type="procedures_defcustomreturn" id="^T@L{N7^b-s1(5r#zk*v" x="1288" y="-288"> <mutation statements="false"> <arg name="zaehler" varid="dTTm]Y;f*9fW4IR]M3nv"></arg> <arg name="verbrauch" varid="tf?~U:?IZv!S/0cEDw*M"></arg> </mutation> <field name="NAME">Zähler</field> <field name="SCRIPT">cmV0dXJuIHsNCiAgICBaYWVobGVyOiB6YWVobGVyLA0KICAgIFZlcmJyYXVjaDogdmVyYnJhdWNoDQp9Ow==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defnoreturn" id="ANpB/okan5xoK~us}a_e" x="1312" y="-212"> <field name="NAME">Zäler 1</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="|rQ%!g)n`1LOP$zwQ8_F"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> <value name="VALUE"> <block type="get_attr" id="9XM9cI)[=kb)az%gz!z/"> <value name="PATH"> <shadow type="text" id="H@E)D?=PD`2V7ibfc60g"> <field name="TEXT">Zaehler</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="fuubQ1?tZqrX7Vs*H}?1"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="JYkAZ;x.)_K^5A`6@oYx"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="=@xY|bQ)JaDm_7^]fX^;"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="54l5%IR?.Wtby#]c4e~Y"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> <value name="VALUE"> <block type="get_attr" id="`zXEN1b/Ju=/^]]`Im2h"> <value name="PATH"> <shadow type="text" id="0;7*([hf%b4;Nc=KEO{x"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="[!(#CrDWa/XZLZWXS1$%"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="1boqahr4uBXjqn8ndCVs"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="Ky]0|GZG3lyoqP=gvYDu"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=".1hnjQxtK_1yPqXvig,z"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> <value name="VALUE"> <block type="text_join" id="YIperZRgXA!]-jNUBOA#"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="Y}|1:U[/pZY_Zes3~p;!"> <field name="TEXT">0_userdata.0.SolarWEG.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="G,4-%l36rWxi[jJ5)3#v"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="comment" id="5qfBqyY|]AMN:E.Y7l+{" x="513" y="13"> <field name="COMMENT">Z01=Anteil PV Allgemein</field> <next> <block type="comment" id="u*;qU~y$M4OsdioBE*Fr"> <field name="COMMENT">Z02=Anteil PV Willi</field> <next> <block type="comment" id="jp$uy?Z?UJw_n]axA~xK"> <field name="COMMENT">Z03=Anteil PV Gubser</field> <next> <block type="comment" id="6EZ_e{|T]La]X0Kj$:/J"> <field name="COMMENT">Z04=Anteil PV Lang</field> <next> <block type="comment" id="T/8N3nC*e#qL4#(8-$n("> <field name="COMMENT">Z05=Anteil PV Giger</field> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="schedule" id="SeGHl$+Bs!qV^vqOAu[(" x="163" y="38"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="control" id="G,g#g^ql6R_dBd7wIhFM"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.SolarWEG.Zähler01</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="o_kPP5E|v)vZ25=HV`?B"> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="=t2,Z4%xJ+A{qJ9qZF=U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.SolarWEG.Zähler02</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="}GJ0b~P4T7RvuOcRpqND"> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="-abg#h.o@9bWaVD3i!}("> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.SolarWEG.Zähler03</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="SVwE8Ml*vfoZZR6Mbt8^"> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="UHib!d4.,AF77ZuG05Bs"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.SolarWEG.Zähler04</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="DBe$r(%#H($lQ^peX#z("> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="04GS!$r@?Y=@x2,Q)o@x"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.SolarWEG.Zähler05</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="@{qXv13)%~]2}:)T39C-"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="j6hAstkHo=/enSd;1r|("> <field name="VAR" id="2RGq,EZh=7ChG@rYK.*W">Gesamtbezug</field> <value name="VALUE"> <block type="math_arithmetic" id="=QhEpQ_%E6BhzlYGf6[]" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="_~gE^U8$~Dx:?.4d%^RW"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="K+im.;E7iiXZ7yRBAgoE" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="tkM|NasEp+@@ASFwTb8#"> <field name="NUM">1</field> </shadow> <block type="get_value" id="g3|eKa!v*zF_Ee*TF:OO"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_1</field> </block> </value> <value name="B"> <shadow type="math_number" id="xr}gZw1*rvRNiZYZuZXn"> <field name="NUM">1</field> </shadow> <block type="get_value" id="(d@A$PU^{-Q`-#]D(DbO"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_2</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=".~7_E)hzO,,L9S+q^N9h"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="P/:5efp4ISL4wp@VF2[f" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="tkM|NasEp+@@ASFwTb8#"> <field name="NUM">1</field> </shadow> <block type="get_value" id="s#Y(39CZUn*`Cr3!ATJS"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_3</field> </block> </value> <value name="B"> <shadow type="math_number" id="xr}gZw1*rvRNiZYZuZXn"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Hblk6Gx+(wU|8Q-,eK]1" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="tkM|NasEp+@@ASFwTb8#"> <field name="NUM">1</field> </shadow> <block type="get_value" id="8$}X=Qpq5PKU}O`fdY.+"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_4</field> </block> </value> <value name="B"> <shadow type="math_number" id="Zjf:l.g@/PeIooKY!*`k"> <field name="NUM">1</field> </shadow> <block type="get_value" id="dGD_UU/@=l`4P3muef!/"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_5</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="HRYM}}D$#KT1j5_.)/d$"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> <value name="VALUE"> <block type="math_arithmetic" id="m9KJs(^L3E)lc1c(HgTm"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="HHDfl/7_QMOoHQ`cGgRm"> <field name="NUM">1</field> </shadow> <block type="get_value" id="@jz~_*W,%`8@P)M`HjHj"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Solar_Erzeugung</field> </block> </value> <value name="B"> <shadow type="math_number" id="o`HB))n[QSUP8;sy+x*P"> <field name="NUM">5</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="$D^5JNKp:x%p3+~Cy5%g"> <field name="VAR" id="rqWg-2(,)x%vFfNUoj?$">Liste</field> <value name="VALUE"> <block type="lists_create_with" id="VA`wrfQhk$]Y/.kJ/iJu"> <mutation items="5"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="SqMZ[qtiCH,wckJT0%:H"> <mutation name="Zähler"> <arg name="zaehler"></arg> <arg name="verbrauch"></arg> </mutation> <value name="ARG0"> <block type="text" id="=tm:mra?l9NFq:++3%zI"> <field name="TEXT">Zähler01</field> </block> </value> <value name="ARG1"> <block type="get_value" id="!?}$Q##qcwAr`r-Xh~)J"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_1</field> </block> </value> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="/D^2/:Ij|$#YeZMV-juN"> <mutation name="Zähler"> <arg name="zaehler"></arg> <arg name="verbrauch"></arg> </mutation> <value name="ARG0"> <block type="text" id="93z4=INPlW+iYBc279U?"> <field name="TEXT">Zähler02</field> </block> </value> <value name="ARG1"> <block type="get_value" id="WCf{_Q1bYMED:DV2k3%."> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_2</field> </block> </value> </block> </value> <value name="ADD2"> <block type="procedures_callcustomreturn" id="42C`@j6,{KJ:*wLek2++"> <mutation name="Zähler"> <arg name="zaehler"></arg> <arg name="verbrauch"></arg> </mutation> <value name="ARG0"> <block type="text" id="1B?-Dtk=%NF0Ol@XoS^K"> <field name="TEXT">Zähler03</field> </block> </value> <value name="ARG1"> <block type="get_value" id="=B]00ybj*}KA7;l;}}.P"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_3</field> </block> </value> </block> </value> <value name="ADD3"> <block type="procedures_callcustomreturn" id="THo/J%u/Gpb$N^(+]l_W"> <mutation name="Zähler"> <arg name="zaehler"></arg> <arg name="verbrauch"></arg> </mutation> <value name="ARG0"> <block type="text" id="hMd+`TL}aKQG@w^9I`uX"> <field name="TEXT">Zähler04</field> </block> </value> <value name="ARG1"> <block type="get_value" id="^$*pv`P}uHtFaQx!3M]r"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_4</field> </block> </value> </block> </value> <value name="ADD4"> <block type="procedures_callcustomreturn" id="f6Z:.JN7Kljatcd5!$/x"> <mutation name="Zähler"> <arg name="zaehler"></arg> <arg name="verbrauch"></arg> </mutation> <value name="ARG0"> <block type="text" id="Ha$7Q4Vz:{D}N@%29kNU"> <field name="TEXT">Zähler05</field> </block> </value> <value name="ARG1"> <block type="get_value" id="N}Nbl@r+^Qhz1M3vUYdY"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Zähler_5</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="X7:u!seN2IG;;/sAz#fY"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> <value name="VALUE"> <block type="convert_jsonata" id="rZwcgUE0VDc(k@gP,])_"> <value name="EXPRESSION"> <shadow type="text" id="Jzh0?fmT4!/[A2HL.!$b"> <field name="TEXT">$^(Verbrauch)</field> </shadow> </value> <value name="TARGET"> <block type="variables_get" id="N1C%LACBsP%bfOVU@9w:"> <field name="VAR" id="rqWg-2(,)x%vFfNUoj?$">Liste</field> </block> </value> </block> </value> <next> <block type="debug" id="{F^e[uY#[qgYRJNS(#s="> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="PzTYJ=Ris)2sri]/=o.("> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="agX[a-P=R_j@L+J;hTH#"> <field name="VAR" id="rqWg-2(,)x%vFfNUoj?$">Liste</field> </block> </value> <next> <block type="debug" id="dduw8J}KeX!ZyMysUZb0"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="PzTYJ=Ris)2sri]/=o.("> <field name="TEXT">test</field> </shadow> <block type="text_join" id="J:.hyJ;XnKt2Vzah;AU4"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="2.sWz[3U8p$9Km=$wl]r"> <field name="TEXT">Es werden </field> </block> </value> <value name="ADD1"> <block type="get_value" id="R1I=6SI4Y5cZEpPX^U.h"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Solar_Erzeugung</field> </block> </value> <value name="ADD2"> <block type="text" id="`fTX;wjU]u/aKdmUC]lS"> <field name="TEXT">W erzeugt. </field> </block> </value> <value name="ADD3"> <block type="text" id="$ctDhY:N}@?f|si4F+mE"> <field name="TEXT">1/5 davon sind: </field> </block> </value> <value name="ADD4"> <block type="variables_get" id="!M2d7+4TO%mc[%klC,IF"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> <value name="ADD5"> <block type="text" id="vwBB5T7A{s0L9@AoMk0?"> <field name="TEXT">W</field> </block> </value> </block> </value> <next> <block type="debug" id="%C!T_36a0H^%0U?6J%E{"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="PMeeDCoj%7;i}]Lk}Cx1"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="_xrM:]o[#RIr1,!b!/V)"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <next> <block type="procedures_callnoreturn" id="t9h:5W4IV3^A~:vX^#T?"> <mutation name="1ste"></mutation> </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> </statement> </block> <block type="procedures_defnoreturn" id="7YP@fw0x2br`??Lv@w)p" x="1313" y="12"> <field name="NAME">Zäler 2</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="I_Hzj)n3E?{*I_hj0#8:"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> <value name="VALUE"> <block type="get_attr" id="ph6.G41;TZ/pXKc`sAL?"> <value name="PATH"> <shadow type="text" id="6Y(xvT:XmWkCQ_fOI6$%"> <field name="TEXT">Zaehler</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="XH5JBu[ooOkWt[:m!}Vt"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="O/$u`15-DNZ6o8NwHDlK"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="L)4bU8^~ovvn-]U6x2Mf"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="LVCAEV%vd[R/DMHjm_D7"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> <value name="VALUE"> <block type="get_attr" id="-CVup1C4jPY]Ru][O]Qy"> <value name="PATH"> <shadow type="text" id="`V;88RIptMOFp^%6/T1E"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="~1|S`:F*:e_|y^PFMn9h"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="X+BcO@IUV]Qx4_UR*gO."> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="xN;:|h4B#l+)dQ,?6COp"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="peA}4+bc:5oX*/Y/^ZFF"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> <value name="VALUE"> <block type="text_join" id="E/#8:_9!iyt06*2h^()g"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="Be5$M^j!xjZwVUBxhn)G"> <field name="TEXT">0_userdata.0.SolarWEG.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="MEF?OE9(Ey@3^FVsEFT|"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="comment" id="OHbkd-#h-O}k/j9],#WG" x="788" y="213"> <field name="COMMENT">Z1 Mw Allgemein</field> <next> <block type="comment" id="YZZ[$w+,!YsoAOl,:|VB"> <field name="COMMENT">Z2 Mw Willi</field> <next> <block type="comment" id="Z0VGN#5XN1CEiLExZh~F"> <field name="COMMENT">Z3 Mw Gubser</field> <next> <block type="comment" id="|dr)RqPKsG+DrF|2j]U)"> <field name="COMMENT">Z4 Mw Lang</field> <next> <block type="comment" id="6tkTCaw_34mB0~Wmg.}g"> <field name="COMMENT">Z5 Mw Giger</field> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="3I(Z[b/.mHEHLwDW^:rf" x="1313" y="238"> <field name="NAME">Zähler 3</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="Z+c4n:C=eO%37`*Uj:#N"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> <value name="VALUE"> <block type="get_attr" id="O~,r_.xlNt:,rU4Xv,,k"> <value name="PATH"> <shadow type="text" id="K^ac66x^]?!=4Tp;x@8O"> <field name="TEXT">Zaehler</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="b1VSH{*:I/=/edCEnPE4"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="FqFxqs:u`bNisVz_foS{"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="t(vU`nN(71gr?]Uy]+!+"> <field name="NUM">3</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="erUoMIb:gXtia2~):2i]"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> <value name="VALUE"> <block type="get_attr" id=";{humSZ%cG$y@Gl}:Xf:"> <value name="PATH"> <shadow type="text" id="qWlF4#n.sIa(D(~y^LN0"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id=";VK-q!N8_PCm4DFV_NwN"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="-uTP;]v/=aM,hU}~+-`8"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="$9D-$QJI$|`oJf#|XW?l"> <field name="NUM">3</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="Ccw:}J2[X2z`QT3l%uCY"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> <value name="VALUE"> <block type="text_join" id="rS/iQ^P}Y~%J9u{-E8Q9"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="Xn-##vDRPNvxF0)f4kC;"> <field name="TEXT">0_userdata.0.SolarWEG.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="BDWw:j.Tut!_5WLdzj~Y"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="#q4j3!`Nirls4.;c!{3|" x="1313" y="463"> <field name="NAME">Zähler 4</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="BB{d~*_[.#LvnJJ*+itw"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> <value name="VALUE"> <block type="get_attr" id="ESK9!8)NB`Z=0n-C/QQd"> <value name="PATH"> <shadow type="text" id=";W^xL:o(V~^Ck#NCeqNK"> <field name="TEXT">Zaehler</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="]Fd:VqryYgtQq/.9FgsN"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="#VTndo)Dqr]#q2rD$QA6"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="eZoM`+K;5(4TvS7?EFUR"> <field name="NUM">4</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="I2swv%pK7Y}zz?IC0$3f"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> <value name="VALUE"> <block type="get_attr" id="}8@ctSseXxh4yw^86~lx"> <value name="PATH"> <shadow type="text" id="=z[/@V3Xps43sRK;bSB["> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="c?_Y/T;u3Fams*v8!$f*"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="pyTN`#csJ9LpYR6I85(m"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="j/Zp/lWH}ZY79LiYR;8;"> <field name="NUM">4</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="y.oNeoyJzIUql2IVw[Li"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> <value name="VALUE"> <block type="text_join" id="u[c2Z.PO+Emv2Q9$..=?"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="VQs7chN;PeRriRaF_KGB"> <field name="TEXT">0_userdata.0.SolarWEG.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="EL7@]r?=-uUwWp_#|y;-"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id=":+lv4f]pnlGyCWDaYCV?" x="1313" y="688"> <field name="NAME">Zähler 5</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="HF9zb=uDd@f7Q#bl?(s}"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> <value name="VALUE"> <block type="get_attr" id="v05_N1g#v(?DEe`}kV6h"> <value name="PATH"> <shadow type="text" id="uT$ur)yg}@ke)=vmEO^-"> <field name="TEXT">Zaehler</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="w8:1D2NBr|GTP+7r!wnt"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="IdPkVO6T4Kv5cJe^e@q="> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="21Nce}:py)Bl1RUfGybF"> <field name="NUM">5</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="EaagpP]UP;neL(6FL7DO"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> <value name="VALUE"> <block type="get_attr" id="+$^5]$2M$L^3!]O7hHU{"> <value name="PATH"> <shadow type="text" id="MMOcG!GCd0wWM8C_5,Qj"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="=V%P]o?`{kTxiI@D[bh9"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="4EUzmOW%J457y~C}9)g5"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="i_!MZc*Xj^VGz$/%pDvY"> <field name="NUM">5</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="-e+Cwt65ZW|e7y?F#b]k"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> <value name="VALUE"> <block type="text_join" id="TgPJiC{+A+vtwz*m~8ki"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="/Jl_ZrL+_oGy]r3+@O?("> <field name="TEXT">0_userdata.0.SolarWEG.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="BHRi?H!!S~aiOv^+?Ns?"> <field name="VAR" id="Am?{@M!fHmePD.l=^yFu">ZählerNummer_</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="jF$lDUq8mp-iFRvT$lD(" x="1313" y="913"> <field name="NAME">Alles größer</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="3t$}YmKLB`I([!a4zENG"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="=jYFEm)}ZIDgK@VM=eg9"> <field name="TEXT">alle größer</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="7Ezo,5vF0ip{z;|K?$$M"> <mutation name="Zäler 1"></mutation> <next> <block type="control_ex" id="Gd|WP]47t-IW6F%sq%Hg"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="lhRvGSu$5AR#2MVkZ3V4"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="XdWrR{2487^Hmp(d#fnp"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="0T#7657D7!!=RzNUH$?Q"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="zN3/iL@Sk!,dVB]y-dxY"> <mutation name="Zäler 2"></mutation> <next> <block type="control_ex" id="*d#}$xJbq$*NQ}Z*z]Y="> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="/.XVCX]ts`NoE`zf]sqQ"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="YR~DL(T_PYi,0sjXqb2A"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="DGu,_AjC*pk*?yL+!L%M"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id=";A8s@MFG;#J+$;87q+CJ"> <mutation name="Zähler 3"></mutation> <next> <block type="control_ex" id="i]_7rbMzL[Jr#Ob/+g*l"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="+~=K{QOe?RSM$WW8@oa;"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="{ZLxI:afR~h[g3$m.^uo"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="d.R}./w33cfih,6J^X#N"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="I03+5+nkS|HqC}HpWeSd"> <mutation name="Zähler 4"></mutation> <next> <block type="control_ex" id="QxVC@.lPCD,[@U(i_Ol5"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="6@b%b0QPXuOViF[#2V|r"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="yyMO*6uJ)CIRX]pxs|tJ"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="xnZ^F/+FsiqB[9Y?jt(X"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="58dq[/;:HPgkwU`[!GUa"> <mutation name="Zähler 5"></mutation> <next> <block type="control_ex" id="x/ERJqZpB+WhlQ)eVG2*"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="{:S+r`2G8ADQGYabqVc$"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="D:|xE2OBc4u4Po9Ydk86"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="[J1[:]9zv5de$`a*cu]["> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="~-JVqzzPa4TW+}sWh`C]" x="1663" y="913"> <field name="NAME">ab zwei größer</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="u}kGgz-D};)h46#}~.f@"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="OOV.Ji7eM:]A`E7e]bN-"> <field name="TEXT">ab zwei größer</field> </shadow> </value> <next> <block type="variables_set" id="9/-G0${(Yn/Q)g}o]pZf"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> <value name="VALUE"> <block type="math_arithmetic" id="WOzb$L1X4!YU?@NyJBMz" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_QD]%tR$[VL*Y5Ur_q:*"> <field name="NUM">1</field> </shadow> <block type="get_value" id="bSc=@MN#*E5q4.l9M#WK"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Solar_Erzeugung</field> </block> </value> <value name="B"> <shadow type="math_number" id="cB!wj5WEYUajeu4Z9#@T"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="~9T)JdF}/5/!s$@H3$KW"> <field name="VAR" id="9Xtnev|xAV30$qnZw.?W">Wert_1ste</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="1zvu~nE,Zg#%Ey,eO/+x"> <mutation name="Zäler 2"></mutation> <next> <block type="control_ex" id="m;+`{oR{plbdmMhJ{,qn"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="eUJoC`n{{7wph!KNq*W,"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field>
-
und
</shadow> <block type="math_arithmetic" id="qS8-`m%kL-BS_{Q2$d%^"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="tEBykc|yB%.JasIM1id("> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="(6YQIxRIxo;-:~k.]]}V"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="Jr3H*+D`!A(g#N.4o`p9"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id=".=D}24*e?jEo6]ntW*hB"> <mutation name="Zähler 3"></mutation> <next> <block type="control_ex" id="N:#8psGnspPq@L~G|XNT"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="`j[JJ|iWrIi8~phxMFXk"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="kqio3Ce1PUD7`xKm19uF"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="vsZwm@s+UDaN;LKzDd!b"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="!=zcja1xu{qX2j!kW,CD"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="BQPrBYQ$u$n?;Giox3la"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="K;+O{1HIR1a9LZNzD_f0"> <mutation name="Zähler 4"></mutation> <next> <block type="control_ex" id="/@RP1:A:JBftuL}I^pfD"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="VCjDZaDH3iR`AiLVA5.k"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="w+42-(~6JE?L~+U-)dpF"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id=",`*GlnZ[t83%JY.4SjLH"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="zl+My.KSe9`#(3|WbESd"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="y_c`ED:NG3dA_I]1ujPN"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="HX-#6oA_Gb34]7NOYuS)"> <mutation name="Zähler 5"></mutation> <next> <block type="control_ex" id="1FGN,uqM.P-j$`|7tp)1"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="f@6BhD?}[s~.7J$!?s-i"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="(v*`[/ic_8+x~0Fqa,Rl"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="F4fJGg!VkTE-$L|.(!$u"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="?VDn_e0{wlEfB^c8@a3|"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="~ta2os!r@srSP2y*$lX:"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="slt*~3~O;KsF-HT_T4#Z" x="2238" y="913"> <field name="NAME">ab drei größer</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="cOYvs:s1`!5aoSF2DA,G"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="y0V%-XaN70{KCIlq8PPA"> <field name="TEXT">ab drei größer</field> </shadow> </value> <next> <block type="variables_set" id="Hzqf1Y,|dB=o~=%yF3L5"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> <value name="VALUE"> <block type="math_arithmetic" id="i#6z%!/.05`NfS]yV#%A" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_QD]%tR$[VL*Y5Ur_q:*"> <field name="NUM">1</field> </shadow> <block type="get_value" id="0b[3R-;:BH[RYMoWTMvD"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Solar_Erzeugung</field> </block> </value> <value name="B"> <shadow type="math_number" id="cB!wj5WEYUajeu4Z9#@T"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="b(^T33.zC?Ah+@^$|VUY"> <field name="VAR" id="9Xtnev|xAV30$qnZw.?W">Wert_1ste</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="@nj,{ht`M`pT48FA;_.o"> <mutation name="Zähler 3"></mutation> <next> <block type="control_ex" id="YE#Lv(M9J8NeI?VhJhFS"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="UWeB3cG%Hau2*J[EqDLn"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id=":t]9{@:9sAph!1uy1oWO"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="7;;MQk@[so1Cu4V}1=Xb"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="iR(0Uf-2M93!T3vbaCDz"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="+E/I(NQX0)dxMk2ytV`L"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="3[z|XEb[vTuRC488g]9b"> <mutation name="Zähler 4"></mutation> <next> <block type="control_ex" id="OA5KJWr;]OChy)-TQVy1"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="zL8a[^|Q1X09r3r.j|Nu"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="JxGJV@P~G/p0mhYmd*U,"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="46H4tYW9tIpa?n.w[enU"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="VP6`B+oQ4/4;a0SjE@Kd"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="CH]6?F)tC7+ycsTHeqt$"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="WDHML%rd0Ur[)r=D_I%w"> <mutation name="Zähler 5"></mutation> <next> <block type="control_ex" id="cP5jBjOo7s5I2f`4=0jB"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="C=:xCgU`ZQ{D{Z=wRldB"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="gx#m,5{Z@W2baSAym@vw"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="$t1el%+2r;eDLS4@6:fh"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="gLxH@r?in`b}8FVCve=S"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="f8WQ^|wiqZ9)%h.mX^`z"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="D/2|B_#},fyC(n0w#2Xl" x="2813" y="888"> <field name="NAME">ab vier grösser</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="B(F;gN6Jk~snn%K%MP;/"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="28u$%3HRWml/27^1N0$s"> <field name="TEXT">ab drei größer</field> </shadow> </value> <next> <block type="variables_set" id="L.OQ`?]Uzp]*kF^3oKF#"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> <value name="VALUE"> <block type="math_arithmetic" id="+KDSmxg!euC}#LvM2.Sw" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_QD]%tR$[VL*Y5Ur_q:*"> <field name="NUM">1</field> </shadow> <block type="get_value" id="W|KAgVFFg^iTNXi^HVAq"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Solar_Erzeugung</field> </block> </value> <value name="B"> <shadow type="math_number" id="cB!wj5WEYUajeu4Z9#@T"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Pv!ui_8#Z4#UuGllt{|0"> <field name="VAR" id="9Xtnev|xAV30$qnZw.?W">Wert_1ste</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="`U|K],V-9$W/=u?Hp]){"> <mutation name="Zähler 4"></mutation> <next> <block type="control_ex" id="EL,D|Q%2xrk[,O}jl1Bi"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="rOF5;=)4J|.D5g@L8|F-"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="a*cmy96u$Oo[dzBUytB}"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id=")(pypYk?K88$Sa5b*2~/"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="*[,*-e*V:ffuG+G.zY:/"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="/TDajhA#Cp9VP/3NBj_h"> <field name="NUM">0</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="{E6%-}RV6NKGXRWt/;B?"> <mutation name="Zähler 5"></mutation> <next> <block type="control_ex" id="ElA7rM]e4R/CwrQhlPsC"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="V36T;1`B5SZF]!S/2mv="> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="math_arithmetic" id="](Ou;DCR{T=sf6cI*Y!="> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="t;3gR;seZYShH)$?{I=("> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Yd-bN,aMlG+uK@niZrK]"> <field name="VAR" id="jz(WYo2RH^XV%P$8`cAz">rest ab 2te</field> </block> </value> <value name="B"> <shadow type="math_number" id="yO_=r@+CRARI$2A;bM+R"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="/yQKPlP`}}Dc1yM%!ens"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="d|Gva)g{7[re]h!LJ.6i" x="3413" y="888"> <field name="NAME">5t grösster</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="d+x4guefo1qTrA[l_+E+"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="$`|v9;CJj%Gr-._mc!.v"> <field name="TEXT">ab vier größer</field> </shadow> </value> <next> <block type="variables_set" id="^bh^[0K9FuO1ymr#]TP-"> <field name="VAR" id="$0Z58`kKviMG[zyjoa$3">rest ab 3te</field> <value name="VALUE"> <block type="math_arithmetic" id="@C=m5OrxI,Ng5N-A%a6Y" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="k53?o}|~Xo*;h$Kzc-Aa"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="=hc:h;Y3/ON6D$Y)VYQ9" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_QD]%tR$[VL*Y5Ur_q:*"> <field name="NUM">1</field> </shadow> <block type="get_value" id="9kH$MC@W$k}NVEJuJ}:1"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.SolarWEG.Solar_Erzeugung</field> </block> </value> <value name="B"> <shadow type="math_number" id="cB!wj5WEYUajeu4Z9#@T"> <field name="NUM">1</field> </shadow> <block type="variables_get" id=".3gGgQvPMhm($TLuS9pI"> <field name="VAR" id="9Xtnev|xAV30$qnZw.?W">Wert_1ste</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="8${![]vD+}ZV$-sOq_yD"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="+#1Z_sQn1}M_XKY^k]W5"> <field name="VAR" id="s}`NhkS#bbbkKnhEvlh}">Wert_2te</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="]idLN9fk5-2Te]Rvn5DI"> <mutation name="Zähler 5"></mutation> <next> <block type="control_ex" id="A{;1vnc=ZB[%,:pwFo#;"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="DO]$F^%eZX;KudD*qS|H"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="QiQ@@z:u`NM(egOfeIh4"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="y3*XTCJiu3WoIx8%RW9I"> <field name="VAR" id="$0Z58`kKviMG[zyjoa$3">rest ab 3te</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id=",CX_deI=EbT#KpT{-v:Q"> <field name="NUM">0</field> </shadow> </value> <next> <block type="debug" id="K5%YWyL%PE~z.?}-qk4L"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id=")S:;(%B7Apz;bm{FkRzd"> <field name="TEXT">Verbrauch von dritt größtem ist größer 1/3 der Erzeugung, also bekommt er den Rest</field> </shadow> <block type="text_join" id="9YFNC#1Zq{=[|JU0vbNi"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="xjHn5X}ds4lbahny(s5o"> <field name="TEXT">Verbrauch von dritt größtem ist größer 1/5 der Erzeugung, also bekommt er den Rest: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="pLj)!.!)_1mOkaPICcrM"> <field name="VAR" id="$0Z58`kKviMG[zyjoa$3">rest ab 3te</field> </block> </value> <value name="ADD2"> <block type="text" id="D:$Lp]{})0UlgzeA*`hD"> <field name="TEXT">W</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id=")k!Yb1JbF165;uCP,x`;" x="163" y="1263"> <field name="NAME">1ste</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="procedures_callnoreturn" id="9c]$)pQ4#U2`J|$j;I6:"> <mutation name="Zäler 1"></mutation> <next> <block type="controls_if" id="pSSk+SN3-J}tg`UT61cE"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="3djY6~,xmE%u}X|#|`!/"> <field name="OP">LT</field> <value name="A"> <block type="get_attr" id="]0LWJ@8c61*Zw@(@7}u3"> <value name="PATH"> <shadow type="text" id="(doN?Z,@[F3Lkj~SHP0F"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="WB=W907+2M.b`Cd@P;^d"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="Zb:LQ:Ai9Y}Ged[wE31V"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="os+(^|`JWLS}?O2GO8-n"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="qz6m*K3Ns.ZUMvA7XOX-"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="b6a(o@L_.=2z?hp.bK_9"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="cr_1YE1irZ,/xW[`~=.c"> <field name="TEXT">kleinster verbraucher ist kleiner 1/3 der Erzeugung</field> </shadow> <block type="text_join" id="q%/|J:Xy)MFrgN2{U_;("> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="r,%smyMyAx70%KtwU=9!"> <field name="TEXT">kleinster verbraucher ist kleiner 1/5 der Erzeugung: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=";O~|pj#@UoY8jB0GQU[0"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="ADD2"> <block type="text" id=")ItEm@`67fVhH[J))jCZ"> <field name="TEXT">W</field> </block> </value> </block> </value> <next> <block type="control_ex" id="/aCTQ;VR,.J/6ToFUxNF"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="1dey5%:ixM/9ej+[(!.]"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="-9gL|pbx@y,GUyJR}fEd"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="#G?h(Fg4Z[aeS9XjSg6/"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="a{ESioPh#Z*]wpdnZ5JM"> <field name="VAR" id="9Xtnev|xAV30$qnZw.?W">Wert_1ste</field> <value name="VALUE"> <block type="variables_get" id="UYd5+Z6%yoW4z;AYNkM7"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <next> <block type="procedures_callnoreturn" id="wIj#}:?:4-U/VThhgS`h"> <mutation name="2te"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="MGli|aXhwAi7;s?CZBLi"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="ycpHX8wE6|7%aEwCwTZx"> <field name="TEXT">kleinste Verbrauch ist größer 1/5 der Erzeugung, also sind alle größer als erzeugung</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="Jx[=oj27K+U]mmral~Vf"> <mutation name="Alles größer"></mutation> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="*?[M|k2McK]{f@,:mvs0" x="163" y="1838"> <field name="NAME">2te</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="procedures_callnoreturn" id="rXJc?v~a0i1hWO9SSa$s"> <mutation name="Zäler 2"></mutation> <next> <block type="controls_if" id="ZK[Mm#3C)8[kH7}fB3=,"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="Y|FEm6t5SE,wo1/=~*N)"> <field name="OP">LT</field> <value name="A"> <block type="get_attr" id="W$V})SfDIQlx?^9C]HHI"> <value name="PATH"> <shadow type="text" id="/fSp%8JldFG)S~++Y:bz"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="{)=2e+[A4`rG(Gb%h!$*"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="g4~P}65ZKW7h#P-NZ,{I"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="Xd!e_ASb[p^xThoTjN/%"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="Zmp^lj[__yltUH]tFRFP"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="-?PxgJM]uIcamg8U(^0C"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmF:GDm%7ufKil(UFYcT"> <field name="TEXT">Verbrauch von zweit größtem ist kleiner 1/3 der Erzeugung</field> </shadow> <block type="text_join" id="Sv:Df6KaS0hL)XFdcg0{"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="5.NNIi=T:k2X0[3uNsD="> <field name="TEXT">Verbrauch von zweit größtem ist kleiner 1/5 der Erzeugung: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="O]FXSn33*9JlkfKq`Q2U"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="ADD2"> <block type="text" id="tP~JK]Y}EpF[]I0G7J[W"> <field name="TEXT">W</field> </block> </value> </block> </value> <next> <block type="control_ex" id="f=LP:~8fj#)[VTYt}c?S"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="Ie{Z^Yts0v^7rq4]a`/a"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="X^/4{?Ib97KV?gcf$%}4"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="D[gD#[U6~S6dek:X7ZSc"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="7u2P$(Q=sU?FR6o_`c9K"> <field name="VAR" id="s}`NhkS#bbbkKnhEvlh}">Wert_2te</field> <value name="VALUE"> <block type="variables_get" id="J5sS;hP6WDy34W529dST"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <next> <block type="procedures_callnoreturn" id="b!p[QTn|PO_1q!gKx`:Z"> <mutation name="3te"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="^I%]x%9OBKRt*M.I%$S{"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Sv9IVn$8U=*{K{~P91lR"> <field name="TEXT">Verbrauch von zweit größtem ist größer 1/5 der Erzeugung, also alle weiteren auch</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="djbAtLt]+qcjG_A|LG}L"> <mutation name="ab zwei größer"></mutation> <next> <block type="variables_set" id="5-demYd$NUunsdnMG`DR"> <field name="VAR" id="s}`NhkS#bbbkKnhEvlh}">Wert_2te</field> <value name="VALUE"> <block type="variables_get" id="[pUW+s+d:cy{W:2~,26%"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="O=vz(qcihs2+iVH`akUa" x="163" y="2438"> <field name="NAME">3te</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="procedures_callnoreturn" id=":4%{5$1|32/cT[AO@WKq"> <mutation name="Zähler 3"></mutation> <next> <block type="controls_if" id="D{s}JF~Ltg:-nmyDMcJ#"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="u)_Wm3yHx]4`/[VS[HIm"> <field name="OP">LT</field> <value name="A"> <block type="get_attr" id="D6AAZE$3`;xx{}xKXT_n"> <value name="PATH"> <shadow type="text" id="MKfmff9vg]a0gvhvl(m1"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="{!yp]dtZcAHuw$A;~J8B"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="*f[WW_o7C0z=SL*bRMKI"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="?}de8mBG,sLQqG#cj}$G"> <field name="NUM">3</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="Ib5O$!%zQJ#8D,u9CKe,"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="~8+_d|~bw2YlJmNQ.Eq3"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="(q[8(@oPyCzimm/KM*t?"> <field name="TEXT">Verbrauch von dritt größtem ist kleiner 1/3 der Erzeugung, also bekommt jeder 1/3 der erzeugung</field> </shadow> <block type="text_join" id="a5{^v-RO~dzUceY#x[kC"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="]?b,fGRC6-)5K,cphLPo"> <field name="TEXT">Verbrauch von dritt größtem ist kleiner 1/5 der Erzeugung, also bekommt jeder 1/3 der erzeugung: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="b*hCl#Mq#RfVvE7zUE]v"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="ADD2"> <block type="text" id="eHmQ-$~SM^6BL]p26ep$"> <field name="TEXT">W</field> </block> </value> </block> </value> <next> <block type="control_ex" id="4mcok9njHDSZ+8yL=Xp2"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="]@na!y}BG~sYKNA3q2lZ"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="g!EnU=YPke@bm!QneQdE"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="%j59`B.Jr$34c=U),rtX"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="`Qi6l.*?MO=!t*eGeo5@"> <field name="VAR" id=";UV.oZ3B2@*-Y0JW8g|U">Wert_3te</field> <value name="VALUE"> <block type="variables_get" id="VaLW20b?t6|i8qAaGMd-"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <next> <block type="procedures_callnoreturn" id="D771Fum89TO4XiFC:n$)"> <mutation name="4te"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="2*+i|`nj_a,(r_jtCyz_"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="[o~-R`_@,dn~K*O::`-."> <field name="TEXT">Verbrauch vom dritt größtem ist größer 1/5 der Erzeugung, also alle weiteren auch</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id=")uLKJbJs6-jxIzaxTnTX"> <mutation name="ab drei größer"></mutation> <next> <block type="variables_set" id="KlHM457qfI9rs~G6_1`k"> <field name="VAR" id=";UV.oZ3B2@*-Y0JW8g|U">Wert_3te</field> <value name="VALUE"> <block type="variables_get" id="H@5~WSBF+y1)zk0R*fP1"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="l|y)O@@Ui!T!ha0};SYX" x="163" y="3063"> <field name="NAME">4te</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="procedures_callnoreturn" id="67HI8.5F9CAB/}-sOH#T"> <mutation name="Zähler 4"></mutation> <next> <block type="controls_if" id="]C|#9Ge$zO?U,G8yhJMx"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="qrQCPHhNBMf[E^$9gyz["> <field name="OP">LT</field> <value name="A"> <block type="get_attr" id="-1~z@sg``RSEu-A..dOG"> <value name="PATH"> <shadow type="text" id="fU_N45UM-Bgh@ZU$c*]y"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="/R,TVrCS@$6c=]:aQa]["> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="af1nHfpN6(_wkiUr(%xF"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="Bjpb96j*T4_se^ifIv6{"> <field name="NUM">4</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="PS9cR{MgA0DWSH2S01qs"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="{X-tB)GAoAp:axuBE0;g"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="(q[8(@oPyCzimm/KM*t?"> <field name="TEXT">Verbrauch von dritt größtem ist kleiner 1/3 der Erzeugung, also bekommt jeder 1/3 der erzeugung</field> </shadow> <block type="text_join" id="D4=RJ|3%:6[-~#6{fZVk"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="E}4*saujr#E/ziv0n_%D"> <field name="TEXT">Verbrauch von viert größtem ist kleiner 1/5 der Erzeugung, also bekommt jeder 1/3 der erzeugung: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="]5np8X~/[n#Kt*]1I.(l"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="ADD2"> <block type="text" id="8$Q4b@.KNZqo/;n#J;;3"> <field name="TEXT">W</field> </block> </value> </block> </value> <next> <block type="control_ex" id="eM?cpr:-izS~~U,yzi4p"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="W0BhKryj0ib.|m%NvII2"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="|d1X-d|I]f=9dos]ZPa["> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="p9:E~goGpA:r-ALIBtC`"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id=")[15ePYPJoZ%S_D{by!D"> <field name="VAR" id="1F^o@YN[2g~LM-V]o$b!">Wert_4te</field> <value name="VALUE"> <block type="variables_get" id="a^$K$.GgHt~c|:%$=1%#"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <next> <block type="procedures_callnoreturn" id=",8;cE3Hi{WS+f6)rCMP*"> <mutation name="5te"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="zOoWrQ,Wc17^q?9SQ~bg"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id=";]r$n^.JDeim$kQ[lVe-"> <field name="TEXT">Verbrauch von viert größtem ist größer 1/5 der Erzeugung, also alle weiteren auch</field> </shadow> </value> <next> <block type="variables_set" id="Q*`U^L$!MggZx%f8,1rd"> <field name="VAR" id="1F^o@YN[2g~LM-V]o$b!">Wert_4te</field> <value name="VALUE"> <block type="variables_get" id="^1S8hormOvff#(`~~k#("> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <next> <block type="procedures_callnoreturn" id=";Y)B?4{sth`HynMnXr)E"> <mutation name="ab vier grösser"></mutation> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="4NvFzS{_qs6}=cL~_46O" x="163" y="3663"> <field name="NAME">5te</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="procedures_callnoreturn" id="(gn:f8LSnRnlh#$33t0q"> <mutation name="Zähler 5"></mutation> <next> <block type="controls_if" id="h4)a]Q_/RqVU:7sN[*CD"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="o+k9}40Osd^jJC#%9}%V"> <field name="OP">LT</field> <value name="A"> <block type="get_attr" id="gh/hY^tQX`.j]8b@M!%W"> <value name="PATH"> <shadow type="text" id="9)9gi;}yeIsGyP%38AY+"> <field name="TEXT">Verbrauch</field> </shadow> </value> <value name="OBJECT"> <block type="lists_getIndex" id="c]cI5(rnhJ*#Eel_!I%g"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="2+.D@.Em!q;@1|5n6ZZ-"> <field name="VAR" id="`=*LwlEhb/8gjZU.W8pv">Liste_sortiert</field> </block> </value> <value name="AT"> <block type="math_number" id="JUD_[Ob9S0SMH!OlYUU*"> <field name="NUM">5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="?_yv4xk$pWh(loE*/5uh"> <field name="VAR" id="PY}*+`j;}H}^Lm+C9N$n">1_5 Teil</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="xv]9aFT;/e(QLcqtb%1M"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="(q[8(@oPyCzimm/KM*t?"> <field name="TEXT">Verbrauch von dritt größtem ist kleiner 1/3 der Erzeugung, also bekommt jeder 1/3 der erzeugung</field> </shadow> <block type="text_join" id="{qeuFy.@c;NqQ8[@R]=a"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="ou;vOehDWy-:5EWK]nZ0"> <field name="TEXT">Verbrauch von fünft größtem ist kleiner 1/5 der Erzeugung, also bekommt jeder 1/3 der erzeugung: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=".tmb085.DNN7IsJ,mn!Z"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="ADD2"> <block type="text" id="6gSiZ)ZVgO8nJx-?aTv9"> <field name="TEXT">W</field> </block> </value> </block> </value> <next> <block type="control_ex" id="FNmi*1!2LQ(h3iPJeLuC"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="*yA?v[`NTMbhC#I^nuOt"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="TfW||2?yl=1`[,FrQaNt"> <field name="VAR" id="nl~Kh$W3axP]rB5;Vu,#">Zähler_ID</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="GNb23rXp%:TH#[+Ei%0R"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="$)91PWz*IiR4E`T[Umq,"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="T8%P~H:z*Z+2+lAT.xGw"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="v7Z3*PJ!u^mmuR.`1bP]"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Za2t)!4lo:7ee,IY9!vl"> <field name="TEXT">Verbrauch von fünft größtem ist größer 1/5 der Erzeugung, also alle weiteren auch</field> </shadow> </value> <next> <block type="variables_set" id="aQvJbeK*P,,^%9+CCZ:s"> <field name="VAR" id="LvJdi,HZcN8CJ5(TUGN?">Wert_5te</field> <value name="VALUE"> <block type="variables_get" id="tB7HpKWpU4|qz7BY6U3u"> <field name="VAR" id="mf$nRg:n*]=]rUqF8p]~">ZählerVerbrauch_</field> </block> </value> <next> <block type="procedures_callnoreturn" id="y_!FeCID2XM/ZztZLOVF"> <mutation name="5t grösster"></mutation> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
@marco-willi du hast aus knapp 500 Zeilen jetzt 2500 Zeilen gemacht?
-
@homoran wie gesagt, ich musste den Code unterteilen, ich bekam immer ne Fehlermeldung, mehr als 10‘000 Zeichen würden nicht gehen. Hier noch die Bilder welche ich noch zu Beginn mit nur 3 Zählern hatte. Ich habe dann auf 5 erweitert.
-
@marco-willi
So große Blocklys baut man nicht! Wer soll da durchsteigen?
Das Blockly hat nichts mit der Aufteilung des Eigenverbrauchs auf die 5 Verbraucher zu tun! Das sollte ein separates Skript sein.
Für jeden Verbraucher erstellt man ein eigenes Skript (Export / Import mit ID-Anpassung). Ebenso für die PV / Eigenverbrauch. -
@paul53
Ich habe das skript nicht gebaut nur erweitert. Zumindest ist es für mich bis auf zwei drei punkte verständlich und nachvollziehbar. -
@marco-willi said in PV Strom Aufteilung:
@paul53
Ich habe das skript nicht gebaut nur erweitert. Zumindest ist es für mich bis auf zwei drei punkte verständlich und nachvollziehbar.
Falls du das noch kompakter hinbekommst. Tu dir kein Zwang an -
@marco-willi
Mit einer sinnvollen ID-Struktur unter "alias.0" (Messwerte) und "0_userdata.0" (Zuweisungen) macht man es sich leichter. -
@paul53 habe bei mir auch unter data separate Datenpunkte angelegt. Läuft dein skript? Müsste ich diese Woche mal importieren und testen.