NEWS
Intervall Pumpensteuerung für Poolfilteranlage (gelöst)
-
@martinp
ja, da hast du recht.
Meine Pumpe läuft 8 Stunden am Tag.
Deine lt. Zeitplan 8,5 Stunden.Ich lasse den Poolroboter fahren und schalte in dieser zeit die Pumpe aus (ca. 2 Stunden).
Danach schalte ich sie wieder ein und das Programm startet wieder von dort, wo ich gestoppt habe. Was soll daran falsch sein? Somit ist gewährleistet, dass die Pumpe 8 Stunden am Tag läuft.Die Leistung messen ist ok. Könnte man so lösen. Trotzdem bin ich ein Befürworter von etwas menschlicher Kontrolle. Ich möchte ja auch noch einen Sinn haben.
-
@muckel auch wieder wahr. Aber z. B. über den Jahresurlaub, also etwas 2 Wochen unüberwacht soll die Anlage schon kommen ...
Vorher noch mal die Anlage durcharbeiten: Rückspülen, Wasser auffüllen, Werte messen und ggfs. korrigieren...
Wenn man da dann trotzdem gewisse Dinge automatisiert aus der Ferne vom Urlaubsort aus anschauen kann, beruhigt das schon ein wenig@Homoran Druckmesser ist natürlich verlässlicher, als der Stromaufnahme-Unterschied zwischen sauberem und verdreckten Filter ...
-
@martinp
für das gibts oma und opa. die füttern auch die katzen. -
Ich habe das Script jetzt seit 2 Tagen laufen. Heute wollte ich die von mir eingeschaltete Filterpumpe ausschalten. Ausschalten hat funktioniert, aber nach 1 Minute schaltet sie sich wieder ein.
Hab ich etwas falsch eingegeben? Kannst du dir das bitte nochmal ansehen.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</variable> <variable id="xB7)L=eE^KUUHnTfj;se">lc</variable> <variable type="interval" id="IntervallEin">IntervallEin</variable> <variable type="interval" id="IntervallAus">IntervallAus</variable> <variable id="2hz8{tn:zt*=CQ`[Ese[">ED</variable> <variable id=";r4=GqL.S1la#OK}b6:V">AD</variable> </variables> <block type="variables_set" id="tYIvQYsA;3u*jSHq7EsY" x="-137" y="63"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> <value name="VALUE"> <block type="get_value" id="kQr@%jsj1_vR:)Z)tVtd"> <field name="ATTR">val</field> <field name="OID">javascript.0.Filterpumpe_Einschaltdauer</field> </block> </value> <next> <block type="variables_set" id="lgPi+V4vG,/-A2,1fQL7"> <field name="VAR" id="xB7)L=eE^KUUHnTfj;se">lc</field> <value name="VALUE"> <block type="get_value" id="QsAah!Qi-kO}.ny-S`ul"> <field name="ATTR">lc</field> <field name="OID">deconz.0.Lights.23.on</field> </block> </value> <next> <block type="controls_if" id="c~2kU[Em-_:lIb~HYAsY"> <mutation else="1"></mutation> <value name="IF0"> <block type="get_value" id="IMP@N@zX_4nHZEqhuh0Q"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.23.on</field> </block> </value> <statement name="DO0"> <block type="math_change" id="xs%avK{TM8aW}[OtP#3Q"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> <value name="DELTA"> <shadow type="math_number" id="F6K*h9P=6Nnx@c%Nj?s@"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="l)x{BFYGYiv`=~68r%z^"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="B_X9B,SY2Dz/%,3:`]-3"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="jtT6tk;0RN8FT+`37~Tv"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_t}z:eI/9wDD=ZP2:pK|"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="iDPPP/8,:t9cs!5M|d5d"> <field name="VAR" id="xB7)L=eE^KUUHnTfj;se">lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="}2R64ENu1RwHDhJlo0g1"> <field name="NUM">1</field> </shadow> <block type="time_get" id="85E`aXy#3F.dlVO+Or6k"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="j9k^z9HrdchPQEiyg-PL"> <field name="NUM">60000</field> </shadow> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="j|r@f32HC|9Ngk+eU@Rz"> <mutation name="Ein2h"> <arg name="lc"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=")=e!)$QUHU/15dpPk9~T"> <field name="VAR" id="xB7)L=eE^KUUHnTfj;se">lc</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="math_change" id=";6h(,OYfI`IYg!zhc0z-"> <field name="VAR" id=";r4=GqL.S1la#OK}b6:V">AD</field> <value name="DELTA"> <shadow type="math_number" id="F6K*h9P=6Nnx@c%Nj?s@"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="M(5%?iKjg4yKqA*oeNZZ"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="B_X9B,SY2Dz/%,3:`]-3"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="(*#wN089^*c0k#$lLh}%"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_t}z:eI/9wDD=ZP2:pK|"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9eS5N}:%s-N=+qvRE}(`"> <field name="VAR" id="xB7)L=eE^KUUHnTfj;se">lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="}2R64ENu1RwHDhJlo0g1"> <field name="NUM">1</field> </shadow> <block type="time_get" id="fr8+xNUTD-!Z+4|lQaS)"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="?@edo8EeHsGqR$C4cft%"> <field name="NUM">60000</field> </shadow> </value> </block> </value> <next> <block type="controls_if" id="oz)nUuG=|V@KIT._?!i|"> <value name="IF0"> <block type="logic_compare" id="6{b#.e1oXkogcK.%F)A-"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="Uw|X^T#V5|hU{Q|JO:ZW"> <field name="VAR" id=";r4=GqL.S1la#OK}b6:V">AD</field> </block> </value> <value name="B"> <block type="math_number" id="*_zXT`U9(etK:o[A%08#"> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="ny5=[Pc!NR}L1NIW@qj?"> <mutation name="Aus1h"></mutation> </block> </statement> </block> </next> </block> </statement> <next> <block type="schedule" id="~0j/7eBUjm#4Z@QH)Jmw"> <field name="SCHEDULE">3 3 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="W7D+b87.SR.C?D6o{v0Z"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> <value name="VALUE"> <block type="math_number" id="Vnc*#N!Fkiw-vBI.:9]D"> <field name="NUM">0</field> </block> </value> <next> <block type="update" id="~;u@/v*Sg(KxJX7WVoW#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Filterpumpe_Einschaltdauer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="l?A=)BlnCH=y^Gy~++0d"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <next> <block type="on" id="(GM/k~L4/?cg,YO2NG?b"> <field name="OID">deconz.0.Lights.23.on</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id=";Jp[]e3].gjIb;{LhTII"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="$KG9YWGjytRYxRBio`=j"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="-LyU[WO)_PBZdP)K!,3~"> <field name="NAME">IntervallAus</field> <next> <block type="procedures_callnoreturn" id=";r5|@SK`f@9,8Yu.kT.k"> <mutation name="Ein2h"> <arg name="lc"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="Xq+w5h[4_Gy^coCi.0CS"> <field name="ATTR">state.lc</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="jM{}t!6~=a=o6e0;YX16"> <field name="NAME">IntervallEin</field> <next> <block type="math_change" id="VRq{1!j8/GgDk2:CSi5:"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> <value name="DELTA"> <shadow type="math_number" id="F6K*h9P=6Nnx@c%Nj?s@"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="_pvFY$`3~3y*tMwahjLx"> <field name="VAR" id="2hz8{tn:zt*=CQ`[Ese[">ED</field> </block> </value> <next> <block type="controls_if" id="|_l7JRgRwAwA{~J!5wGS"> <value name="IF0"> <block type="logic_compare" id="fNfqOkPA;vDd#|n9GZ67"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="7E@.*X5I@y^Va~L0Q+CT"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> </block> </value> <value name="B"> <block type="math_number" id="[[1fTEgjV!Ic(K*nx~am"> <field name="NUM">480</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="chcT#J:Wtc=.ZV+;qZ@B"> <mutation name="Aus1h"></mutation> </block> </statement> <next> <block type="update" id="U{f)FBI`;wbA5f7?JPf_"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Filterpumpe_Einschaltdauer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="Dh`oZ=CGjZ(@uMr4{POn"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="2d[|.YRWtcWNMQ2V~)5?"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="P;Kykj?^GvyzKPgy08`F"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="@VaHuIf1Cg^c{MnGu?X_" x="563" y="62"> <mutation> <arg name="lc" varid="xB7)L=eE^KUUHnTfj;se"></arg> </mutation> <field name="NAME">Ein2h</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> <statement name="STACK"> <block type="timeouts_setinterval" id="r;(3Yr?#~gK!pcQj3!Fl"> <field name="NAME">IntervallEin</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="2;ka20hoE;0YJAlE(9qI"> <field name="VAR" id="2hz8{tn:zt*=CQ`[Ese[">ED</field> <value name="VALUE"> <block type="math_arithmetic" id="(j:_3r8j)7UV%INF.aK("> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="B_X9B,SY2Dz/%,3:`]-3"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="~D:Xl]1n;I#sp9@f:jZ{"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="_t}z:eI/9wDD=ZP2:pK|"> <field name="NUM">1</field> </shadow> <block type="time_get" id="C/UBqf%hU@98#O17}.Q("> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="}2R64ENu1RwHDhJlo0g1"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="0|j]#mgl3tZ6+^[Y%w~R"> <field name="VAR" id="xB7)L=eE^KUUHnTfj;se">lc</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="s(lxK9jo*JUoJTi1`[Rw"> <field name="NUM">60000</field> </shadow> </value> </block> </value> <next> <block type="update" id="X{wgmB[ok.}LI,rN|qz6"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Filterpumpe_Einschaltdauer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="YZu1MDy7W7m=#=_!D=jI"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="2d[|.YRWtcWNMQ2V~)5?"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="}Lg]w%fv%i7rut-DJ7=8"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="*Tv;3^(0^y4(lzlg3Apd"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="r`~JDmB0!Rjf+!e6~bWr"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> </block> </value> <value name="B"> <shadow type="math_number" id="t67l:~UtT`r[_9Mhm,#%"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="mtA!m)SmS(}hPlT-A/Q3"> <field name="VAR" id="2hz8{tn:zt*=CQ`[Ese[">ED</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="x54F`8hxA9oWA++uPtQu"> <value name="IF0"> <block type="logic_operation" id="1v5*OZdSs*,^E`nn$XFX" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="Td76.}*R_j/aqlWQiuAm"> <field name="OP">GTE</field> <value name="A"> <block type="math_arithmetic" id="DWNTHmcsHlZRiBaVH0#_"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="v5*.9Ro2U]l+7nCIF{6|"> <field name="NUM">1</field> </shadow> <block type="math_modulo" id="12!3JYl0#dVIJVC@V=3o"> <value name="DIVIDEND"> <shadow type="math_number" id="X8hVc}1$MYl/5V}({%qq"> <field name="NUM">64</field> </shadow> <block type="variables_get" id="2wG(,OT?j*A!MD)PujWH"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> </block> </value> <value name="DIVISOR"> <shadow type="math_number" id="Tl[Ia(CXG!e|rI/HeRnI"> <field name="NUM">120</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="G%}oE^rQy0aH6K,f?KN1"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="p8z*MZ7mQu;fqrCi]RVQ"> <field name="VAR" id="2hz8{tn:zt*=CQ`[Ese[">ED</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="-oHE|qc~!YQ1(08R|7/L"> <field name="NUM">120</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=")v$Z^|nl57L!NH;lDe/6"> <field name="OP">GTE</field> <value name="A"> <block type="math_arithmetic" id="?M=87[(b||G7f=wCFB5@"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="K=%/GR36?*eoYlbeB{Q9"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="j8Zsjm;$HP4:k{jD|mq9"> <field name="VAR" id="nZ$BK)l@;[+rgUJ$FhO:">EDAus</field> </block> </value> <value name="B"> <shadow type="math_number" id="Q484x6)kIg,c]2kLgA|X"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="i9Ip.Q7zn[52e.q;bN9A"> <field name="VAR" id="2hz8{tn:zt*=CQ`[Ese[">ED</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="nKl%#qu;B-FPWY^r_]MT"> <field name="NUM">480</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="2cSSYA/{h|{5E{Ct,pYx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.23.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Ae8M=fSzjWOrj/~=fPJ^"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_defnoreturn" id="g/x1=4hsr.r;r0c-U-rv" x="562" y="437"> <field name="NAME">Aus1h</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> <statement name="STACK"> <block type="timeouts_setinterval" id="}K]pjpP{zY(vX$#KGv[{"> <field name="NAME">IntervallAus</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="sRH:o?)`m!JtD9d88-ib"> <field name="VAR" id=";r4=GqL.S1la#OK}b6:V">AD</field> <value name="DELTA"> <shadow type="math_number" id="v+|niKkGBUabYfF;N@OO"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="T-nG=XDx}nn4y;bJ?:VK"> <value name="IF0"> <block type="logic_compare" id="b7`YqZ-);PiHN%Px;F6)"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="|9tr(gq9CH|FsFOUY0{L"> <field name="VAR" id=";r4=GqL.S1la#OK}b6:V">AD</field> </block> </value> <value name="B"> <block type="math_number" id="hTbDvY8^ctfS[wU/dx5k"> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="umhYmPId9YzSr!*11(**"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.23.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ZGv$u_{/9sfdzu?Sreyn"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
@muckel sagte: nach 1 Minute schaltet sie sich wieder ein.
Das soll sie bei manuellem Ausschalten nicht? Dann muss man das detektieren, indem der
Ursprung
geprüft wird:Beim Skriptstart muss für
AD
"setze" verwendet werden.Außerdem sind "Aktuelle Zeit" und
lc
vertauscht (war mein Fehler).EDIT: Es fehlt das Rücksetzen von
AD
beim Ausschalten: -
@paul53
Danke.
Habs mal eingebaut und werde es testen.
Set und change hab ich übersehen.
Ich melde mich wieder. -
@paul53
Funktioniert perfekt.
Danke schön.
Ich stelle es auf "gelöst" -
Darf ich dich nochmals belästigen?
Ich habe einen Datenpunkt angelegt für die Minuten, welche die Pumpe in Betrieb ist
"Filterpumpe_Einschaltdauer" (Type: Number) Funktioniert natürlich.
Weil ich diese Minuten in SS:mm für eine Anzeige konvertieren möchte, habe ich einen zusätzlichen Datenpunkt angelegt. Diese Konvertierung funktioniert nicht.
"Filterpumpe_Einschaltdauer_Stunden_Minuten" (Type: string)Was mach ich falsch?
-
@muckel sagte: Was mach ich falsch?
Die Formatierungsfunktion benötigt ms und berücksichtigt die Zeitzone. Sie funktioniert daher nicht für Zeitdifferenzen (Dauer).
Vorschlag: -
@paul53
Jetzt passt es. Danke schön!