NEWS
Timeout in einer Schleife
-
@paul53 @Asgothian Sorry für's Offtopic...
Jetzt weiß ich, warum ich mich nicht mit Blockly beschäftige... Bei so komplexen Abläufen blick ichs nicht mehr
Bin ich froh, dass ich als Softwareentwickler mich mit so schönen Dingen, wie JS beschäftigen kann
Mich würde tatsächlich mal interessieren was aus dem Blockly von Euch wird, wenn man das in JS umwandelt. Vielleicht mag mir das ja jemand als PM schicken?
-
In JS würde ich das etwas anders lösen - z.Bsp. nicht mit 4 getrennten arrays sondern mit einem Array von Objekten. Ansonsten halt so wie hinterm spoiler
-
@great-sun sagte: was aus dem Blockly von Euch wird, wenn man das in JS umwandelt.
Von Blockly generiert:
var zyklus, msg, aktiv, idAktor; // Beschreibe diese Funktion … async function schleife() { switch (zyklus) { case 1: msg = 'Beschicken'; aktiv = 9; idAktor = 'default'; break; case 6: msg = 'Klären'; aktiv = 1; idAktor = 'default'; break; case 7: msg = 'Abzug'; aktiv = 2; idAktor = 'default'; break; default: msg = 'Belüften'; aktiv = 12; idAktor = 'default'; break; } console.log(msg); setStateDelayed(idAktor, true, false, parseInt(((0) || "").toString(), 10), false); aktiv = parseFloat(60000) * aktiv; await wait(aktiv); console.log(('Pause nach Zyklus ' + String(zyklus))); setStateDelayed(idAktor, false, false, parseInt(((0) || "").toString(), 10), false); await wait(720000); zyklus = (typeof zyklus == 'number' ? zyklus : 0) + 1; if (zyklus <= 7) { await schleife(); } } // Start on({id: 'default', change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; zyklus = 1; await schleife(); });
Hätte ich gewusst, dass JS besser für Dich ist, hätte ich mich nicht mit Blockly abgemüht.
-
@paul53 Für mich sicher, aber für den Thread-Owner schätze ich nicht
-
@great-sun sagte: aber für den Thread-Owner schätze ich nicht
Sorry, Verwechslung.
-
@asgothian Japp, da kann man schöne Ablaufroutinen bauen. Hab ich auch so gemacht, wenn ich z.B. meinen "Kinomodus" einschalte:
Parallel: Leinwand runter fahren, GeräteGruppe1 einschalten
Pause
IR Commandos senden um die Geräte richtig einzustellen (Eingangskanäle für Beamer, TVBox/PS, TOSLink-Verteiler)
Subwoofer Verstärker einschalten -
@asgothian Guten Morgen Asgothian, vielen Dank für die schnelle Antwort. Ich werde deinen Vorschlag direkt mal testen. Denke aber du hast es sehr gut verstanden worauf ich hinaus möchte. Ja, es ist schwer sich ordentlich auszudrücken Aber klasse! Anbei noch eine Grafik die es evt. besser darstellt. Für die anderen die eine Klärgrubensteuerung bauen möchten
Ich melde mich sobald ich deinen Vorschlag umgesetzt habe. Vielen Dank bis hier her...
-
@paul53 Hallo Paul53, auch an dich vielen lieben Dank! Dein Ansatz sieht auch sehr vielversprechend aus. Ich werde auch deinen Vorschlag testen. Mit der Funktion hatte ich auch anfangs gedacht. Da ich aber den Ablauf so statisch aufgebaut habe, wollte ich direkt darin meine Schleife um die zwei Zyklen bauen. Ich sehe gerade, das wäre immer Mist geworden...! Danke für eure Ideen.
-
@asgothian Hallo Asgothian, ich habe deinen Vorschlag übernommen. Leider wirft der Skript verschiedene Warnungen. Könntest du den Blockly Export bereitstellen. Ich hab mein iobroker auf deutsch eingestellt. Bin mir daher unsicher die richtigen Funktionen eingezogen zu haben.
-
@paul53 Hallo Paul, ich habe deinen Vorschlag ausprobiert, perfekt! Genau dieses Verhalten wollte ich erreichen. Jetzt stellt sich mir die Frage, ob ich die Zyklen um die Belüftung/Pause auch dynamisch aufbauen könnte? Bedeutet ich möchte per Datenpunkt einstellen, wie viele Kreise er um die beiden Zyklen drehen soll? Weißt du, was ich meine?
-
@schroed99 Den export kann ich nicht einstellen, Aber:
du hast an dieser stelle die Variable "idx" benutzt, die zu dem Zeitpunkt keinen Wert hat. Das dürfte einer der Fehler sein. Bitte statt IDX dort die Zahl 1 einsetzen.
A.
-
@asgothian Ich habe die Zahl eingetragen, die Warnungen kommen weiterhin.
-
@schroed99 sagte: Zyklen um die Belüftung/Pause auch dynamisch aufbauen könnte?
Meinst Du die Anzahl der Belüftungszyklen? Wenn ja, dann ersetze die Zahl 6 durch
anzahlBelueftung + 2
und die Zahl 7 (an 2 Stellen) durchanzahlBelueftung + 3
. -
@schroed99 Du hast da noch einen Elefanten im Raum:
Die Texte in dem Array Zyklusaktionen müssen auf Datenpunkte zeigen die du mit wahr oder falsch steuern kannst. Bisher hast du da nur Namen. Da muss das rein was bei dem Skript von @paul53 in die Variable idAktor geschrieben wird.
A.
-
@paul53 Perfekt! Jetzt tut es genau was es soll! Danke für Euer beider Unterstützung. Alleine wäre ich nie darauf gekommen. Die Denkanstöße haben geholfen, andere Skripte auch zu überarbeiten. Vielen Dank
Hier der Code für User mit einen ähnlichen Thema.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="DuKnNK_fb{/Qq{IFWG$v">zyklus</variable> <variable id="Z}P^~lcsIWmg$xymi]s|">msg</variable> <variable id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</variable> <variable id="5e7CDB8d+z)p64]UEPq)">aktiv</variable> <variable id="j=8.H21R4p}Bl_6Ddd*o">idAktor</variable> </variables> <block type="on_ext" id="#2~L4UEK6FMI+P3C8_A}" x="88" y="-62"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="~YXNBsr?ey*s$f%:jZ4i"> <field name="oid">0_userdata.0.vis_Abwasser.Grubenpumpe_automatik_aktiv</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id=";:Rs|y!a%3wq;-Gq4y)*"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> <value name="VALUE"> <block type="math_number" id="s-)-z[loX]EMloKW0R@j"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="3t3kFLx5D@^``,VtG=iF"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> <value name="VALUE"> <block type="get_value" id="0P~iY+t6f^Sol4pT||2S"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.vis_Abwasser.Grubenpumpe_belueftungs_zyklen</field> </block> </value> <next> <block type="procedures_callnoreturn" id="$n5B(VFgEN|}34zr:zK6"> <mutation name="schleife"></mutation> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="KAYmjF~QMX34:y[iSp-^" x="88" y="138"> <field name="NAME">schleife</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="logic_switch_case" id="XpXI#,j.tC[~8GE+~{XJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" case="2" default="1"></mutation> <value name="CONDITION"> <block type="variables_get" id="Xoh).rKK_L[CJQ0^}+s0"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <value name="CASECONDITION0"> <block type="math_number" id="FJUpW46g[o_p9Un*Nw~^"> <field name="NUM">1</field> </block> </value> <statement name="CASE0"> <block type="variables_set" id="0J#T-Qd7+AzZ5/[U5^m:"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="TAm,2C|I#_JI1FaKw%$C"> <field name="TEXT">Beschicken</field> </block> </value> <next> <block type="variables_set" id="WU.#loWYjVs;k[ZjmX|]"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="Dl8@Hb3TsdNEjD;lnCUc"> <field name="NUM">9</field> </block> </value> <next> <block type="variables_set" id=":sn1O`h-VhceoMK_}_zI"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="j8$xrAL~{Ydw9I(iUNH#"> <field name="oid">sonoff.0.ESP01RelayX401.POWER1</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="CASECONDITION1"> <block type="math_arithmetic" id="),k9?lv.o/om3NomMr{W"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="vc33fGuq!FL{t{]S!_;G"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="/$`U7I8kK^YGGgl(DAd7"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id=";ss@7U#hL!Y5^=@d-cyg"> <field name="NUM">2</field> </shadow> </value> </block> </value> <statement name="CASE1"> <block type="variables_set" id="]YYXU.NFb7e.b8{r]`%d"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="B7cr[{hU-7$(jxs(WceL"> <field name="TEXT">Klären</field> </block> </value> <next> <block type="variables_set" id=")Fq{]z_uqqB=GtjEjpdu"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="6d=`Qh,[~2xrxDp9i`!*"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="*q!j9!sgKD)sJ%*5siPA"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="9J0G}NXJt{.8;!RJ)(43"> <field name="oid">sonoff.0.ESP01RelayX401.POWER2</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="CASECONDITION2"> <block type="math_arithmetic" id="fE`0aSbODB?[jtna2h}v"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9/@{ZNE,kkpqqO2SG.2G"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id="XO++b0v;S*j;NMzvi;BH"> <field name="NUM">3</field> </shadow> </value> </block> </value> <statement name="CASE2"> <block type="variables_set" id="hGGvl6[y[m4/|,yw.QPA"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="~MYYG0S{7.2[+7412#d^"> <field name="TEXT">Abzug</field> </block> </value> <next> <block type="variables_set" id="C3odK@MB[#t1Z!(50$h~"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="wGY=4_:8UGJK@F[qh?CK"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="4SJl[9P1}0vuufWTQ,gH"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="K]x~$R#NFUG$7nrxrjbr"> <field name="oid">sonoff.0.ESP01RelayX401.POWER3</field> </block> </value> </block> </next> </block> </next> </block> </statement> <statement name="ONDEFAULT"> <block type="variables_set" id="cn^2?^q%(MRPg+t~|#f%"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="twa}Ya*L[_eS--R(9S$V"> <field name="TEXT">Belüften</field> </block> </value> <next> <block type="variables_set" id=".dN:vw*pv!Rx![CkY*me"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="tkz!m@SJi@i$wECG?W*u"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="sAiPw#-5qUpH59i,w_q@"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="mfa)=^OKxEB7*Vy[5hJ7"> <field name="oid">sonoff.0.ESP01RelayX401.POWER4</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id=",laPhqT$2^q}#uw|]$57" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="kpr2?rx6Oo(R!:{uo?[L"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="|OWmKH~#2EH#6pT;!b!z"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> </block> </value> <next> <block type="control_ex" id="?xxiMro8f;`R8-;/C}1-" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="R6fq3uZ1TbEH^yDHOu+5"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="|1;~@dEA*KaUDfky)uq]"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="xGaD39SHe-c!$4B$s7_,"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="62Up,oPj.ONas*pY]Qv]"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="3li0*|1lax?f;F+:xi_C"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_arithmetic" id="f~Cr0$$;v1AjdeH+XL1O"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="N*%].JB82X(RWzub}nc4"> <field name="NUM">6000</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="]8qP1.$j[3NPArG{fwGg"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="j9)yUKvy`yucNRO%|w-B"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> </block> </value> </block> </value> <next> <block type="timeouts_wait" id="{2_Egnhe*UM9dv?aB_0q"> <field name="DELAY">aktiv</field> <field name="UNIT">ms</field> <next> <block type="debug" id="jpLPS1!9N,JjrD~RrbNj" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="}?Aue~0~0}p3Ot%QMZ_m"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Q_1MS;Z#CD-9!QqR+ov," inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="H(-VA)t,[tNL65R]phgS"> <field name="TEXT">Pause nach Zyklus </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f)mniute:lYRX;Lo1L#o"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> </block> </value> <next> <block type="control_ex" id="5XKm$I@/+?lxIq6-oWgE" inline="true"> <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="ejUb?Vk`*~ZA?E~#|6-~"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="7=4Y)RVjD|n{@V44yt$%"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="IUheJ~n5,kLG+,l?=x{="> <field name="NUM">0</field> </shadow> </value> <next> <block type="timeouts_wait" id="!1,aeu-Y^,Q9fm6k-f0-"> <field name="DELAY">20</field> <field name="UNIT">sec</field> <next> <block type="math_change" id="8!jZ7qRMdtTg`][GxhqZ"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> <value name="DELTA"> <shadow type="math_number" id="_ovQLRk0lG81[Pr2ZD)^"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="5lv2Cb$=H;.$u7|}!?c!"> <value name="IF0"> <block type="logic_compare" id="^k+eR16;c*YM0*wF2Ej`"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="c=`nSX8+Nm|,zsbI/TED"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <value name="B"> <block type="math_number" id="W0y?-yQIX9R,GFvo]o?O"> <field name="NUM">7</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="Xo=5qp[$2KyN_0Lygm8m"> <mutation name="schleife"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@schroed99 sagte: Hier der Code
Du musst noch die Bedingung für die Fortführung der Schleife anpassen:
-
@paul53 Ja, das ist richtig. Wenn der Skript eingestellt ist, sollte der Durchlauf genau 3 mal pro Tag ausreichend sein. Bedeutet jeder durchlauf mit allen 7 Schritten dauert in Summe 8 Stunden. Daraus folgt, genau 3 Durchläufe pro Tag.
Vielen Dank nochmal...
Gruß TristanHier nochmal die Anpassung, welche Paul gemeint hat.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="DuKnNK_fb{/Qq{IFWG$v">zyklus</variable> <variable id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</variable> <variable id="Z}P^~lcsIWmg$xymi]s|">msg</variable> <variable id="5e7CDB8d+z)p64]UEPq)">aktiv</variable> <variable id="j=8.H21R4p}Bl_6Ddd*o">idAktor</variable> </variables> <block type="on_ext" id="#2~L4UEK6FMI+P3C8_A}" x="88" y="-62"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="~YXNBsr?ey*s$f%:jZ4i"> <field name="oid">0_userdata.0.vis_Abwasser.Grubenpumpe_automatik_aktiv</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id=";:Rs|y!a%3wq;-Gq4y)*"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> <value name="VALUE"> <block type="math_number" id="s-)-z[loX]EMloKW0R@j"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="3t3kFLx5D@^``,VtG=iF"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> <value name="VALUE"> <block type="get_value" id="0P~iY+t6f^Sol4pT||2S"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.vis_Abwasser.Grubenpumpe_belueftungs_zyklen</field> </block> </value> <next> <block type="procedures_callnoreturn" id="$n5B(VFgEN|}34zr:zK6"> <mutation name="schleife"></mutation> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="KAYmjF~QMX34:y[iSp-^" x="88" y="138"> <field name="NAME">schleife</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="logic_switch_case" id="XpXI#,j.tC[~8GE+~{XJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" case="2" default="1"></mutation> <value name="CONDITION"> <block type="variables_get" id="Xoh).rKK_L[CJQ0^}+s0"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <value name="CASECONDITION0"> <block type="math_number" id="FJUpW46g[o_p9Un*Nw~^"> <field name="NUM">1</field> </block> </value> <statement name="CASE0"> <block type="variables_set" id="0J#T-Qd7+AzZ5/[U5^m:"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="TAm,2C|I#_JI1FaKw%$C"> <field name="TEXT">Beschicken</field> </block> </value> <next> <block type="variables_set" id="WU.#loWYjVs;k[ZjmX|]"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="Dl8@Hb3TsdNEjD;lnCUc"> <field name="NUM">9</field> </block> </value> <next> <block type="variables_set" id=":sn1O`h-VhceoMK_}_zI"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="j8$xrAL~{Ydw9I(iUNH#"> <field name="oid">sonoff.0.ESP01RelayX401.POWER1</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="CASECONDITION1"> <block type="math_arithmetic" id="),k9?lv.o/om3NomMr{W"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="vc33fGuq!FL{t{]S!_;G"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="/$`U7I8kK^YGGgl(DAd7"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id=";ss@7U#hL!Y5^=@d-cyg"> <field name="NUM">2</field> </shadow> </value> </block> </value> <statement name="CASE1"> <block type="variables_set" id="]YYXU.NFb7e.b8{r]`%d"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="B7cr[{hU-7$(jxs(WceL"> <field name="TEXT">Klären</field> </block> </value> <next> <block type="variables_set" id=")Fq{]z_uqqB=GtjEjpdu"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="6d=`Qh,[~2xrxDp9i`!*"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="*q!j9!sgKD)sJ%*5siPA"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="9J0G}NXJt{.8;!RJ)(43"> <field name="oid">sonoff.0.ESP01RelayX401.POWER2</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="CASECONDITION2"> <block type="math_arithmetic" id="fE`0aSbODB?[jtna2h}v"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9/@{ZNE,kkpqqO2SG.2G"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id="XO++b0v;S*j;NMzvi;BH"> <field name="NUM">3</field> </shadow> </value> </block> </value> <statement name="CASE2"> <block type="variables_set" id="hGGvl6[y[m4/|,yw.QPA"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="~MYYG0S{7.2[+7412#d^"> <field name="TEXT">Abzug</field> </block> </value> <next> <block type="variables_set" id="C3odK@MB[#t1Z!(50$h~"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="wGY=4_:8UGJK@F[qh?CK"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="4SJl[9P1}0vuufWTQ,gH"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="K]x~$R#NFUG$7nrxrjbr"> <field name="oid">sonoff.0.ESP01RelayX401.POWER3</field> </block> </value> </block> </next> </block> </next> </block> </statement> <statement name="ONDEFAULT"> <block type="variables_set" id="cn^2?^q%(MRPg+t~|#f%"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="twa}Ya*L[_eS--R(9S$V"> <field name="TEXT">Belüften</field> </block> </value> <next> <block type="variables_set" id=".dN:vw*pv!Rx![CkY*me"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_number" id="tkz!m@SJi@i$wECG?W*u"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="sAiPw#-5qUpH59i,w_q@"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="mfa)=^OKxEB7*Vy[5hJ7"> <field name="oid">sonoff.0.ESP01RelayX401.POWER4</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id=",laPhqT$2^q}#uw|]$57" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="kpr2?rx6Oo(R!:{uo?[L"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="|OWmKH~#2EH#6pT;!b!z"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> </block> </value> <next> <block type="control_ex" id="?xxiMro8f;`R8-;/C}1-" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="R6fq3uZ1TbEH^yDHOu+5"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="|1;~@dEA*KaUDfky)uq]"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="xGaD39SHe-c!$4B$s7_,"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="62Up,oPj.ONas*pY]Qv]"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="3li0*|1lax?f;F+:xi_C"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_arithmetic" id="f~Cr0$$;v1AjdeH+XL1O"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="N*%].JB82X(RWzub}nc4"> <field name="NUM">60000</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="]8qP1.$j[3NPArG{fwGg"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="j9)yUKvy`yucNRO%|w-B"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> </block> </value> </block> </value> <next> <block type="timeouts_wait" id="{2_Egnhe*UM9dv?aB_0q"> <field name="DELAY">aktiv</field> <field name="UNIT">ms</field> <next> <block type="debug" id="jpLPS1!9N,JjrD~RrbNj" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="}?Aue~0~0}p3Ot%QMZ_m"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Q_1MS;Z#CD-9!QqR+ov," inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="H(-VA)t,[tNL65R]phgS"> <field name="TEXT">Pause nach Zyklus </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f)mniute:lYRX;Lo1L#o"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> </block> </value> <next> <block type="control_ex" id="5XKm$I@/+?lxIq6-oWgE" inline="true"> <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="ejUb?Vk`*~ZA?E~#|6-~"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="7=4Y)RVjD|n{@V44yt$%"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="IUheJ~n5,kLG+,l?=x{="> <field name="NUM">0</field> </shadow> </value> <next> <block type="timeouts_wait" id="!1,aeu-Y^,Q9fm6k-f0-"> <field name="DELAY">20</field> <field name="UNIT">sec</field> <next> <block type="math_change" id="8!jZ7qRMdtTg`][GxhqZ"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> <value name="DELTA"> <shadow type="math_number" id="_ovQLRk0lG81[Pr2ZD)^"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="5lv2Cb$=H;.$u7|}!?c!"> <value name="IF0"> <block type="logic_compare" id="^k+eR16;c*YM0*wF2Ej`"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="c=`nSX8+Nm|,zsbI/TED"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="=1GvY1`!n|gD+W}/y[+j"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Olj%1fZ%^64YjAqmIT,="> <field name="NUM">1</field> </shadow> <block type="variables_get" id="t0:G([-2Gn+Eev.eh!r6"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id="}Vs.kYIcqv@{p-XTS/w3"> <field name="NUM">3</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="Xo=5qp[$2KyN_0Lygm8m"> <mutation name="schleife"></mutation> <next> <block type="debug" id="au5|8a.:-r/9RJ2))RAJ"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="N%T)TpX4lmHQRuuROx4]"> <field name="TEXT">ende</field> </shadow> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
Ende:
Ich nehme an, dass nur zum Testen der Faktor für
aktiv
von 60000 auf 6000 verringert wurde? -
@paul53 Ja, ich will ja nicht so lange warten. Aber klar, ich hätte vorm importieren die Werte auf 60000 setzen müssen. Ich ändere es gleich oben noch ab. Danke
-
Hallo liebe Gemeinde,
es ist nun mittlerweile fast 1 Jahr her als mir @paul53 und @Asgothian dabei geholfen haben, meine Abwassersteuerung funktionell zu bauen. Diese läuft auch tadellos! Vielen Dank nochmal!
Dennoch gibt es aktuell den Bedarf, die Skript Abarbeitung zwischendurch zu stoppen. Aktuell arbeite ich in meinem Skript mit der "Pause" Funktion. Das ist bisher auch kein Problem. Aber sobald ich das Skript unterbrechen muss, wird es schwierig. Daher möchte ich gerne wissen, ob es eine einfache Methode gibt eine Skript -Pause zu beenden. Alternativ würde ich auf Timeout umbauen, doch das erfordert etwas mehr Zeit und Aufwand, statt zu fragen, ob es eine Möglichkeit der Unterbrechung von Pause ähnlich wie bei Tmeout gibt? Der Code zum aktuellen Skript ohne TimeOut:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="DuKnNK_fb{/Qq{IFWG$v">zyklus</variable> <variable id="Z}P^~lcsIWmg$xymi]s|">msg</variable> <variable id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</variable> <variable id="5e7CDB8d+z)p64]UEPq)">aktiv</variable> <variable id="j=8.H21R4p}Bl_6Ddd*o">idAktor</variable> <variable id="B-j9cKa:S*pgK]WlzI3K">Pausezeit</variable> </variables> <block type="procedures_defcustomnoreturn" id="J0gO|sDHc*((XLQY.GM7" x="512" y="-312"> <mutation statements="false"></mutation> <field name="NAME">dp_anlegen</field> <field name="SCRIPT">Ly9EYXRlbnB1bmt0IGVyc3RlbGxlbgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0RhdGVucHVua3QKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5UZXN0RGF0ZW5wdW5rdGUuQXV0b21hdGlrX29uIiwgewogICAgbmFtZTogJ0F1dG9tYXRpa19vbicsIAogICAgcm9sZTogJ2J1dHRvbicsCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKICAgIHR5cGU6ICJib29sZWFuIgp9KTsKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuVGVzdERhdGVucHVua3RlLkJlbHVlZnR1bmdzenlrbGVuIiwgewogICAgbmFtZTogJ0JlbHVlZnR1bmdzenlrbGVuJywgCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKICAgIHR5cGU6ICJpbnRlZ2VyIgp9KTsKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuVGVzdERhdGVucHVua3RlLnp5a2x1cyIsIHsKICAgIG5hbWU6ICd6eWtsdXMnLCAKICAgIHJlYWQ6ICB0cnVlLCAKICAgIHdyaXRlOiB0cnVlLAogICAgdHlwZTogImludGVnZXIiCn0pOwoKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuVGVzdERhdGVucHVua3RlLm1zZyIsIHsKICAgIG5hbWU6ICdtc2cnLCAKICAgIHJlYWQ6ICB0cnVlLCAKICAgIHdyaXRlOiB0cnVlLAogICAgdHlwZTogInRleHQiCn0pOwoKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5UZXN0RGF0ZW5wdW5rdGUuYmVmaW5kZXRfc2ljaF9pbV9BcmJlaXRzcHJvemVzcyIsIHsKICAgIG5hbWU6ICdiZWZpbmRldF9zaWNoX2ltX0FyYmVpdHNwcm96ZXNzJywgCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKICAgIHR5cGU6ICJ0ZXh0Igp9KTsKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuVGVzdERhdGVucHVua3RlLlBhdXNlbnplaXRfendpc2NoZW5fZGVuX1NjaHJpdHRlbiIsIHsKICAgIG5hbWU6ICdQYXVzZW56ZWl0X3p3aXNjaGVuX2Rlbl9TY2hyaXR0ZW4nLCAKICAgIHJlYWQ6ICB0cnVlLCAKICAgIHdyaXRlOiB0cnVlLAogICAgdHlwZTogImludGVnZXIiCn0pOwoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlRlc3REYXRlbnB1bmt0ZS5BcmJlaXRzemVpdF9CZXNjaGlja2VuIiwgewogICAgbmFtZTogJ0FyYmVpdHN6ZWl0X0Jlc2NoaWNrZW4nLCAKICAgIHJlYWQ6ICB0cnVlLCAKICAgIHdyaXRlOiB0cnVlLAogICAgdHlwZTogImludGVnZXIiCn0pOwoKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuVGVzdERhdGVucHVua3RlLkFyYmVpdHN6ZWl0X0tsYWVyZW4iLCB7CiAgICBuYW1lOiAnQXJiZWl0c3plaXRfS2xhZXJlbicsIAogICAgcmVhZDogIHRydWUsIAogICAgd3JpdGU6IHRydWUsCiAgICB0eXBlOiAiaW50ZWdlciIKfSk7CgpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlRlc3REYXRlbnB1bmt0ZS5BcmJlaXRzemVpdF9BYnp1ZyIsIHsKICAgIG5hbWU6ICdBcmJlaXRzemVpdF9BYnp1ZycsIAogICAgcmVhZDogIHRydWUsIAogICAgd3JpdGU6IHRydWUsCiAgICB0eXBlOiAiaW50ZWdlciIKfSk7CgpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlRlc3REYXRlbnB1bmt0ZS5BcmJlaXRzemVpdF9CZWx1ZWZ0ZW4iLCB7CiAgICBuYW1lOiAnQXJiZWl0c3plaXRfQmVsdWVmdGVuJywgCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKICAgIHR5cGU6ICJpbnRlZ2VyIgp9KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="M~d~!4/^/Bo{Y6lKG|ZP" x="1387" y="-313"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">false</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="LJ{VJW,T^ls-OA;YI*#W"> <field name="oid">0_userdata.0.TestDatenpunkte.Automatik_on</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="rAHf3W%AbDF=,91gSfhm" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Klärgrubensteuerung.POWER1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="giyra0!@8$.]gHMbnL.c"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="2wDPU[zh^y4G-?a/e`De" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Klärgrubensteuerung.POWER2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="=q+](eE9Ab!~sI$shH!D"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="nkL)9?bgXnKNxxRwh{)R" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Klärgrubensteuerung.POWER3</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="JrcA[)Ts)JML@[!.N_E@"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="G$um+j/h[!uC(?.kM?d9" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Klärgrubensteuerung.POWER4</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="gziwY~],boG/1G.YLrN="> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="update" id="P`hNw!K?K.tqlMm9e!F8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="){g.s5!N;fz31A;;UTo8"> <field name="TEXT">Automatik aus</field> </block> </value> <next> <block type="update" id=":_jJ}REX7~]ZMAe#:cq8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="+2S:^n7;qB{{l_1AHahH"> <field name="TEXT">Aus</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_callcustomnoreturn" id="Ea}XVqq[!YS}Dl7DzfJ/" x="513" y="-237"> <mutation name="dp_anlegen"></mutation> <next> <block type="comment" id="C3a/,Spt$^#8V%[$U0e["> <field name="COMMENT">Datenpunkte unter Testdatenpunkte anlegen</field> <next> <block type="on_ext" id="#2~L4UEK6FMI+P3C8_A}"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="~YXNBsr?ey*s$f%:jZ4i"> <field name="oid">0_userdata.0.TestDatenpunkte.Automatik_on</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="3Qt|LMXy9/2w~|!3XXUX"> <field name="COMMENT">neu einen Datenpunkt dafür benutzen</field> <next> <block type="comment" id="]9qep`m6Zg!mIxONu.#y"> <field name="COMMENT">lässt sich von außen besser steuern</field> <next> <block type="update" id="Dcc^hIH5V$X^lc5CP]em"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.zyklus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="f;ZS`fBsj|C;A$q~8o%a"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id=";:Rs|y!a%3wq;-Gq4y)*"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> <value name="VALUE"> <block type="get_value" id="`;{Kh@K{jgo-tt`a:3Nl"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.zyklus</field> </block> </value> <next> <block type="variables_set" id="3t3kFLx5D@^``,VtG=iF"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> <value name="VALUE"> <block type="get_value" id="0P~iY+t6f^Sol4pT||2S"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.Belueftungszyklen</field> </block> </value> <next> <block type="variables_set" id="Zhy)cO[JV/5+M9Ei;mdH"> <field name="VAR" id="B-j9cKa:S*pgK]WlzI3K">Pausezeit</field> <value name="VALUE"> <block type="get_value" id="YGI0W#vJw^Rq//*cjGV:"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.Pausenzeit_zwischen_den_Schritten</field> </block> </value> <next> <block type="procedures_callnoreturn" id="$n5B(VFgEN|}34zr:zK6"> <mutation name="schleife"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="KAYmjF~QMX34:y[iSp-^" x="513" y="137"> <field name="NAME">schleife</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="logic_switch_case" id="XpXI#,j.tC[~8GE+~{XJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" case="2" default="1"></mutation> <value name="CONDITION"> <block type="variables_get" id="Xoh).rKK_L[CJQ0^}+s0"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <value name="CASECONDITION0"> <block type="math_number" id="FJUpW46g[o_p9Un*Nw~^"> <field name="NUM">1</field> </block> </value> <statement name="CASE0"> <block type="comment" id="./Q^=)1w:Z{BKo95xZ%+"> <field name="COMMENT">Zyklus 1</field> <next> <block type="variables_set" id="0J#T-Qd7+AzZ5/[U5^m:"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="TAm,2C|I#_JI1FaKw%$C"> <field name="TEXT">Beschicken</field> </block> </value> <next> <block type="variables_set" id="WU.#loWYjVs;k[ZjmX|]"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="get_value" id="z-9bIETK=BL[4rNVkf0o"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.Arbeitszeit_Beschicken</field> </block> </value> <next> <block type="update" id="^yh72m;+*~sg-l3S(2t?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=":GXJnAE+m}^~f7]fbMbO"> <field name="TEXT">Beschicken</field> </block> </value> <next> <block type="comment" id="g%lMpl[S;mk3z!7!8[+["> <field name="COMMENT">Name des Aktors welcher gesteuert wird</field> <next> <block type="variables_set" id=":sn1O`h-VhceoMK_}_zI" disabled="true"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="j8$xrAL~{Ydw9I(iUNH#"> <field name="oid">sonoff.0.Klärgrubensteuerung.POWER2</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="CASECONDITION1"> <block type="math_arithmetic" id="),k9?lv.o/om3NomMr{W"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="vc33fGuq!FL{t{]S!_;G"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="/$`U7I8kK^YGGgl(DAd7"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id=";ss@7U#hL!Y5^=@d-cyg"> <field name="NUM">2</field> </shadow> </value> </block> </value> <statement name="CASE1"> <block type="comment" id="Qq[$Se-[_?($R.e)_O?a"> <field name="COMMENT">Zyklus Anzahl + 2 bzw. vorletzter Schritt</field> <next> <block type="variables_set" id="]YYXU.NFb7e.b8{r]`%d"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="B7cr[{hU-7$(jxs(WceL"> <field name="TEXT">Klären</field> </block> </value> <next> <block type="variables_set" id=")Fq{]z_uqqB=GtjEjpdu"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="get_value" id="+T6}PCh-uxP+bpwtb^0t"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.Arbeitszeit_Klaeren</field> </block> </value> <next> <block type="update" id="Bc3RWxxFbnPJkmo1$_JT"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Pk{d$no@p%jTO0/3?)XM"> <field name="TEXT">Klären</field> </block> </value> <next> <block type="comment" id="G..g@JP.]M[h!DW8@[Ue"> <field name="COMMENT">Name des Aktors welcher gesteuert wird</field> <next> <block type="variables_set" id="*q!j9!sgKD)sJ%*5siPA" disabled="true"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="9J0G}NXJt{.8;!RJ)(43"> <field name="oid">sonoff.0.Klärgrubensteuerung.POWER4</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="CASECONDITION2"> <block type="math_arithmetic" id="fE`0aSbODB?[jtna2h}v"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9/@{ZNE,kkpqqO2SG.2G"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id="XO++b0v;S*j;NMzvi;BH"> <field name="NUM">3</field> </shadow> </value> </block> </value> <statement name="CASE2"> <block type="comment" id="6Ivmn4`U#uYU9Cp!+vpQ"> <field name="COMMENT">Zyklus Anzahl + 3 letzter Schritt</field> <next> <block type="variables_set" id="hGGvl6[y[m4/|,yw.QPA"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="~MYYG0S{7.2[+7412#d^"> <field name="TEXT">Abzug</field> </block> </value> <next> <block type="variables_set" id="C3odK@MB[#t1Z!(50$h~"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="get_value" id="qH=:(p;|_UpVg#HV8e3s"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.Arbeitszeit_Abzug</field> </block> </value> <next> <block type="update" id="@s/Qj]rZ`?wT^bXOxpb*"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="honL*{6{Ouaa]-Tb6UkL"> <field name="TEXT">Abzug</field> </block> </value> <next> <block type="comment" id="}ja]v+mo.c}o/G]f!G!x"> <field name="COMMENT">Name des Aktors welcher gesteuert wird</field> <next> <block type="variables_set" id="4SJl[9P1}0vuufWTQ,gH" disabled="true"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="K]x~$R#NFUG$7nrxrjbr"> <field name="oid">sonoff.0.Klärgrubensteuerung.POWER1</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ONDEFAULT"> <block type="variables_set" id="cn^2?^q%(MRPg+t~|#f%"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> <value name="VALUE"> <block type="text" id="twa}Ya*L[_eS--R(9S$V"> <field name="TEXT">Belüften</field> </block> </value> <next> <block type="variables_set" id=".dN:vw*pv!Rx![CkY*me"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="get_value" id="#.?wHX:t`cw0JV^g8]Vz"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.TestDatenpunkte.Arbeitszeit_Abzug</field> </block> </value> <next> <block type="update" id="a]$;*bxzJ}~0cw(~:4A]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Y22?QLN`TAogOC~P8*WC"> <field name="TEXT">Belüften</field> </block> </value> <next> <block type="comment" id="M`Qmda`:DZ*C1gi)K.86"> <field name="COMMENT">Name des Aktors welcher gesteuert wird</field> <next> <block type="variables_set" id="sAiPw#-5qUpH59i,w_q@" disabled="true"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> <value name="VALUE"> <block type="field_oid" id="mfa)=^OKxEB7*Vy[5hJ7"> <field name="oid">sonoff.0.Klärgrubensteuerung.POWER3</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="update" id="Q!^Oz9P(o~fmyk$/hyxr"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Mh4H-G$Kx+:kh0*Te9bV"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> </block> </value> <next> <block type="debug" id=",laPhqT$2^q}#uw|]$57" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="kpr2?rx6Oo(R!:{uo?[L"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="|OWmKH~#2EH#6pT;!b!z"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> </block> </value> <next> <block type="comment" id=",4X$A+SG]*@_R@WZU@f5"> <field name="COMMENT">gesteuertes Gerät einschalten</field> <next> <block type="control_ex" id="?xxiMro8f;`R8-;/C}1-" inline="true" disabled="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="R6fq3uZ1TbEH^yDHOu+5"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="|1;~@dEA*KaUDfky)uq]"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="xGaD39SHe-c!$4B$s7_,"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="62Up,oPj.ONas*pY]Qv]"> <field name="NUM">0</field> </shadow> </value> <next> <block type="comment" id="Mq_,(%job[b]w#b$fYpj"> <field name="COMMENT">Zeiterrechnen aus der Variable aktiv</field> <next> <block type="variables_set" id="3li0*|1lax?f;F+:xi_C"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> <value name="VALUE"> <block type="math_arithmetic" id="f~Cr0$$;v1AjdeH+XL1O"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="N*%].JB82X(RWzub}nc4"> <field name="NUM">6000</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="]8qP1.$j[3NPArG{fwGg"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="j9)yUKvy`yucNRO%|w-B"> <field name="VAR" id="5e7CDB8d+z)p64]UEPq)">aktiv</field> </block> </value> </block> </value> <next> <block type="comment" id="Q*ERvQ~(GE~[g[l78=bX"> <field name="COMMENT">jetzt wird die Zeit gewartet</field> <next> <block type="timeouts_wait" id="nFt;A}am$;0IvKl+`E+K"> <field name="DELAY">aktiv</field> <field name="UNIT">ms</field> <next> <block type="update" id="zkY[.j+!OSB],5r6_fH?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="|:vjm7hztuc~!!5/5/%K"> <field name="TEXT">Pause</field> </block> </value> <next> <block type="update" id="*I2=-=wcA?V*uTPB+YGb"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="cpBL[qU`d%ibbgxb86}p" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="nJ]NcNTg#SXc_]4VRLU%"> <field name="TEXT">Pause nach Zyklus </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="1mIU164^AIw+($X8Xq[."> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> </block> </value> </block> </value> <next> <block type="debug" id="jpLPS1!9N,JjrD~RrbNj" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="}?Aue~0~0}p3Ot%QMZ_m"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Q_1MS;Z#CD-9!QqR+ov," inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="H(-VA)t,[tNL65R]phgS"> <field name="TEXT">Pause nach Zyklus </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f)mniute:lYRX;Lo1L#o"> <field name="VAR" id="Z}P^~lcsIWmg$xymi]s|">msg</field> </block> </value> </block> </value> <next> <block type="comment" id="MeNpJgQV/,kwar$RN#q3"> <field name="COMMENT">gesteuertes Gerät ausschalten</field> <next> <block type="control_ex" id="5XKm$I@/+?lxIq6-oWgE" inline="true" disabled="true"> <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="ejUb?Vk`*~ZA?E~#|6-~"> <field name="VAR" id="j=8.H21R4p}Bl_6Ddd*o">idAktor</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="7=4Y)RVjD|n{@V44yt$%"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="IUheJ~n5,kLG+,l?=x{="> <field name="NUM">0</field> </shadow> </value> <next> <block type="debug" id="DYd#2Ia@]Zb)[y{Dpj$x"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="vp4.eOJQs6pkCMZ!LIZ}"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="[DA1R8asH.iDLckzInq[" inline="true"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="4$:_,eku|`vllhd8UPk{"> <field name="TEXT">Pausezeit : </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="7Iq#9$=7Ze.XT$V(Aoy5"> <field name="VAR" id="B-j9cKa:S*pgK]WlzI3K">Pausezeit</field> </block> </value> <value name="ADD2"> <block type="text" id="@v+[)$j|X_pMr^O9VdoP"> <field name="TEXT"> Sekunden</field> </block> </value> </block> </value> <next> <block type="variables_set" id="kM@*,@_q(M#C,3Q]n$;y"> <field name="VAR" id="B-j9cKa:S*pgK]WlzI3K">Pausezeit</field> <value name="VALUE"> <block type="math_arithmetic" id="lAQl}%]!`;Li}`O4Q]v."> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id=")70U#@?td]_;;?J8jWle"> <field name="NUM">6000</field> </shadow> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="EtRe[iSG}r5FIQ4y@E9a"> <field name="VAR" id="B-j9cKa:S*pgK]WlzI3K">Pausezeit</field> </block> </value> </block> </value> <next> <block type="timeouts_wait" id="y{L/J6R@?8+UfC*cX2P*"> <field name="DELAY">Pausezeit</field> <field name="UNIT">ms</field> <next> <block type="comment" id="Gxqt~Q/tRI%mK0xu{I8/"> <field name="COMMENT">Zyklus wird um 1 erhöht</field> <next> <block type="math_change" id="E.q/@kA}h1MvVXFyNLE#"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> <value name="DELTA"> <shadow type="math_number" id="3tZm*cf0j~)=vh{KM8:y"> <field name="NUM">1</field> </shadow> </value> <next> <block type="update" id="CQ%hpnPW|Nrb_Kxzb2oS"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.zyklus</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="dMTrOxOGthI%mhKXsjBk"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <next> <block type="controls_if" id="p)%~WIwU27W_|rF$FIT!"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="#q[ghM@~w4l|6VFHXNu^"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="$*bOZe[H9oMHWSwS=X$u"> <field name="VAR" id="DuKnNK_fb{/Qq{IFWG$v">zyklus</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="!`ckYW}pZ]t(~dYT.U1g"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id=",0Vjfd%h|1o[wFXpR+oj"> <field name="VAR" id=":Mj#Vtl}cC1M:v#90=PD">anzahlBelueftung</field> </block> </value> <value name="B"> <shadow type="math_number" id="5*][;-*XoZNPch@f]d*C"> <field name="NUM">3</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="}Ra|KK($BaRXeOu]T7Sk"> <mutation name="schleife"></mutation> </block> </statement> <statement name="ELSE"> <block type="update" id="p8;[w;q0$KtXzWoV2svF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.befindet_sich_im_Arbeitsprozess</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="%gMMTkxh{h:KwY_WHz^@"> <field name="TEXT">Ende</field> </block> </value> <next> <block type="update" id="3|4jaxn8,K,H8=7B-U4)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.TestDatenpunkte.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="mUW+q1ewzh0kY{W!zDqy"> <field name="TEXT">Ende der Durchläufe</field> </block> </value> <next> <block type="debug" id="W-7):4R3YXQ#-8(%t(K-"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="aI$q4b;V/:l*YVk1B-n4"> <field name="TEXT">ende</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>