- Home
- Deutsch
- Skripten / Logik
- Blockly
- [gelöst] Blockly Interv. n. Stop an selber Stelle fortsetzen
[gelöst] Blockly Interv. n. Stop an selber Stelle fortsetzen
-
Hallo zusammen,
ich habe seit letztem Jahr dieses Script zuverlässig im Einsatz (hier nur ein Ausschnitt und keine realen Zeiten). Da ich leider nicht genug Wasserdruck zur Verfügung habe, möchte ich die Ventile meiner Bewässerung nacheinander starten.
Das Intervall soll aber gestoppt werden, wenn der Rasenmäher startet und danach wieder an der letzten Stelle starten.
Ich habe bis jetzt einiges ausprobiert, komme aber leider nicht vorran.
.... Und ja es mag sicherlich den einen oder anderen Adapter für soetwas geben, habe aber 10 Ventile im Einsatz und dafür habe ich leider keinen passenden Adapter gefunden.kann mir hier vielleicht jemand weiterhelfen?
-
Ich fürchte um das umzusetzen musst du das Skript systematisch umstellen.
Der übliche Weg ist:
Du erzeugst eine Liste mit Einträgen in denen jedes Ventil und die jeweilige Laufzeit eingetragen ist. Dann gehst du durch die Liste und führst die entsprechenden Aktionen nacheinander aus.
Wenn du das so umsetzt kannst du mittendrin anhalten und dann am gleichen oder folgenden listeneintrag weiter machen.
A.
-
@falke69
So?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="32)9xq[(=NcnOU]:[+jl">AnzVentile</variable> <variable id="BJYNZsK9jAC0x{+;=Y_[">Ventil</variable> <variable type="interval" id="Intervall">Intervall</variable> <variable id="Pd6x@(BY%Bn3)PaYlug(">Bewässern</variable> </variables> <block type="create" id="UhpxqK$JBY(5,Ac=RF$n" x="187" y="-87"> <field name="NAME">0_userdata.0.WASSER.AktVentil</field> <next> <block type="create" id="R#2SqG{]H`oR*Bn,dMc+"> <field name="NAME">0_userdata.0.WASSER.RasenmäherAn</field> <next> <block type="create" id="tIsdd?G$tCI-%u[;!@b;"> <field name="NAME">0_userdata.0.WASSER.BewässerungAn</field> <next> <block type="create" id=")!czAz=$.UGi7C`8W.ze"> <field name="NAME">0_userdata.0.WASSER.TESTBewässerung1</field> <next> <block type="create" id="vq0:zJ4N48LLEEzV9TJo"> <field name="NAME">0_userdata.0.WASSER.TESTBewässerung2</field> <next> <block type="create" id="SNBytG+PN40U=0e?3q(j"> <field name="NAME">0_userdata.0.WASSER.TESTBewässerung3</field> <next> <block type="variables_set" id="(`,qf6c=mWT[.0(|q^UB"> <field name="VAR" id="32)9xq[(=NcnOU]:[+jl">AnzVentile</field> <value name="VALUE"> <block type="math_number" id="T(SoRX4omcWd4(Ah{JB%"> <field name="NUM">3</field> </block> </value> <next> <block type="variables_set" id="Ti+P1:)$aGNu$=*#f39!"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> <value name="VALUE"> <block type="get_value" id=",~E!QCi5i,mTRAbw65Ok"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.WASSER.AktVentil</field> </block> </value> <next> <block type="on_ext" id="UcwU(+q6o+x4AL]+lPTE"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="DI6w1R86?c/OP3CnnkL%"> <field name="oid">0_userdata.0.WASSER.BewässerungAn</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="3;Vv]ZDHcTfpoM)J4Xxt"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="n(Q5,9,aHhOAkRO:q{k_"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="Vs7/S2/82Xf)/VB_.L=V"> <field name="NAME">Intervall</field> <field name="INTERVAL">3</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control_ex" id="grN7zgX-Llg4$W=C#GX3" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="paNWW6mVQ$l$PlN3`=Pq"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="f`vc~g7RjkZt7~k]O}ka"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="P0Kp}^{k#HG0svk-pUK4"> <field name="TEXT">0_userdata.0.WASSER.TESTBewässerung</field> </block> </value> <value name="ADD1"> <block type="variables_get" id=".5GJ!,sAB3(SMhXIx$lg"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="/xqy{3[5ZF2]/miq*C;~"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="3hD$kqL{xOv:n}nFy[%F"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="JJ5RvtxzqB~T1YZHf`Gp" 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="text_join" id="rmvC,VZ!^s|h#xTuh`a["> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="DLF+;NV##_D(,3a^Zy;;"> <field name="TEXT">0_userdata.0.WASSER.TESTBewässerung</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="4nAUb6LD7S,ho*aOJB!A"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="-9vl!]{/3,=HPYH2_~y3"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="[n`}{1UK~opviA4yvoCj"> <field name="NUM">1000</field> </shadow> </value> <next> <block type="math_change" id="($p{wEPD2]rK{KRW|S;V"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> <value name="DELTA"> <shadow type="math_number" id="Jhq_4Yl5:fAQ4X0x%}xZ"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="LZ!-!?%a,SmA^5s_RUl`"> <value name="IF0"> <block type="logic_compare" id="H4#8CPz}V]rs2xxINA13"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="lJ^Td?EdBeNW[ywpY#Be"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> </block> </value> <value name="B"> <block type="variables_get" id="r_UNJy!_[8wsY`UXuNMj"> <field name="VAR" id="32)9xq[(=NcnOU]:[+jl">AnzVentile</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=",O3GJ}.cu$j.9^]q?qyQ"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> <value name="VALUE"> <block type="math_number" id="B3]l6R6fJw4s]0P$iMT;"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="control" id="RU:.Erv.ikOj004PQ$/="> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.WASSER.AktVentil</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="6?]k4Ey@2PQifkZ9{68)"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> </block> </value> <next> <block type="debug" id="[RBVRN?cRl3nEX+,L3uE"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="KGS6pDAjbj^aA=e99?A/"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="G4$6+.Q2M07{kH)hC0]R"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="$;ym`),`?Qh;Hdiu7j.T"> <field name="TEXT">0_userdata.0.WASSER.TESTBewässerung</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="AT-ilO.#^v!^z0#Q95sM"> <field name="VAR" id="BJYNZsK9jAC0x{+;=Y_[">Ventil</field> </block> </value> </block> </value> <next> <block type="controls_if" id="JkjE;VL~7EZ6%XLUx=rU"> <value name="IF0"> <block type="get_value" id="[n!WZ7zn-i)F#~~DU}2/"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.WASSER.RasenmäherAn</field> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="?g$(q4=YAZ@INI|)onvt"> <field name="NAME">Intervall</field> <next> <block type="variables_set" id="!OhSX#eix2n+D:/H-$rb"> <field name="VAR" id="Pd6x@(BY%Bn3)PaYlug(">Bewässern</field> <value name="VALUE"> <block type="logic_boolean" id="BIqK9-A)[).l]c]m%W(P"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="debug" id="(rz--M2RqjDz-eR]rb7-"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="wOp[OHD=BUGOy*Z-Tvea"> <field name="TEXT">test</field> </shadow> <block type="text" id="]5^#ZD2nBE$1W6xhd]Wa"> <field name="TEXT">Bewässerung ausgesetzt Rasenmäher an</field> </block> </value> <next> <block type="control" id="v!7D+9wCY@W?xA)-g[rO"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.WASSER.BewässerungAn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*{bm4LE:f:OJlhT|XhzE"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="KE4TL%eHgvy`Q-]7E/KD"> <value name="IF0"> <block type="logic_negate" id="*.qwEXVdblhFmY;5Y;=v"> <value name="BOOL"> <block type="variables_get" id="?mms`xU8@s8.*MH8Sx??"> <field name="VAR" id="Pd6x@(BY%Bn3)PaYlug(">Bewässern</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=")s/fOA{y1-)fLp=HB7-Q"> <field name="VAR" id="Pd6x@(BY%Bn3)PaYlug(">Bewässern</field> <value name="VALUE"> <block type="logic_boolean" id="TF.0A2IPx[gg;6sbWz,}"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="debug" id="#gVsG:/#$w7K.s6nXdPL"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text" id="hVEyk$p?;j4Bg[BqA3rD"> <field name="TEXT">Bewässerung ausgeschaltet</field> </block> </value> <next> <block type="timeouts_clearinterval" id="C!sPeb(l[K7^Sw!@2u{E"> <field name="NAME">Intervall</field> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="on_ext" id="k~27~Yu5hqJ1o.i29N8."> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="/i:d=5XpvR=]5Hb@x@m#"> <field name="oid">0_userdata.0.WASSER.RasenmäherAn</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Rujo/msmK?o[w5*Hv8Y)"> <value name="IF0"> <block type="logic_negate" id="E$I}7;wVV]sX@m8`7cK6"> <value name="BOOL"> <block type="on_source" id="A.cd*Q#vz{{RYWy=2:2A"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="jb|$02$4BENVL74=[G,s"> <value name="IF0"> <block type="variables_get" id="F1@QuT%i)^C,^6?o2;Y,"> <field name="VAR" id="Pd6x@(BY%Bn3)PaYlug(">Bewässern</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="dx5`|{DQMjV=Ou0eQ~6Q"> <field name="VAR" id="Pd6x@(BY%Bn3)PaYlug(">Bewässern</field> <value name="VALUE"> <block type="logic_boolean" id="wxFlDf}l{{q~XD0BBMk)"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="debug" id="Ba$-8;sX:QTOPi5e{3o@"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text" id="@-S4?+_xDI(4DOebHoUF"> <field name="TEXT">Bewässerung nach Aussetzen gestartet</field> </block> </value> <next> <block type="control" id="us62O-yJpaP2UCjCeklE"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.WASSER.BewässerungAn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id=";nS%cQ%vtRT5/{ymL_c2"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
genau so sollte es aussehen.
Wenn der Rasenmäher angeht, soll die Bewässerung ausgeschaltet werden und wenn der Rasenmäher wieder zu Hause ist, die Bewässerung wieder eingeschaltet werden.
So wie ich es aktuell habe, fängt die Bewässerung immer wieder von vorne an. Wenn es z.B. am vorletzten Ventil ankommt, startet der Rasenmäher wieder und das letzte Ventil kommt nie dazu Wasser auf der Wiese zu verteilen.Wie hast Du das gelößt?
-
@falke69 Das Blockly kannst du importieren in ein neues Blockly Script und dir dann anschauen.
-
@mcu
hast Du was in Deinem Post angehangen?
Ich kann leider nix sehen. -
@falke69 Da gibt es einen Button BLOCKLY , drauf klicken und die Zeilen markieren mit gedrückter Maustaste runterziehen.
https://forum.iobroker.net/topic/43827/blockly-intervall-nach-stop-an-selber-stelle-fortsetzen/3 -
Danke! Den muss ich übersehen haben.
Ich werde jetzt mal testen. -
Spitze! Danke!
Funktioniert super -
@falke69 Dann bitte im ersten Post die Überschrift anpassen mit [gelöst]. Danke.