@michisa86888
das ist meine Wintersteurung:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="fY|a$gWyt(nK=4FWvBcK">Chlor</variable>
</variables>
<block type="procedures_defnoreturn" id="krpD%r,K:?XP^0}HpcxV" x="-912" y="-438">
<field name="NAME">Power</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="~1Dn1@*IDrzRDfXBx3Mh">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.2</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="NRl!=9l?+gJZs?1VOce=">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="uf/@PQ0t|#y)6WCyUw4T">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.1</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="logic_boolean" id="(y@Er:?^Hc7[@.$q)vHf">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="[HooE]!@+#:[_q$%6*nP">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.3</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Ka_)m)ss-LPEznT|{3h#">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="schedule" id="{+bo?]JupI}xy(^0xS]O" x="-1113" y="-313">
<field name="SCHEDULE">30 9 * * *</field>
<statement name="STATEMENT">
<block type="procedures_callnoreturn" id="d0O7j}@q3h8oO*[,AqK=">
<mutation name="Winter Ein"></mutation>
</block>
</statement>
<next>
<block type="schedule" id="Fh=*5cu]a$[:yJ(KL,ve">
<field name="SCHEDULE">0 19 * * *</field>
<statement name="STATEMENT">
<block type="procedures_callnoreturn" id="*?H^sH$n6*82HwE|%!2R">
<mutation name="Power"></mutation>
</block>
</statement>
<next>
<block type="schedule" id="5uK!5PN55##3#t?,,#ah">
<field name="SCHEDULE">0 20 * * *</field>
<statement name="STATEMENT">
<block type="procedures_callnoreturn" id="@DY[c|7b{wdMx6aG!FAl">
<mutation name="Winter Ein"></mutation>
</block>
</statement>
<next>
<block type="comment" id="8_E*([YkOs$r.8,onj8p">
<field name="COMMENT">Pumpe Ein</field>
<next>
<block type="schedule" id="w#7):F;6N(giY,%`+r|(">
<field name="SCHEDULE">30 9 * * *</field>
<statement name="STATEMENT">
<block type="procedures_callnoreturn" id="}VcbiwGHX#Pu~PB8orgv" disabled="true">
<mutation name="sommer ein"></mutation>
</block>
</statement>
<next>
<block type="comment" id="m:[*]QErQlF?p8iK{b:!">
<field name="COMMENT">Pumpe Aus</field>
<next>
<block type="schedule" id="Nx(uN0@FAl@%=J21puJ?">
<field name="SCHEDULE">0 20 * * *</field>
<statement name="STATEMENT">
<block type="procedures_callnoreturn" id="18zW(;#0/9sBq]19{)d}" disabled="true">
<mutation name="sommer aus"></mutation>
</block>
</statement>
<next>
<block type="comment" id="^TP4q#?0cVWJ#H~vc*fk">
<field name="COMMENT">Chlorgenerator</field>
<next>
<block type="on" id="zXT1JH!~UKCcwLrEJhpF">
<field name="OID">0_userdata.0.Pool.Chlor</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="}M;m*5M?9JY=7)V@X7(S">
<mutation elseif="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="*]hzE,yI:DSm55wyCh8%" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="Fb-Jc6FBd)9(_MEAk*KH">
<field name="OP">LTE</field>
<value name="A">
<block type="on_source" id="_Dv7(B@G+jc;w`,}q;Sy">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="get_value" id="5Ff].YB:mE^PD?q6rhRt">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Pool.Chlor_Min</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="Mnz1rP8j5BZ}o:0F}w~.">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="FUEV2^)nV2c.M{_M}J{C">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHSW-25#C46476#1.Relay1.Switch</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="nLu-w^;-YC`wp8*Dj|sV">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="@1AyOFRBxYqlgRN;o+{:">
<field name="VAR" id="fY|a$gWyt(nK=4FWvBcK">Chlor</field>
<value name="VALUE">
<block type="logic_boolean" id="^1@#5:F+S,cqs#zz.i_4">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="ZGF#}xZe69K(7aT_eIpd">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="!c3D(6J[r(b3d4~9ieRl">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="get_value" id="*Q5{mZSdiAxmpejG-Vor">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Pool.Chlor_Max</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="variables_set" id="0-Xy2fzz#X365Z]W!@n/">
<field name="VAR" id="fY|a$gWyt(nK=4FWvBcK">Chlor</field>
<value name="VALUE">
<block type="logic_boolean" id="7I=GRKU*UFS,8HoV/-ZN">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="N#,gr`#,^dtI,D~Jv.y*">
<value name="IF0">
<block type="logic_compare" id="axFljj2y#RDtPl.xCKwd">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="Q];`2Ei$}!NtHiiB776u">
<field name="VAR" id="fY|a$gWyt(nK=4FWvBcK">Chlor</field>
</block>
</value>
<value name="B">
<block type="get_value" id="}fdv=3G]Zf!Ny$sH,A9a">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHSW-25#C46476#1.Relay1.Switch</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="n8iLAbI@sR?$mHAy;^e_">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">shelly.0.SHSW-25#C46476#1.Relay1.Switch</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="WPIe;S9LxdS!).z4cY=N">
<field name="VAR" id="fY|a$gWyt(nK=4FWvBcK">Chlor</field>
</block>
</value>
</block>
</statement>
<next>
<block type="debug" id="f]{3goY3~yq7@K*240K}">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="1b8O7AuC`gw3N`VmpEYu">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="pY{c~iX+MWg5_48uOb~v">
<field name="VAR" id="fY|a$gWyt(nK=4FWvBcK">Chlor</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="on_ext" id="RnNqePkHjN:vvE,EweE3">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">gt</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="mP9g^HP]%ns+6ch7ZhS#">
<field name="oid">shelly.0.SHSW-25#C46476#1.Relay1.Switch</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="pushover" id="Y.@GGssym_|v3e}lg(vl">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="pmX@O66|Ks.:}NJrPAmW">
<field name="TEXT">text</field>
</shadow>
<block type="text_join" id="3E$HwLWFU]lV`?kb7D)d">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text" id="2Y0b**WcLsz[Bo6SYqFr">
<field name="TEXT">Chlorinator wurde eingeschaltet </field>
</block>
</value>
<value name="ADD1">
<block type="text_newline" id="9;vPyOERBTH%JO]}b)a#">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="7$VvEV.Rr{08Qo^-Rsz?">
<field name="TEXT">Der Redox-Wert beträgt </field>
</block>
</value>
<value name="ADD3">
<block type="get_value" id="7tZaZ@rVd!W~-8nz#r.,">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Pool.Chlor</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="|_[K5?Xe@y4tE0%=09lD">
<field name="TEXT"> mV</field>
</block>
</value>
</block>
</value>
<next>
<block type="telegram" id="m5VLvz@y|6%`.Pr#K6n!" disabled="true">
<field name="INSTANCE"></field>
<field name="LOG"></field>
<field name="SILENT">FALSE</field>
<field name="PARSEMODE">default</field>
<field name="ESCAPING">FALSE</field>
<field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
<value name="MESSAGE">
<shadow type="text" id="Q.ZRw,r#i`~@Msw/Jh-h">
<field name="TEXT">text</field>
</shadow>
<block type="text_join" id="/s|c|{@4D`F#$)=_Dx$I">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text" id="yjJ4#t1z}/h8B?DA=Q$p">
<field name="TEXT">Chlorinator wurde eingeschaltet </field>
</block>
</value>
<value name="ADD1">
<block type="text_newline" id="741y3l*z2+Rf7{AK59q*">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="KkaEY|LcUu5s!CcFp/Ib">
<field name="TEXT">Der Redox-Wert beträgt </field>
</block>
</value>
<value name="ADD3">
<block type="get_value" id="^]:F5TG3HBpxb3yENGb@">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Pool.Chlor</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="0Wo{%jpK-N/9#?K2KNrh">
<field name="TEXT"> mV</field>
</block>
</value>
</block>
</value>
<next>
<block type="control" id="lSjgX^-xpn{vx|s+B8mw">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">shelly.0.SHSW-25#C46476#1.Relay1.Switch</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">70</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="FDVa5dhV}_;]M5k[bZkN">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
<block type="procedures_defnoreturn" id="03m(MjWx#3hh**k}Qqfs" x="-937" y="-263">
<field name="NAME">sommer ein</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="2sNd(=:!XjyU^J{m|-{U">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.2</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="E+J|Y]-4rApqwPzOyX~H">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="tXM0rqU)N.d3D;IC[Bxo">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.1</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="logic_boolean" id="qL-#PR1lSz1o)8pGWsWs">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="Kzd~{$(1o,UZ-N,383F)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.3</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">700</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id=";w6XAI$gy6q@S6x@$=yA">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="S.}O(bE+G][_HTP}!m0a" x="-787" y="-88">
<field name="NAME">sommer aus</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="4/UtwaU-]0(}~N0yWXMj">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.1</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="so*-~6}1Smz2c_TxW+Tq">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="mYP3*ZZQY^/r%7R4wQZ=">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.2</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="logic_boolean" id="bJLvv;gw(lUOB#Go*a^r">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="KL2[1:_G|Bu1Pd31ajDd">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.3</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">700</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="T]+4{ksJ#4mv_k?YeP,{">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="7Kn:jXR*IymU5rgDV0jF" x="-537" y="88">
<field name="NAME">Winter Ein</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="$_%MJ8fQW(c9?+VV=@L%">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.1</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="+g)4uyI4;i[lo=29^whv">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="{?sSNbBstd-OVl._B7~9">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.2</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">700</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^mfW~$1q!4eadbw.BqdS">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id=",ipK?X0/,-~S`?G^7~GI">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.3</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="logic_boolean" id="]:z0tYf)!1`4+uHq*Al3">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="e7{UPVeV|T*)JiBN@Yo," x="-488" y="263">
<field name="NAME">Winter Aus</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="U4$jviMmVsTT+prMk8Cc">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.2</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Y[lP_C=JFHPa.K5h/,:0">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="Bv$Utyufuu`E8#47AeGI">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.1</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="logic_boolean" id="s+J25%o@bV^!I{@Rr,3H">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="G5y`5IP9Ot-4prV(:f]a">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">tuya.0.bf0e611510167547eethsa.3</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">700</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[#?CsK;|p#L:8i`.x%Wj">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
Ich hab einen variator für die Poolpumpe beim den ich über ein Tuja 4fach Relais (Tuya Wifi Smart Switch Modul 250/4ch AC DC 7-32V 85-V Jog ) die Geschwindigkeiten der Pumpe schalten kann, einen blueconnect salt für die automatischen werte, einen poollab für manuelle Messungen und einen Shelly für den Chlorinator um chlor zu steuern (ginge aber auch mit ner Dosipumpe)
Im Winter läuft die pumpe nur mit 65 Watt durch und einmal am Tag auf 2/3 Leistung zum Filtern
Bei der Chlordosierung habe ich Min und Maxwerte in je einem Datenpunkt. Wenn eine neue Messung erfolgt, wird geschaut ob einer der Werte unter- bzw überschritten ist und dann der Chlori eingeschaltet. Bei mir dauert es etwa 60-80 minuten bis die Werte wieder passen (erfahrung) daher wird nach 70 min ausgeschaltet und auf die nächste Messung gewartet.
Selbiges funktioniert analog mit PH heber oder senker, je nach bedarf.
Ich werd es die kommenden Tage mal in das große Script einarbeiten, im Winter brauch ichs aber nicht. da dann eh Lichtdicht abgedeckt ist.