- Home
- Deutsch
- Skripten / Logik
- Intervall Script Schaltung - Pool Schaltung
Intervall Script Schaltung - Pool Schaltung
-
@MyMeyer sagte in Intervall Script Schaltung - Pool Schaltung:
wie steuerst Du heute ?
Die Steuerung ist über die Zeit gewachsen.
Vieles könnte immer noch anders und wahrscheinlich auch einfacher laufen und einiges läuft doch nicht ganz und immer so wie es soll.Im allgemeinen habe ich drei Programme:
- eine Poolsteuerung für die Grundfunktionen
- einen Poolwächter für Alarm- und Notabschaqltfunktionen
- und einen Pumpentimer, der die Pumpenlaufzeit hochzählt und nachts auf 0 setzt.
als Parameter nutze ich u.a.
- Sonnensensor (ist Sonnenenergie vorhanden)
- Sonnenstand (Scheint die Sonne überhaupt auf den Kollektor)
- Außentemperatur (muss ja im Winter nicht laufen)
- Regensensor (wenn der Kollektor naß wird und es ist windig, kühlt er eher, als dass er heizt)
- Solarleistung der PV-Anlage (habe ich genug PV-Überschuss, den ich verbraten will)
- Temperaturdifferenz vor und Rücklauf (ist die Heizung noch effektiv?)
- Wassertemperatur (ist der Pool schon zu warm?)
Teilweise schreiben die Skripte in ein log, dass dann in der vis dargestellt wird:
<variables> <variable type="" id="Sc:~cZrIAU_{O1#4=JLb">Effizienz</variable> <variable type="" id="l]$h=INl_^(d7NZ]b+P!">Anlauf</variable> <variable type="undefined" id="timeout2">timeout2</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="7jZ(L0;R(%.7]32j841@" x="912" y="-988"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid" id="H6r?E$yCQeT%hI3TSeL!"> <field name="oid">hm-rpc.0.LTK0044647.2.PRESS_SHORT</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="*YCEK%JD0$u*dc%9Q^b?"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.manual_override</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="EZbOz8FGI9bMB22g@z#q"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="!mx!iuwP5;/W,Ehp^^Mb"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Z0fA+rn=t`0#`f{5;+:}"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="on_ext" id="R+ri%tn^lNR2BSEekeYh"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid" id="95@FA,GFuF9?[2W]CZ]!"> <field name="oid">hm-rpc.0.LTK0044647.1.PRESS_SHORT</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="K2E%mS4R;VTg-.+mF~OI"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.manual_override</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="zR|g4+^[u5QAbdqN:Hoo"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="on_ext" id="P#F%2a)Y3f+;;aO!AQ0Z"> <mutation items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="q1!L@sgXy%=.5b*vh$2e"> <field name="oid">hm-rpc.0.NEQ0532193.4.TEMPERATURE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="KGyD9yD.l1K@h;lx@oJF"> <field name="oid">javascript.1.Sonnenstand.Azimut</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="@U6+5D0m,EtqJCul,oO."> <value name="IF0"> <block type="logic_operation" id="PCag#13}ijHI;ZUpy;~P" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="72AxL6QQ`*AUw-m1:Zgj" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="lUq/fJ^l]A;xv+0|gyc#"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="-t#DJ/fpZj.Bffi`6]-O"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ0532193.4.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="GWza)JT{n=Y)b,Tn+HP}"> <field name="NUM">0.3</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="l$hrwk:];TGoh,|#zU+x"> <value name="BOOL"> <block type="variables_get" id="NrDjIn[;K-g4T{gC}CMM"> <field name="VAR" id="l]$h=INl_^(d7NZ]b+P!" variabletype="">Anlauf</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="pNaZo+tu*nFV~{Y`wnud"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@KD%Mg3P/dJQ|l!F$76F"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="DkX?eQsG$[LDhxvX^rsm"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="_%sn%GT)g..aiCo{kDZ]"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> <value name="VALUE"> <block type="logic_boolean" id="tDU7E33eUTfruAj6uKmf"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="0i#`YKm26NYUN#XIiK8["> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="=Tv,4=o[g`,S`B)!v^Gh"> <field name="oid">hm-rpc.0.JEQ0646431.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Ikdtd|Zdod3Nin!{O6-e"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="e!k{[-_*.pTYnbqZ;0nW"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=":ScNH2k42J,iKIlLpC3E"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="WZuze1jF={kV5k2%xnio"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="Ez#)u%K#L4Cq.Uwcp2Tv"> <field name="VAR" id="l]$h=INl_^(d7NZ]b+P!" variabletype="">Anlauf</field> <value name="VALUE"> <block type="logic_boolean" id="(h.^1VROHAzaF2YdlQ7u"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="D/8;9qy/XG5mMf3ih+4J"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> <value name="VALUE"> <block type="logic_boolean" id="SlZNP-F-p#UOb30%O^/*"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id=",0t5b+oAPK|_Hf{N2N@*"> <field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="M07Y)g^aFQfC?fWO[y?y"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="0%EB]T6c-r4?7SVG70rB"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="I7v;Fcl8Ji54YNBWL3UD"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ0532193.4.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="^bS~=Xi+MF-e9T^v.;2g"> <field name="NUM">0.3</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="-70gb[S`2@A{Y$ys`xv{"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> <value name="VALUE"> <block type="logic_boolean" id="z.V_enexyDCld/eqS~Ib"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="H7vCjH=qj#{9e4%/DPuo"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> <value name="VALUE"> <block type="logic_boolean" id=";471u!iO~nPt63xy0k{@"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="x8;hE]YCHe4zIj!N8-Yw"> <field name="VAR" id="l]$h=INl_^(d7NZ]b+P!" variabletype="">Anlauf</field> <value name="VALUE"> <block type="logic_boolean" id="O[yYk8EcqVJw~CFP66@i"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="8H=Lpuw]sHK)93fe(W%w"> <field name="NAME">timeout2</field> <field name="DELAY">20</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="1[z4V_$ANV!X^910VROh"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> <value name="VALUE"> <block type="logic_boolean" id="N%Y.g=NoV9EC$Wj[T,-U"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defcustomnoreturn" id="#G`pRUd$a3;xkDp![KRU" x="-12" y="-562"> <mutation statements="false"></mutation> <field name="NAME">runden</field> <field name="SCRIPT">cmV0dXJuIHZhbC50b0ZpeGVkKDEpOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="(jWlb)DzUuv_%0M%x6d-" x="-63" y="-513"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> <value name="VALUE"> <block type="logic_boolean" id="pQoM{_|[cQDl.CbdAk*1"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="on_ext" id="~0z1WcM3VtqRx(xis:#q"> <mutation items="7"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="H1EU$)w,[pY%)r0hFO$]"> <field name="oid">hm-rpc.0.KEQ0963583.4.TEMPERATURE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id=":_P?*Qq{.{.{yb1xV#/b"> <field name="oid">hm-rega.0.16936</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="PaW66w{U*Git7nzr3J6,"> <field name="oid">hm-rpc.0.KEQ1022589.1.STATE</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="C7,39_0vUt^J?e`5=e78"> <field name="oid">hm-rpc.0.JEQ0140901.1.TEMPERATURE</field> </shadow> </value> <value name="OID4"> <shadow type="field_oid" id="aU+[=~eAGemvzTR=6O?Z"> <field name="oid">Messwerte.0.Pool.Not-Aus</field> </shadow> </value> <value name="OID5"> <shadow type="field_oid" id="d*PGW%VT~^w2t|QUwn$L"> <field name="oid">Messwerte.0.Pool.Pumpenlaufzeit</field> </shadow> </value> <value name="OID6"> <shadow type="field_oid" id="5Qc3QZ7ZMcq2d[)_Db`-"> <field name="oid">Messwerte.0.Stromzaehler.Momentanwerte.akt_Einspeisung</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="WZvaJ(#]u(7vLc,.mF4F"> <value name="IF0"> <block type="logic_compare" id="U@97se{i+_wiy.mt_,ga"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="+-X{~)O2?A18|.HmCQrh"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.manual_override</field> </block> </value> <value name="B"> <block type="logic_boolean" id="^U7s`BvR=cFk8mQ)Bu_4"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="%-$1Z(Z/f..b%j$C#Pj6"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="kIl|n|zojZD~v5`6G)l0" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="dEw(d4QJ(z/9oWUQb-gs" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="L%T4HRa!QR7^i{B%y5Id" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="Z=mwis?v!BSZz,1Hp|Xw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="y/+_y4zn~$sFiVlLMpVY"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="j{g)sOk6m/zHVM,J)XVJ"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.16936</field> </block> </value> <value name="B"> <block type="math_number" id="+ork5;0#Rnw{m~Iu+vYD"> <field name="NUM">120</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="W1Qph?AQghG.WloZz~0Q"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="fz;w)[;gkMa+EUr-2%rv"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.16936</field> </block> </value> <value name="B"> <block type="math_number" id="B2#6K$?p=1x`HF7m09V{"> <field name="NUM">300</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="DdYfH28Q{*1n#;}x5Gzr" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="bH1Yv^L5N/Xl1.z)B#i("> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="!J*q3HAV(q=`Lo2(z|,b"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0963583.4.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="doI8?U=r~X0K=-yC#$5H"> <field name="NUM">8</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=";+ibs^X5!anU1G(Ep?Cb"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="1Bt5bgE9;1AwCi;;Y90g"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ1022589.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="Ou(e`K%y7S}m@94WME,r"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="C$|1emUo]]5@WSAVeMi]" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="]@Zsi{3obnlDGaIleRrO"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="jH}16=*^Sy(erAcq+LPe"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0140901.1.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="A-W0:pEt}94V#c9GU4?]"> <field name="NUM">14</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="HnRUVkn7j;Oev=m.L!Q8"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="mi^IjDu};a3Y0HN;7aS,"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="nro@{*_ueW2P#g{pE}Mv"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="g6E1jEIyG-$s8VuBq`zH" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="Ct_;96-}_i4pLV@UBA~}" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="lEK?J~,Xs4LfE8sKaGCe"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="X?3s-2w3!.89[u*@Cjtw"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Overheat</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Z4717SYB3|YaGMwxCL?O"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Zx(8j(SS!k4dY3{Yr2Gd"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="F/p(Psbhp0T]A]n!xfHE"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Stromzaehler.Momentanwerte.akt_Einspeisung</field> </block> </value> <value name="B"> <block type="math_number" id="@*SU#IN*!#9-=U},[*QH"> <field name="NUM">700</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="^YjDRkwW$B3juaq$/J}j" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="e2Mw_ri_+s*-o/0y5[LM"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Rek#v]T__GQ=cYoVxozB"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Not-Aus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="qk8BkKn4Nkzl4OTiz;_N"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="Z?QP#5?ACo55_K;%XT0u"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="i9_6S5vAf/V]BBKC9NSv"> <mutation delay_input="true"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="*MME[_vPh9bx~5e?LEEv"> <mutation items="9"></mutation> <value name="ADD0"> <block type="text" id="w.d6}-m$Qbk;!Xi0Aq*b"> <field name="TEXT"><strong>Automatischer Start!</strong><br></field> </block> </value> <value name="ADD1"> <block type="text" id="y(XKWMLU$Q)=o.)J1?Fn"> <field name="TEXT">Die Sonne steht bei </field> </block> </value> <value name="ADD2"> <block type="get_value" id="W-fo2vrh0jxP,36x[^gW"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.16936</field> </block> </value> <value name="ADD3"> <block type="text" id="~(*e??V1Cc#@DW|q7-B{"> <field name="TEXT">°, die Lufttemperatur beträgt </field> </block> </value> <value name="ADD4"> <block type="get_value" id="_,B*X[i]1Ab#s0s)Y,A#"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0140901.1.TEMPERATURE</field> </block> </value> <value name="ADD5"> <block type="text" id="+]v,,K+r`E=R94(ROo#p"> <field name="TEXT">°C, die Wassertemperatur beträgt </field> </block> </value> <value name="ADD6"> <block type="get_value" id="Y3rBl{OK?AWWP2}m0LRz"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ0773306.2.TEMPERATURE</field> </block> </value> <value name="ADD7"> <block type="logic_ternary" id="#JG?CZx|H:7-n7LU*Jxn"> <value name="IF"> <block type="get_value" id="ySYY/W=cdMF!tE,tKziM"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ1022589.1.STATE</field> </block> </value> <value name="THEN"> <block type="text" id="gTq;0*77jqWLq^P53SK%"> <field name="TEXT">°C, es regnet </field> </block> </value> <value name="ELSE"> <block type="text" id="$4,K!v=4xJLIhuUQ5+lx"> <field name="TEXT">°C, kein Regen </field> </block> </value> </block> </value> <value name="ADD8"> <block type="logic_ternary" id="1X(#n9/%lN5^[oz=r1Ug"> <value name="IF"> <block type="get_value" id="J?]^GLZtT/R1B1-R4F`F"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="THEN"> <block type="text" id="*YCuR9payg9gl;)7bupg"> <field name="TEXT"> und die Pumpe läuft.</field> </block> </value> <value name="ELSE"> <block type="text" id="`YG,-dp3qa`lEKV#]cAW"> <field name="TEXT"> und die Pumpe ist aus.<br> <br></field> </block> </value> </block> </value> </block> </value> <next> <block type="control" id="*/+.,U%bTBciCf{^2.rL"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="kxIog_bDasx}qW,Cap8H"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="-3wP{BC~9R%wvm]Z^#MH" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="Th_gez@T6HV7e]hE-/Jg" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="8.m]~Z6(_7iq=im$a(BB" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="+haDS-gz:!VtL-=?wl0v" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="FMvA_Cp`S8#p$h}nPDV#"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="ZBXs/|dBrVu#%@~s_O^)"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.16936</field> </block> </value> <value name="B"> <block type="math_number" id="{EdZbvp5u!QOGZ03/.,["> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="e^7Mr.)a~2[vJbBz5eAU"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="*YH2@7k-VcB[aT@4}?Z|"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.16936</field> </block> </value> <value name="B"> <block type="math_number" id=";`.-GRV?Iq;TITe~2/;/"> <field name="NUM">300</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="z5g#eC3vcBXY,^fEIYX:" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="q$,c$BZ0]p*P-12+Es2L"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="Rt)*0sYNh%;W)p$I.%99"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0963583.4.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="4obQZ$#yCc1L=i=$F#2?"> <field name="NUM">5</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="#BXJ(2A{0(@dGrNwhsxJ"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="AJ]hH#~jL|H^D5|UDFL}"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0963067.4.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="-m[:KCNrU*i-m|vj4kWQ"> <field name="NUM">5</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="YL?/Pv#Nvzd}Vv$I`}U5" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="fMeOxUP:Gs~NHvR3G{0C" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="(fkm]9*~CVOPj|ZZ^?kV"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="^T@ED?T#)62X=dw2;3M^"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ1022589.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="F2{xNfLS9y(!AB|3?m|="> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="o,d[Jb!-Ua|#Btve~=w1" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P2p42@Ix^S?9@IckT=K%"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="}VQuinMR0}s5BPj3UxoN"> <field name="VAR" id="Sc:~cZrIAU_{O1#4=JLb" variabletype="">Effizienz</field> </block> </value> <value name="B"> <block type="logic_boolean" id="o1p3S3icR5v5oRJ!-RA+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Lssn@4G~+JWZ;cw$W1sY"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="N,R+/2tM0f/w!7gOW[4|"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</field> </block> </value> <value name="B"> <block type="math_number" id="Vpg~[,/aZUiBM.[.d]4?"> <field name="NUM">180</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="HiW}4;yMaBf)lUJkAnQw" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="$Gl/r9ih_O-Yot0hnx{W" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="pgD,JmJu9T#:q3YWzU-6"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id=";QMHJDJ#240Ag_Sx,]KA"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Stromzaehler.Momentanwerte.akt_Einspeisung</field> </block> </value> <value name="B"> <block type="math_number" id="Pr{a?*scWG];~?/M+Wy8"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="fw1??3O)EuG%hzZAFm;D"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="tr]aUs!Tk+w-+Q1boZ;S"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</field> </block> </value> <value name="B"> <block type="math_number" id="Lz!YmQE}6vmE{5Q)aKMl"> <field name="NUM">240</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="vF311_u1a+~]3%TzI8)H"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="]0y}OP-hESgf2W+#~,H$"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0140901.1.TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="~L~zU/[JKBf3fpX]Pxxr"> <field name="NUM">13</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="5chpjtAkNipB?-x0cNo4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="l.6_Eo5{;JP#@xDf3h{("> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="QjIGxR]6f?{DUi?RXsxZ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="UoX#QL*M8LTi4YBv$X.R"> <mutation delay_input="true"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="z@+$3:JhI1nR]m(0Cfmr"> <mutation items="17"></mutation> <value name="ADD0"> <block type="text" id="0@v:,ZVQGU`HXu_]f=B!"> <field name="TEXT"><strong>Automatischer Stop!</strong><br></field> </block> </value> <value name="ADD1"> <block type="text" id="*~%pvtm^c/RcpEMvCD=u"> <field name="TEXT">Die Sonne steht bei </field> </block> </value> <value name="ADD2"> <block type="get_value" id="?bbnHPRvwE1mLm}e={4I"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.16936</field> </block> </value> <value name="ADD3"> <block type="text" id="V]HyBjpwUekH/n|l2~]4"> <field name="TEXT">°, Lufttemperatur </field> </block> </value> <value name="ADD4"> <block type="get_value" id="-^C3[A,W~0TiI{ZRk15T"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0140901.1.TEMPERATURE</field> </block> </value> <value name="ADD5"> <block type="text" id="myr{PR!dvG/}q,nkujpQ"> <field name="TEXT">°C, Wassertemperatur </field> </block> </value> <value name="ADD6"> <block type="get_value" id="FgK;@rO,zu/#w=rTiIQh"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ0773306.2.TEMPERATURE</field> </block> </value> <value name="ADD7"> <block type="logic_ternary" id="^qm]@/[-pNeppyEsHwFR"> <value name="IF"> <block type="get_value" id=",9tLmqP7{G/he4{gZN2X"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ1022589.1.STATE</field> </block> </value> <value name="THEN"> <block type="text" id="RkXC6(Fkv7dcQHVMXd:p"> <field name="TEXT">°C, es regnet </field> </block> </value> <value name="ELSE"> <block type="text" id="Eh-e?##TIt.ox-kR?4tk"> <field name="TEXT">°C, kein Regen </field> </block> </value> </block> </value> <value name="ADD8"> <block type="logic_ternary" id="/pf88I!.I)8-vD,_y8#e"> <value name="IF"> <block type="get_value" id="Jb]Z0oK5qsyjZ8!Be{e)"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="THEN"> <block type="text" id="_wk#n8V:7,6ByQ+gk#{q"> <field name="TEXT"> Pumpe läuft.</field> </block> </value> <value name="ELSE"> <block type="text" id="`H:TnBv8.e#5kz!VL}6?"> <field name="TEXT"> Pumpe ist aus.</field> </block> </value> </block> </value> <value name="ADD9"> <block type="text" id="jI)Tt@Sr3a^SRk{G?a7%"> <field name="TEXT"><br></field> </block> </value> <value name="ADD10"> <block type="text" id="y^VPj`G1FLEzR6srG4J9"> <field name="TEXT">Pumpenlaufzeit </field> </block> </value> <value name="ADD11"> <block type="get_value" id="R2#dVUE=urM`iWas^(wz"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</field> </block> </value> <value name="ADD12"> <block type="text" id="fH}1.?YqR_E{FhXOzB2v"> <field name="TEXT"> Minuten, Einspeisung </field> </block> </value> <value name="ADD13"> <block type="math_rndfixed" id="qc;5E;j%F@Vs]uW5wByG"> <field name="n">1</field> <value name="x"> <shadow type="math_number" id="KA#ai8^@[+*Z$264MN1-"> <field name="NUM">3.1234</field> </shadow> <block type="get_value" id="6ZuJBC,wFSS8n,O1z.yX"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Stromzaehler.Momentanwerte.akt_Einspeisung</field> </block> </value> </block> </value> <value name="ADD14"> <block type="text" id="Wa:1qaa.q@;XC:KMf-%4"> <field name="TEXT"> Watt, ΔT </field> </block> </value> <value name="ADD15"> <block type="get_value" id="e`)vaQR-8YeVq$.!uza/"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ0532193.4.TEMPERATURE</field> </block> </value> <value name="ADD16"> <block type="text" id="-}7Tm?gdGDE_`aUJ]Fz/"> <field name="TEXT">°C <br> <br></field> </block> </value> </block> </value> <next> <block type="control" id="{dZ_LM8-K%KI#6ESl{=u"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="smws*VIwIL3nsq7vvg$E"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </xml>
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="Yhi6L$#9ow5|s7Jzml9/">value</variable> <variable type="" id="G;[*0*e+|FLxIBWQ?*45">druck</variable> <variable type="" id="VA5v~sVeM3MnJiV[ytx3">aus_counter</variable> <variable type="undefined" id="Druckwaechter">Druckwaechter</variable> </variables> <block type="procedures_defnoreturn" id="IgiB--VCkqYFl?t9j=01" x="1012" y="-1138"> <field name="NAME">Not_Aus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="6E[YV0{Ys9KXi%Dby6~F"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</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="logic_boolean" id="p49UcVMoLiob~E|/-1@m"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="update" id="!xVxSwtk;%ke@qXZJ?zs"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Not-Aus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="D3v792$dfR`IrOu2@In:"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> <block type="on_ext" id="7dfyAn6SRa*[nLlE6wNr" x="519" y="-1111"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="22fT?@[Ak,Y,5ARfKDR0"> <field name="oid">hm-rpc.0.JEQ0646431.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=")z={;q=@viwHI1]x-E!n"> <mutation else="1"></mutation> <value name="IF0"> <block type="variables_get" id="iu%_ub!E+6~#q4_,A}/U"> <field name="VAR" id="Yhi6L$#9ow5|s7Jzml9/" variabletype="">value</field> </block> </value> <statement name="DO0"> <block type="update" id="w^oDcGY.)jHQKrSZ8_$b"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="u=RwAsZJ_SKtf1W^#7G5"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="dt=P;{^t[WY;|UfTC].9"> <field name="TEXT"><h3>Pumpe an!</h3></field> </block> </value> </block> </value> <next> <block type="comment" id="R!/_I]Eg.Mr8B6BQvpzB"> <field name="COMMENT">Überprüfung ob sich nach Start Druck aufbaut</field> <next> <block type="timeouts_setinterval" id="(dmS[J9=$HE%={VXvnap"> <field name="NAME">Druckwaechter</field> <field name="INTERVAL">2000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id="~lhx*Vs2ryN|,wqvP!x)"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="DIsH6?CKt#eeQqseF[*t"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="3o+{b{HJ;:j-mxz:~W:W"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> </block> </value> <value name="B"> <block type="math_number" id=")%M0Vs[*Thkh@[P[)fJ5"> <field name="NUM">55</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="FQJt6GsNG#O5-`rURd@b"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="V(kh7O_8ml6ima2V=!(H"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="Kd1m25}S19}M!hrCL4e,"> <field name="TEXT">Der Pumpendruck beträgt </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="D9Ll={@$`RYHRj{^CN^`"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> </block> </value> <value name="ADD2"> <block type="text" id="Wrz~UGhB4XFYt@[aiX*O"> <field name="TEXT">kPa, Pumpe zieht Luft!</field> </block> </value> </block> </value> <next> <block type="math_change" id="?=,w8-!SQr!Dc#L4Sxi3"> <field name="VAR" id="VA5v~sVeM3MnJiV[ytx3" variabletype="">aus_counter</field> <value name="DELTA"> <shadow type="math_number" id=")XQXyP6cyUlwk@nA,-]C"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="rk%Q_o*tq-78prD`YgJy"> <value name="IF0"> <block type="logic_compare" id="%Fq@t|QV#;J`%V|SU=Ge"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="0+d^@TVbroJ{(ru3U7rl"> <field name="VAR" id="VA5v~sVeM3MnJiV[ytx3" variabletype="">aus_counter</field> </block> </value> <value name="B"> <block type="math_number" id="lf+nFS}/i^VYH4dtC$}d"> <field name="NUM">25</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="$-$=odn6^k,(+zergHsH"> <field name="COMMENT">Pumpe Not-Aus bei zu wenig Druck</field> <next> <block type="timeouts_clearinterval" id="a%U@19LgX0PO$Me/}nib"> <field name="NAME">Druckwaechter</field> <next> <block type="update" id="l)3U8yrX.QDU4uyjxbsi"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="8`@-PwY?(}*=(F{Pkj^U"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="?n:DHx}IsNd:O,1Cky.U"> <field name="TEXT"><h2>ALARM!</h2></field> </block> </value> <value name="ADD1"> <block type="variables_get" id="/II*(4_ktC4]ztatNDT*"> <field name="VAR" id="VA5v~sVeM3MnJiV[ytx3" variabletype="">aus_counter</field> </block> </value> <value name="ADD2"> <block type="text" id="$RmFWA-Gp,gl}b!1(z.U"> <field name="TEXT"> mal Unterdruck. </field> </block> </value> <value name="ADD3"> <block type="text" id="M*E=O7VC|IUA#E=#4FMN"> <field name="TEXT">Der Pumpendruck beträgt </field> </block> </value> <value name="ADD4"> <block type="variables_get" id="YYS4xBaHK$iXv1M|yW2D"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> </block> </value> <value name="ADD5"> <block type="text" id=":UP_kmS=l!}iC1aw~FYB"> <field name="TEXT">kPa.<br> <br></field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="}k57ggKysD3)_iu|OPi="> <mutation name="Not_Aus"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="update" id="?`(,B+MiC#:t+,!{9M!|"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="ZzygAs|4A8^9~PUdyf7*"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="zr,%jgd/n~n9@ytoH?tu"> <field name="TEXT">Der Pumpendruck beträgt </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f[Y,?Ct#`o0w=H|=wyKr"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> </block> </value> <value name="ADD2"> <block type="text" id="w,_a2K$?2?2*iflXYnj)"> <field name="TEXT">kPa, Pumpe OK!</field> </block> </value> </block> </value> <next> <block type="timeouts_clearinterval" id="|{Dx7@}:?^_iT2M|_G8?"> <field name="NAME">Druckwaechter</field> <next> <block type="variables_set" id="wRJQ^AST.Bn@#X{{mK7a"> <field name="VAR" id="VA5v~sVeM3MnJiV[ytx3" variabletype="">aus_counter</field> <value name="VALUE"> <block type="math_number" id="M~Ep{n3b2S6BP*({irQ9"> <field name="NUM">0</field> </block> </value> <next> <block type="update" id="iE~B{eq9,^?Ez!Vf?uHR"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Not-Aus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="q^Xs3OBbw0WoN$E{[EIE"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="lFQYnd;.XpmUjMY?u{~i"> <field name="NAME">Druckwaechter</field> <next> <block type="variables_set" id="SE*I|jbZ7sVdfbu5pHt%"> <field name="VAR" id="VA5v~sVeM3MnJiV[ytx3" variabletype="">aus_counter</field> <value name="VALUE"> <block type="math_number" id="M-;)GJH$vQoNw;,go_D`"> <field name="NUM">0</field> </block> </value> <next> <block type="update" id="^1$tmg]Y7!4P|:ll$NBe"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="LrZELm6;8l:R+9*:fL:F"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id=".Z]]b@r=0Lu1sNu{xXi%"> <field name="TEXT"><color: red><h3>Pumpe aus!</h3></color></field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="HS#;aW-p`y;to-YSLL4J"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="y8{BV1mex2n*6^/a:#4."> <field name="oid">Messwerte.0.Pool.Aus-Counter</field> </shadow> <block type="text" id="|G)E)|3fWs.Kb_GnTv4G"> <field name="TEXT">hm-rpc.0.NEQ1547414.3.STATE</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="3~Cm|IJku:CqV%[t}/*,"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> <value name="VALUE"> <block type="math_arithmetic" id="Kl3]R#u544Gw=Ay0)w*/" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="INcml)H.rD~u^7J:xt(0"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="RIiQl|w=7ZKhq?Gop4y["> <field name="VAR" id="Yhi6L$#9ow5|s7Jzml9/" variabletype="">value</field> </block> </value> <value name="B"> <shadow type="math_number" id="p+mI@^)NJ3V2%8C!BoGN"> <field name="NUM">1</field> </shadow> <block type="get_value" id="PTrh,nQk_e1_(`lNtDr,"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Druckoffset</field> </block> </value> </block> </value> <next> <block type="controls_if" id="%U70Es]yX`L}p/[AxjP1"> <value name="IF0"> <block type="logic_compare" id="YSAo!-{JFc!$wao4+j2m"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="[T{qgrx/ka=uQct;L.rj"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> </block> </value> <value name="B"> <block type="math_number" id="8nW/qBp)(S8kB#B0Q/ek"> <field name="NUM">120</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="srcU:kt;_7KKmMXkC/3D"> <field name="COMMENT">Pumpe Not-Aus bei zu viel Druck</field> <next> <block type="update" id="2#JIoZ;N,+))BBX:ml;p"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="N@U]PeHQscf7^LU7q7[,"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="{d5wnGEgZ{umbsQrj_kt"> <field name="TEXT"><h2>ALARM!</h2></field> </block> </value> <value name="ADD1"> <block type="text" id="m}^$`#~WSKX{k(f9@%=y"> <field name="TEXT"><strong>Überdruck!</strong></field> </block> </value> <value name="ADD2"> <block type="text" id="asVh@FD5s2m+)`%v(#s9"> <field name="TEXT"><br></field> </block> </value> <value name="ADD3"> <block type="text" id="jb?})50m{;]e5^y5FnfD"> <field name="TEXT">Der Pumpendruck beträgt </field> </block> </value> <value name="ADD4"> <block type="variables_get" id="~x8q@FJ0#)?A{C@ZpPb*"> <field name="VAR" id="G;[*0*e+|FLxIBWQ?*45" variabletype="">druck</field> </block> </value> <value name="ADD5"> <block type="text" id="gU/?A(+09:=1:TTlw?AI"> <field name="TEXT">kPa.<br> <br></field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="nv|r:KV%#/O_+z?Q;0(r"> <mutation name="Not_Aus"></mutation> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on_ext" id="SO])Tk/2c!54xtFB_[oL"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="pmVg4L-MWaXOHI*aWJ!`"> <field name="oid">default</field> </shadow> <block type="text" id="P|5rvg`CN~1X8Gzipc-p"> <field name="TEXT">hm-rpc.0.LEQ0773306.2.TEMPERATURE</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="EqoCaflD;)3U~6bU/XLm"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="MK5X9b)DX(JO$?nR/j7$"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="XI/YSB;EF`4MG7C/!lDB"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_compare" id="vig:OLc#4v0Jj)l)=Je/"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="0Bp/Hs;pjf3X(vR~)U59"> <field name="VAR" id="Yhi6L$#9ow5|s7Jzml9/" variabletype="">value</field> </block> </value> <value name="B"> <block type="math_number" id="6Q`pFPW8Zt=4wFL`^B1X"> <field name="NUM">28.5</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="O:bB$YmPnM9|H8UW`aUb"> <field name="COMMENT">Pumpe Not-Aus bei zu hoher Temperatur</field> <next> <block type="update" id="bJkQKjD~r}v_XiyCVE0("> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Logdaten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id=")qKjGD+*k!8_^MP^`/oV"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="riC$J#F=X=O#(:Ohpnil"> <field name="TEXT"><h2>ALARM!</h2></field> </block> </value> <value name="ADD1"> <block type="text" id="K-=H$hk=!7kqFb;FVN}P"> <field name="TEXT"><strong>Wasser zu warm!</strong></field> </block> </value> <value name="ADD2"> <block type="text" id="@W3G/*SnLN8;yjaJBS}+"> <field name="TEXT"><br></field> </block> </value> <value name="ADD3"> <block type="text" id="PO-x3Iuu+|)KEc]n_`E_"> <field name="TEXT">Die Wassertemperatur beträgt </field> </block> </value> <value name="ADD4"> <block type="variables_get" id="zb(jL3^bs}fEFF%{tvf/"> <field name="VAR" id="Yhi6L$#9ow5|s7Jzml9/" variabletype="">value</field> </block> </value> <value name="ADD5"> <block type="text" id="#(Q+P)v=TLb^+n,w8aWz"> <field name="TEXT">°C.<br> <br></field> </block> </value> </block> </value> <next> <block type="control" id="EAJlBjqtK*l+uBYur3Y#"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fVJuavjl.jsO06[aPo)F"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="update" id="{!_mR[3~qClN^`A@Q!Tb"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Overheat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="0ct/Oo|oXSpZS-VWrrBv"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="=thx*obAlc;Pam/}0pPf"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="z]QkSzInZL]iENdGFqe2"> <field name="VAR" id="Yhi6L$#9ow5|s7Jzml9/" variabletype="">value</field> </block> </value> <value name="B"> <block type="math_number" id="3+w/B{M]ER1k8H.oN$BW"> <field name="NUM">27</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="0Y#]wiHNblXC@bWi[%=P"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Overheat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="JL[0+M`$vBEE]Dcd[zs1"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
und weil es nicht mehr passte hier der
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="u5)B[cP{w)aPq9e;VA=S">Offset_old</variable> <variable type="undefined" id="Pumpentimer">Pumpentimer</variable> </variables> <block type="on_ext" id="8pdRI3sfko=W;q(x{FnX" x="187" y="-638"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id=")tmPN|eKYm)B)6(Xnr(h"> <field name="oid">hm-rpc.0.NEQ1547414.3.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="bX@l=r.c.?-.{h!9qQ#$"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Druck_real</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="cuZ4e33I~4mWk|]MuNc5" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="8jL5=/./^2L7ZE*^Gc1#"> <field name="NUM">1</field> </shadow> <block type="get_value" id="FRiY{6uJ$DiL`psN$zpJ"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1547414.3.STATE</field> </block> </value> <value name="B"> <shadow type="math_number" id="q[{QPPf#{bRFQ$FQpf8L"> <field name="NUM">1</field> </shadow> <block type="get_value" id="^L_,k8L{[oLb5dVSw1Y2"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Druckoffset</field> </block> </value> </block> </value> </block> </statement> <next> <block type="on_ext" id="7dfyAn6SRa*[nLlE6wNr"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="22fT?@[Ak,Y,5ARfKDR0"> <field name="oid">hm-rpc.0.JEQ0646431.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=")z={;q=@viwHI1]x-E!n"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="/jjj`+cYZAPxHH@;p6IO"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="AT;0x.hm%lz`yuC5zo!~"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="zJR/?W/^sfA1]`#W_fHR"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="k7,Ld^-49s3[mLyl?k_9"> <field name="VAR" id="u5)B[cP{w)aPq9e;VA=S" variabletype="">Offset_old</field> <value name="VALUE"> <block type="get_value" id="uKiT7U5B$q=V32ga+CX~"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Druckoffset</field> </block> </value> <next> <block type="controls_if" id="5{e1pE9g`CG$cM9rb1aL"> <value name="IF0"> <block type="logic_compare" id="SbT;@;s+#]+zqJOnx:?}"> <field name="OP">LT</field> <value name="A"> <block type="math_arithmetic" id="+h$eqKw!..R:[jqasXR1" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id=":ZMsb0D}2s:fL%}j;TL1"> <field name="NUM">1</field> </shadow> <block type="get_value" id="/_3qrVxW-WAe#2sk0`76"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1547414.3.STATE</field> </block> </value> <value name="B"> <shadow type="math_number" id="@oBz3x:s+e@-R3!hP|oH"> <field name="NUM">1</field> </shadow> <block type="get_value" id="I#F[Cpf1JFvl4@jPEJfK"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Druckoffset</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="O{,!/%{0jWdi!u!X0%s3"> <field name="NUM">15</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="F]Qh`p+zD!_rJ(gum~XU"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Druckoffset</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="g?V-c%Y#i;x,M?,TXQcu"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1547414.3.STATE</field> </block> </value> </block> </statement> <next> <block type="timeouts_setinterval" id="G!s)U6u#zWhpShasC(-D"> <field name="NAME">Pumpentimer</field> <field name="INTERVAL">60000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="update" id="y.9uq.0[L$M^N])z3a9^"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="Q~k8WA?`O{=W1lrVa3{_"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="d,c/@aBkqFRf?N@Yr-5G"> <field name="NUM">1</field> </shadow> <block type="get_value" id="(YEhHL(.~lc}}AHoBuML"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="d*iR./#qhS+Ez#Ij5-5!"> <field name="NUM">1</field> </shadow> <block type="math_number" id=")tjSs-H$l;izgCW_GF5{"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> <next> <block type="update" id="p/Ix384%K0UDVKZDgfSH"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Not-Aus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Q6mCM#Ap_U1SmcZg.Sko"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="update" id="T@Qrlc/|3IASJ:E%~d#W"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Aus-Counter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="/SuBDnd%5nJG~_--RgbY"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="~moo/6J([tr6PFL4:L+`"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="oz:()`fafBlUP+|y1*8X"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0646431.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="l#OlV{PU`v3.~d%|xNab"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="cr(4vRV.1.P_r{32*dRe"> <field name="NAME">Pumpentimer</field> </block> </statement> </block> </statement> <next> <block type="schedule" id="w/JIBBL)Uq0mr|w=@bXo"> <field name="SCHEDULE">45 59 23 * * *</field> <statement name="STATEMENT"> <block type="update" id="53{]?pcLg;9z`r(FMh*]"> <mutation delay_input="false"></mutation> <field name="OID">Messwerte.0.Pool.Laufzeit_Vortag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="bA+p,3+iuyNvPt[4g)/r"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Tageslaufzeit</field> </block> </value> <next> <block type="update" id="BJB5X-e%EadoRxy1^`=="> <mutation delay_input="true"></mutation> <field name="OID">Messwerte.0.Pool.Tageslaufzeit</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="get_value" id="(R)}ndTT=n[G3G,SbNMV"> <field name="ATTR">val</field> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</field> </block> </value> <next> <block type="update" id="DoE41r9kUV/=Ad8ohVvo"> <mutation delay_input="true"></mutation> <field name="OID">Messwerte.0.Pool.Pumpenlaufzeit</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="math_number" id="%yz1z|..HvC`PGJ-,};S"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@Homoran Wo holst du dir den Sonnenstand her - https://www.sonnenverlauf.de/ - oder kommt der von deiner PV Anlage genauso wie der Sonnensensor?
Ein Großteil der Sensoren hätte ich auch zur Verfügung außer der PV Geschichte - meine Anlage wird erst im August installiert
Was für einen Druckschalter hast da verbaut? Einfach ein DruckSCHALTER der dir True/False ausgibt oder einen Druckaufnehmer der dir Analog Werte liefert?
Regensensor RG-11 von rainsensors.com habe ich gerade gestern in Betrieb genommen - super Teil !!
Wieviel Temperatur Differenz fährst du zwischen Vorlauf und Rücklauf?
PS: Habe deine Skripte gerade mal importiert - HAMMER was da so gewachsen ist. Du nimmst 5°C (bzw. Kelvin) als Temperaturdifferenz - richtig?
-
@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
Wo holst du dir den Sonnenstand her -
Ein einfaches zeitgetriggertes Skript.
Das modul Suncalc ist inzwischen sogar Bestandteil der Standardinstallation (denke ich).@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
Was für einen Druckschalter hast da verbaut?
Das ist ein 5v dreileitungs billigdruckmesser aus eBay um die 15euro. Ist inzwischen ziemlich verrottet. Werde ihn mal austauschen müssen. Ggg, gegen einen 10v 2 Leitungssensor und den an das hip muti Mo modul, an den auch die Steuerung der Bewässerung kommt.
@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
Wieviel Temperatur Differenz fährst du zwischen Vorlauf und Rücklauf?
Was die Sonne so hergibt.
Da ist nichts geregelt. Sind Mitra Kollektoren, da geht der ganze Fluss durch.
Bei guter Sonne und Sonnenstand etwa 1,5 -1.8° sonst zwischen 0.4 und 1 -
Ich habe jetzt die letzte Zeit viel gelesen bzgl. Regelung von Warmwasser Erzeugung via Solarabsorber.
Im Grunde kann man das über ein relativ kleines Skript abbilden. In meinem besonderen Fall habe ich aber das Problem, das die Solarabsorber irgendwann gegen Nachmittag vom Nachbarhaus beschatte werden.
Wie ich jetzt feststellen musste, geht die Absorber Temperatur dann drastisch nach unten und man hat dann keine Pool Heizung, sondern vielmehr eine Pool Kühlung.
Wie könnte man diesen Anwendungsfall mit in das Skript einbauen? Wie ich bei sonnenverlauf.de gesehen habe, ändert sich der Wurfschatten des Nachbarhaus vom Frühjahr zum Spätsommer hin.
Ich habe jetzt bereits das JavaSkript für den Sonnenstand laufen und bekomme die Werte für Azimut und Elevation in ioBroker angezeigt.
Wie aber verarbeite ich diese Werte sinnvoll im Skript? Schließlich ändert sich die Beschattung der Absorber kontinuierlich über die Pool Betriebszeit im Jahresverlauf.
Ziel ist es halt, in der Zeit wo beschattet wird, eine Förderung des Poolwassers über die beschatteten Absorber zu vermeiden.
Hat jemand einen Gedankenansatz für mich? Vielen Dank
-
@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
Im Grunde kann man das über ein relativ kleines Skript abbilden
Hatte ich auch gedacht.
und dann kamen die Feinheiten . . .@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
das die Solarabsorber irgendwann gegen Nachmittag vom Nachbarhaus beschatte werden.
Bei mir ist das mein eigenes Haus bis etwa 11:00 oder 130° Azimut.
Hier mein kompletter View:
Die Garage befindet sich rechts neben dem Haus um 1m eingerückt.
Die Sonne geht morgens im Osten auf (90°) und steht nach Mittag so, dass auch das Nachbarhaus Schatten wirft. Allerdings ist der Schattenwurf im Sommer so kurz, dass von dort keine "Gefahr" ausgeht.@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
geht die Absorber Temperatur dann drastisch nach unten
Ja, wenn vorher seit der Nacht noch keine Sonne drauf stand ist es definitiv eher eine Kühlung, sonst ist es nicht sooo schlimm.
Schlimm ist es auch wenn es geregnet hatte und der Wind das Regenwasser verdunstet und die Verdunstungskälte wirkt.@JB_Sullivan sagte in Intervall Script Schaltung - Pool Schaltung:
Schließlich ändert sich die Beschattung der Absorber kontinuierlich über die Pool Betriebszeit im Jahresverlauf.
Nicht unbedingt.
Der Azimut bleibt gleich (sogar bei Sommer- , wie Winterzeit). Allerdings wirft das Nachbarhaus wohl je nach Elevation einen unterschiedlich langen Schatten.Um solche (durchaus möglichen) Berechnungen nicht durchführen zu müssen arbeite ich mit der Differenztemperatur zwischen Vor- und Rücklauf zum Absorber.
-
Hier mal meine Pumpensteuerung. Die große Heizpumpe ist deaktiviert, da ich komplett auf Edelstahlwellrohr umgestellt habe ist das System jetzt komplett dicht und eine Umwälzpumpe reicht.
Oben der Trigger, unten die Funktion. Nicht wundern, es werden mit jedem Trigger noch ein paar Variablen neu gerechnet und geschrieben.Das ganze arbeitet mit einer einstellbaren Differenz aus Wassertemperatur im Whirlpool und der Temperatur in einem der Solarmodule
-
@lalam sagte:
Oben der Trigger, unten die Funktion.
Weshalb aktualisierst Du "DifferenzTempEA" zweimal ?
-
Das ist Dummheit. Da haste Recht! Das rührt wohl noch aus den Zeiten her als die Trigger noch nicht rausgezogen waren Habs schon gelöscht. Danke!
-
Für alle die es interessiert - ich bin gerade dabei den Beta-Tester für dieses Projekt zu spielen.
Läuft super, ist völlig Autak und kann auf allen Sonoff Modellen die sich flashen lassen eingespielt werden Außerdem gibt die Poolsteuerungs Firmware MQTT Datenpunkte an ioBroker raus (Mqtt-Adapter). Wie gesagt ist noch Beta was ich gerade teste, aber dort im Forum gibt es bereits die Version 1.06 zum Download.
Ich bin NICHT der Entwickler, ich unterstütze nur ein bisschen als Beta Tester - aber ich bin schon sehr zufrieden damit.
Auch steht mein selbst gebauter Ventil Antrieb gemäß diesem YouTube Video kurz vor der Vollendung und wird dann mit in die Steuerung durch diese "Poolsteuerungs" Firmware mit eingebunden.
https://www.youtube.com/watch?v=d2WYe2pKprc&t=520s
-
Ich habe meine "Solar-Steuerung" folgendermaßen aufgebaut :
1-Wire Temperatursensor im Pool für Pooltemperatur, 1x Sensor am Vorlauf, einen am Rücklauf und einen in den Solarmatten.
Ich messe einfach die Temperatur in der Solarmatte. Wenn diese z.B. > 50°C wird die Pumpe eingeschaltet. (Wenn die Solltemperatur im Pool noch nicht erreicht ist.)
Bei 42°C in der Solarmatte wird die Pumpe wieder ausgeschaltet.Regensensor, Sonnensensor, Sonnenstand usw. benötige ich somit alles nicht. Den ich lasse die Pumpe ja nur laufen, wenn die Solarmatte eine über VIS einstellbare Temperatur hat. Und bei einer Ausschalttemperatur geht die Pumpe wieder aus.
Das funktioniert schon sehr gut und ist relativ einfach umsetzbar.
Bei Bewölk,ung oder vormittags erreicht die Matte nicht die Solltemperatur.
-
Das ist aber Kontraproduktiv sich auf die Außentemperatur der Solarmatten festzulegen.
Vielmehr solltest du eine Differenztemperatur (zwischen 4-6°C) zwischen Pooltemperatur und Solarmatten definieren - also keine Fixwerte. (Pumpe einschalten wenn Solarmatten 4°C höher als Pool Temperatur)
Bei den hohen Werten die Du definiert hast, verschenkst gerade bei wechselhaftem Wetter viel Sonnenenergie.
Wenn z.B. die Solarmattentemperatur 27°C ist und der Pool hat 22°C - und du ein Delta-T von 4°C eingestellt hast, würde er so lange warmes Wasser von den Solarplatten in den Pool eintragen, bis deine Hysterese (Abschaltwert z.B. 2°C oder genauer 2K) greifen würde.
Somit hättest du auch an bedeckten Tage eine leichte Temperatur Erhöhung im Pool. Diese ist zwar sehr moderat, und nicht so brutal wie deine Vorgehensweise, hat aber den Vorteil, das der Pool immer auf einem gleichmäßigen Temperatur Nivau gehalten wird.
Gerade bei den aktuell kalten Nächten braucht es 2-3 Tage "voll Power" bis du den Pool wieder von 18°C auf 25-26°C hochgeholt hast. Ich habe nach der oben beschriebenen Methode durchgängig 22-23°C im Pool und da reicht schon ein Sonnentag um auf 25°C + X zu kommen.
-
Hm.. ok. ich werde meine werte mal anpassen und es dann beobachten.