NEWS
Steuerung Poolpumpe
-
Nach der Zeit änderung passiert nix mehr
7208_1.png -
Dann mal ein paar debug-Blöcke an sinnvollen Stellen einbauen und beobachten
-
OHO!!!
Dein RasPi hat die falsche Uhrzeit!!!!
Der RasPi geht zwei Stunden nach
-
-
-
Der RasPi geht zwei Stunden nach `
Stimmt ! Dann muss halt 2 Stunden gewartet werden, bis der Test-Schedule ausgeführt wird :lol: -
Ich denke das Script geht jetzt es war wirklich die falsche Zeit auf dem Server…
Warum er aber sagt das der Testschalter nicht da ist weiß ich nicht
Ich hab jetzt den DECT Schalter wieder genommen zum Testen
7208_1.png -
Text editieren ist ja nett, aber wie ist das Ergebnis?
-
Text editieren ist ja nett, aber wie ist das Ergebnis? `
javascript.0 2018-06-13 19:55:00.821 warn script.js.common.Pool.Filteranlage: setForeignState(id=fritzdect.0.DECT200_087610446720.state, state=true) - was not executed, while debug mode is active
habe jetzt noch den Debug ausgeschalten mal sehen
-
Es geht, na endlich…
DANKE für eure Gedult mir und der supper hilfe... jetzt nur noch die 2. Zeit scripten und die Schadule :shock:
-
Dann versuche es mal mit dem folgenden Blockly-Export (Datenpunkte "Test.Schalter" müssen getauscht werden).
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defnoreturn" id="Tt0xA0VHK,r.z*!/F^qy" x="-337" y="113"><mutation><arg name="val"></arg></mutation>
<field name="NAME">setSchedule1</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK"><block type="variables_set" id=":TM{I_9V?m1Ee_.hPN{H"><field name="VAR">uhrzeit</field>
<value name="VALUE"><block type="lists_split" id=",ZR]bZp7s68icCbFu}r{"><mutation mode="SPLIT"></mutation>
<field name="MODE">SPLIT</field>
<value name="INPUT"><block type="variables_get" id="Rr}ftb+:QVF{0BgH!lw"><field name="VAR">val</field></block></value>
<value name="DELIM"><shadow type="text" id="Z_uEO+Fh)/BJmRl[klKf"><field name="TEXT">:</field></shadow>
<block type="text" id="EK0BSe78ZX-?A2~fDl8{"><field name="TEXT">:</field></block></value></block></value>
<next><block type="schedule_clear" id="9KnW0{[3G~MIYO?l8f?f"><field name="NAME">schedule1</field>
<next><block type="schedule_create" id="wCivpX31v44lJw7_xJDu"><field name="NAME">schedule1</field>
<value name="SCHEDULE"><shadow type="field_cron" id="+8y!j8q]Sur^hPyYtgi%"><field name="CRON">* * * * </field></shadow>
<block type="cron_builder" id="^UHwrCc(v|w]C-+#GkF"><mutation seconds="false" as_line="false"></mutation>
<field name="LINE">FALSE</field>
<field name="WITH_SECONDS">FALSE</field>
<value name="DOW"><shadow type="text" id="k+0Up{NX:8#}^/@./N5"><field name="TEXT">*</field></shadow></value> <value name="MONTHS"><shadow type="text" id="ewTOM~F/WOLpE-a0lnUL"><field name="TEXT">*</field></shadow></value> <value name="DAYS"><shadow type="text" id="w,T#?S|GH8/Xf6XudwO("><field name="TEXT">*</field></shadow></value> <value name="HOURS"><shadow type="text" id="m@SJ8RwvU[7ABk*YT!{?"><field name="TEXT">*</field></shadow> <block type="lists_getIndex" id="jMrWMISH#4TF1wTzs4pv"><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=".(30DCd,DMb:?A_6HyOd"><field name="VAR">uhrzeit</field></block></value> <value name="AT"><block type="math_number" id="Gl}%9i=g-b)xymxGs4iC"><field name="NUM">1</field></block></value></block></value> <value name="MINUTES"><shadow type="text" id=";zCdi%b
Qk+N8M0ZJ;D,"><field name="TEXT">*</field></shadow>
<block type="lists_getIndex" id="g./,PD-SgU8u.FSm)u4"><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="wbp}06P,).t[ZUoj!(h1"><field name="VAR">uhrzeit</field></block></value> <value name="AT"><block type="math_number" id="e[|}CD;gH
11o-@dHS|L"><field name="NUM">2</field></block></value></block></value></block></value>
<statement name="STATEMENT"><block type="controls_if" id="%^~t=c|M8s.h8g/J}wgQ"><value name="IF0"><block type="logic_compare" id="UQety?LU4%o.,Bb!QerE"><field name="OP">EQ</field>
<value name="A"><block type="get_value" id="tZsLmoA54T2U[FT@lqol"><field name="ATTR">val</field>
<field name="OID">javascript.0.Pool.Filteranlage.Automatik_an_aus</field></block></value>
<value name="B"><block type="logic_boolean" id="kn1R#)VS,DPaw%{%+#;4"><field name="BOOL">TRUE</field></block></value></block></value>
<statement name="DO0"><block type="variables_set" id="7)^4Io3e
Zrq-kGd~Qj"><field name="VAR">cnt</field>
<value name="VALUE"><block type="math_number" id="1Kj|oil3plRrR]s0NPd)"><field name="NUM">0</field></block></value>
<next><block type="control" id="ben}AEk{jucTv9a4]l/K"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Test.Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="dJp+,[-fIDuMe_YQo,ox"><field name="BOOL">TRUE</field></block></value>
<next><block type="timeouts_setinterval" id="/[Nu7w?[nEsQGqozYz=m"><field name="NAME">Intervall</field>
<field name="INTERVAL">1</field>
<field name="UNIT">min</field>
<statement name="STATEMENT"><block type="math_change" id="r~n}#k],X4[F]!,n)="><field name="VAR">cnt</field>
<value name="DELTA"><shadow type="math_number" id="C}F]WEMTQ~EhL[0o8ih|"><field name="NUM">1</field></shadow></value>
<next><block type="controls_if" id="xB!NUsb#R5BJqkLe0]|9"><value name="IF0"><block type="logic_compare" id="/1i(aPh}KZRqi^qOI#t3"><field name="OP">EQ</field>
<value name="A"><block type="variables_get" id="]v},qw4o{KvMdFdL6+}"><field name="VAR">cnt</field></block></value>
<value name="B"><block type="get_value" id="IBU)^98k6^Tb~ECDm37q"><field name="ATTR">val</field>
<field name="OID">javascript.0.Pool.Filteranlage.Laufzeit_1</field></block></value></block></value>
<statement name="DO0"><block type="control" id="UoxjrCm~3MpaX.crkAy"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Test.Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="(JNXSu!TbE3*?sYQ+eSy"><field name="BOOL">FALSE</field></block></value>
<next><block type="timeouts_clearinterval" id="?jnoAd7epof4w?49i/7K"><field name="NAME">Intervall</field></block></next></block></statement></block></next></block></statement></block></next></block></next></block></statement></block></statement></block></next></block></next></block></statement></block>
<block type="procedures_defnoreturn" id="RFQ.obPn!Y7srwy90O|" x="438" y="113"><mutation><arg name="val"></arg></mutation>
<field name="NAME">setSchedule2</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK"><block type="variables_set" id="d^=ZEUy]GYZ56.gl?F/"><field name="VAR">uhrzeit</field> <value name="VALUE"><block type="lists_split" id="f:6FRWJ%cZ~K!w#ZT3s5"><mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"><block type="variables_get" id="2Gi,?Ofc~pYi*W%?G[zk"><field name="VAR">val</field></block></value> <value name="DELIM"><shadow type="text" id="Z_uEO+Fh)/BJmRl[klKf"><field name="TEXT">:</field></shadow> <block type="text" id="3dJ|85Z45w)?jCRwr(cf"><field name="TEXT">:</field></block></value></block></value> <next><block type="schedule_clear" id="n#^bdT@l;~@;S2wj3WNB"><field name="NAME">schedule2</field> <next><block type="schedule_create" id="Tth=l}xOD^gwvo14SBiZ"><field name="NAME">schedule2</field> <value name="SCHEDULE"><shadow type="field_cron" id="+8y!j8q]Sur^hPyYtgi%"><field name="CRON">* * * * *</field></shadow> <block type="cron_builder" id="Z+im4IIyiq9X}0KmhG7U"><mutation seconds="false" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">FALSE</field> <value name="DOW"><shadow type="text" id="ZW/lJ4FetQBaRc^YW]pE"><field name="TEXT">*</field></shadow></value> <value name="MONTHS"><shadow type="text" id="SBvGN@~F37(zDi4tXC{X"><field name="TEXT">*</field></shadow></value> <value name="DAYS"><shadow type="text" id="}UMqO#rLTH3D
N6Te_sR"><field name="TEXT">*</field></shadow></value>
<value name="HOURS"><shadow type="text" id="+#6NNfd8./nAtqP[2M}"><field name="TEXT">*</field></shadow>
<block type="lists_getIndex" id="r7A^e?z]jD8)*Na?vP"><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="%tBj3-pz@Eh/Z-jKAPw,"><field name="VAR">uhrzeit</field></block></value>
<value name="AT"><block type="math_number" id="lHIQYeE/shk_~nHg[v23"><field name="NUM">1</field></block></value></block></value>
<value name="MINUTES"><shadow type="text" id="A(cHLXuA#!Ub@)JSZ[F"><field name="TEXT"></field></shadow>
<block type="lists_getIndex" id="_+g[C.u[wN25;(@x{V5h"><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="R!4JRYqCfZZ)|nly@]x"><field name="VAR">uhrzeit</field></block></value> <value name="AT"><block type="math_number" id="S6+bNTS,wgM6X9Ufhl2?"><field name="NUM">2</field></block></value></block></value></block></value> <statement name="STATEMENT"><block type="controls_if" id="=2N:wbHsftvm]p;FsJCF"><value name="IF0"><block type="logic_compare" id="UWu:XEP!vB0d
!=iev}"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="xlX
V5KS.1[?8ldNLt1"><field name="ATTR">val</field> <field name="OID">javascript.0.Pool.Filteranlage.Automatik_an_aus</field></block></value> <value name="B"><block type="logic_boolean" id="Vt,;D7oJB*Fj*{CBX(V|"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="variables_set" id=",(Bh^gsl@%mfb#qCSN)%"><field name="VAR">cnt</field> <value name="VALUE"><block type="math_number" id="xeJe=Ol;Y%Rj8M(@BMGj"><field name="NUM">0</field></block></value> <next><block type="control" id="P^Jwf-#R-[c5W8+aqyvh"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Test.Schalter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="jtY%VYmJ0(hQABpsLa/X"><field name="BOOL">TRUE</field></block></value> <next><block type="timeouts_setinterval" id="qe6MZO;Fn3n{e8-@?r_4"><field name="NAME">Intervall2</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="math_change" id="*7Li#M!Eb==AI7qd~(:v"><field name="VAR">cnt</field> <value name="DELTA"><shadow type="math_number" id="7Uy%-?!Rtk)+vTMv?d@f"><field name="NUM">1</field></shadow></value> <next><block type="controls_if" id="0fuMbP7US_qs!CW~6}^K"><value name="IF0"><block type="logic_compare" id="yL%B1QG/*spywVvL=lpV"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="#Q@P}egw*Z5_Uy/dKO8G"><field name="VAR">cnt</field></block></value> <value name="B"><block type="get_value" id="?{y#}8;PI,k.UY[#CNAD"><field name="ATTR">val</field> <field name="OID">javascript.0.Pool.Filteranlage.Laufzeit_2</field></block></value></block></value> <statement name="DO0"><block type="control" id="58@zNMKs3-ZCcfmaUO2}"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Test.Schalter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="/@Yp6:tXUYSDAx
K9!2a"><field name="BOOL">FALSE</field></block></value>
<next><block type="timeouts_clearinterval" id="Zr.iu~OgJJ[#s1r;ya6"><field name="NAME">Intervall2</field></block></next></block></statement></block></next></block></statement></block></next></block></next></block></statement></block></statement></block></next></block></next></block></statement></block> <block type="comment" id="k6^.];r8m3:y
)N[A{6o" x="-338" y="788"><field name="COMMENT">Skriptstart</field>
<next><block type="procedures_callnoreturn" id="(K695hTsOXlhC?7Jq2+9"><mutation name="setSchedule1"><arg name="val"></arg></mutation>
<value name="ARG0"><block type="get_value" id="jUX[vzWO{txM+twF=!3"><field name="ATTR">val</field>
<field name="OID">javascript.0.Pool.Filteranlage.Startzeit_1</field></block></value>
<next><block type="on_ext" id="Ho}{E7]v|11A@#,,{R;X"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id=":q5=lHsO](F;AWud(hn5"><field name="oid">javascript.0.Pool.Filteranlage.Startzeit_1</field></shadow></value> <statement name="STATEMENT"><block type="procedures_callnoreturn" id="@XLk%7Nongxr!YE5ghK/"><mutation name="setSchedule1"><arg name="val"></arg></mutation> <value name="ARG0"><block type="on_source" id="UIvUD^a@j3Tz~=7G]]Mz"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block>
<block type="procedures_callnoreturn" id="seX.K5(H,N6eh5SE2g,I" x="438" y="813"><mutation name="setSchedule2"><arg name="val"></arg></mutation>
<value name="ARG0"><block type="get_value" id="e.ff(JG4kUMnJoz/rR0D"><field name="ATTR">val</field>
<field name="OID">javascript.0.Pool.Filteranlage.Startzeit_2</field></block></value>
<next><block type="on_ext" id="tEGUw-0PVW2Bd5]mp(X*"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="E@nvnFg;~odK9A[#%1#A"><field name="oid">javascript.0.Pool.Filteranlage.Startzeit_2</field></shadow></value> <statement name="STATEMENT"><block type="procedures_callnoreturn" id="Jp/vAu4!G0PIRK7GqX}^"><mutation name="setSchedule2"><arg name="val"></arg></mutation> <value name="ARG0"><block type="on_source" id="/uJH*pd@H5-P+O4CX}Uw"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></xml>
Damit müssen nach einem Skriptstart nicht die Startzeiten verändert werden.
-
Wenn das Schedule auch bei Skriptstart gesetzt werden soll, ohne dass man anschließend den Zeitpunkt ändern muss, pacck man das ganze in eine Funktion, die sowohl bei Skriptstart als auch bei Startzeitänderung aufgerufen wird. Beispiel für Schedule1:
Blockly_EDsteuern_Minuten_Funktion.JPG `
Also das Script geht jetzt jetzt habe ich versucht noch dein Zusatz siehe ohne einzubauen… stimmt das so wie ich das eingebaut habe?
7208_1.png -
jetzt habe ich versucht noch dein Zusatz siehe ohne einzubauen… `
Das ist kein Zusatz, sondern das vollständige Skript.
@GeorgS:stimmt das so wie ich das eingebaut habe? `
Nein. Ganz oben: Es muss die Startzeit an die Funktion übergeben werden, nicht die Laufzeit.Packe den Debug-Baustein "Pumpe aus" in den falls-Block (direkt unter stoppe…), sonst erscheint jede Minute ein Log.
-
Noch ein Fehler rechts unten: Es mus das verwendete Intervall3 gestoppt werden !
-
So sieht der Ursprung für den Export aus:
-
so?
7208_1.png -
so? `
Sieht gut aus. Teste es !Bitte keine überlappenden Zeiten (2. Startzeit während Pumpe noch läuft), da eine gemeinsame Variable cnt verwendet wird.
-
so? `
Sieht gut aus. Teste es !Bitte keine überlappenden Zeiten (2. Startzeit während Pumpe noch läuft), da eine gemeinsame Variable cnt verwendet wird. `
Mache ich morgen mit dem Testen… nein es wird keine überlappenden Zeiten geben
7:00 für 1h und 22:00 für 3h
Kann man noch einbauen das wenn man die Pumpe per Hand startet diese dann eine Stunde läuft und dann wieder ausgeht oder sollte man das dann in ein extra Script paken?
-
Kann man noch einbauen das wenn man die Pumpe per Hand startet diese dann eine Stunde läuft und dann wieder ausgeht oder sollte man das dann in ein extra Script paken? `
Ob im gleichen oder einem weiteren Script, ist egal. Man muss nur detektieren, dass manuell eingeschaltet wurde, wozu der "Ursprung" (state.from) des Trigger-Datenpunktes dienen kann.
-
so? `
Sieht gut aus. Teste es !Bitte keine überlappenden Zeiten (2. Startzeit während Pumpe noch läuft), da eine gemeinsame Variable cnt verwendet wird. `
Ich denke mal es kapt hab 2 Zeiten eingetragen das Script beendet kurz gewartet und die Scripts wieder angemacht… trotzdem ist die Pumpe dann zur zeit anmgegengen
DANKE
EDIT: Versuche gleich mal den Handbetrieb...