Aktuelle Pooltechnik im Technikraum

Da ich immer öfter gefragt werde wie wir dieses oder jenes gelöst haben, hier mal eine kleine Übersicht der aktuellen Pooltechnik. Verbaut sind momentan ein Phileo-lt für die Ph-Senkung bzw. Kontrolle, ein Blueconnect Salt (Blaub) zum Messen von Salzgehalt, Redox-Wert, Temperatur und pH-Wert, ein Intex Chlorinator zur Chlorproduktion sowie eine Aquatechnix 6 mit Sandy 400 Kessel zum Filtern und eine Midas Shine 8 Wärmepumpe.

Angefangen hat es mit dem Wunsch, nicht mehr ständig nach tropfenden Schläuchen suchen zu müssen. Also lag der Umstieg auf eine feste Verrohung und festen Klebestellen nahe… Da dieser Entschluss schon im Jahr 2020 gefallen war, wir aber noch einen kleinen Quick-Up Pool hatten, haben wir es auf die kommende Saison verschoben, in der wir ohnehin einen größeren Pool anschaffen wollten. Der Quick-Up Pool von Intex war jedoch super für unseren damals 3 Jahre alten Sohn. Er konnte bequem drin stehen, plantschen und wir dabei sitzen. Der jetzige wäre viel zu tief gewesen. Für kleine Kinder würden wir also immer so einen Epfehlen:

Der Neue Pool kam dann dieses Jahr.. Ein Intex Frame Pool mit 488*288cm

Die Leiter aus dem Set konnten wir noch brauchen, den Rest haben wir allerdings direkt mit dem alten Pool verkauft.

Als erstes wurde also direkt ein neuer Filerkessel mit Pumpe angeschafft:

Zeitgleich habe ich beim großen Buchhändler eine Mülltonnenbox bestellt.

Darin verbaut habe ich dann die gesamt Technik wie oben in der Galerie zu sehen. Die wichtigsten Komponenten sind aktuell diese:

Die Reglung vom pH-Wert macht der Phileo automatisch. Chlor steuere ich mit dem Wert vom Blueconnect über unsere Smarthome-Zentrale im ioBroker.

Da es aktuell noch im Mai echt A….-kalt ist, läuft unsere Pumpe von 7-23 Uhr zusammen mit der Wärmepumpe. Ich habe im Sicherungskasten nach einem Sicherungsautomaten und zwischen 2 Steckdosen einen Shely 2.5 verbaut um Wärmepumpe und Chlorinator einzeln schalten zu können. Die 3. Steckdose für den Phileo ist mit auf die Pumpe geklemmt damit dieser immer Zeitgleich an/aus schaltet wenn die Pumpe läuft

Lässt bitte die Arbeiten von einem Elektriker durchführen!

Das Skript für die Logik schaut dann so aus:

Hier findest du den Code
<xml xmlns="https://developers.google.com/blockly/xml">
  <variables>
    <variable type="interval" id="Laufzeit. Pumpe">Laufzeit. Pumpe</variable>
    <variable id="NjqFp#+#eh|`!85(R5;N">Handeinzähler</variable>
    <variable id="i+JAR-,/M2/w{.`h-AlG">Laufzeit</variable>
    <variable id="F7}suGkorObM9NbnZ%nw">HandeinStunden</variable>
    <variable id="fY|a$gWyt(nK=4FWvBcK">Chlor</variable>
  </variables>
  <block type="on" id="xcv.=8[Z)Y6G/#t;aZ]_" x="-2213" y="-137">
    <field name="OID">shelly.0.SHSW-25#C46476#1.Relay0.Switch</field>
    <field name="CONDITION">ne</field>
    <field name="ACK_CONDITION"></field>
    <statement name="STATEMENT">
      <block type="controls_if" id="nx(?d0r5EW[Ln/tZis][">
        <mutation else="1"></mutation>
        <value name="IF0">
          <block type="logic_compare" id="XM/P9]A@,a@!v:zvA{Ev">
            <field name="OP">EQ</field>
            <value name="A">
              <block type="on_source" id="xAZj(:=UE*L1{Cu_@+n$">
                <field name="ATTR">state.val</field>
              </block>
            </value>
            <value name="B">
              <block type="logic_boolean" id="aq+l(m6A#!|Kb?/Eg4P@">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO0">
          <block type="timeouts_setinterval" id="lGI2d8Dk7w#Rra-i;u)x">
            <field name="NAME">Laufzeit. Pumpe</field>
            <field name="INTERVAL">1</field>
            <field name="UNIT">min</field>
            <statement name="STATEMENT">
              <block type="math_change" id="{!8ak@{acr^USu?/=c!2">
                <field name="VAR" id="NjqFp#+#eh|`!85(R5;N">Handeinzähler</field>
                <value name="DELTA">
                  <shadow type="math_number" id="$)?C_6q0j9kpqI5hs^A@">
                    <field name="NUM">1</field>
                  </shadow>
                </value>
                <next>
                  <block type="math_change" id="|QyQk|nN$eECwJT(cBxr">
                    <field name="VAR" id="i+JAR-,/M2/w{.`h-AlG">Laufzeit</field>
                    <value name="DELTA">
                      <shadow type="math_number" id="%6ZJbO5$])F43RYbO0Z|">
                        <field name="NUM">1</field>
                      </shadow>
                    </value>
                    <next>
                      <block type="controls_if" id="N;C.?K5d3zakq$LW?urb">
                        <value name="IF0">
                          <block type="logic_compare" id="_Y{Rs$S@./]]IojHEG%T">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="variables_get" id="s@D9F0aj5DqQ?4WgIZYF">
                                <field name="VAR" id="NjqFp#+#eh|`!85(R5;N">Handeinzähler</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="math_number" id="{(k[Zw)36Xx-ZrL}mGEg">
                                <field name="NUM">60</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="variables_set" id="zN@|qEmyrDRy(yv@Uk0=">
                            <field name="VAR" id="NjqFp#+#eh|`!85(R5;N">Handeinzähler</field>
                            <value name="VALUE">
                              <block type="math_number" id="3Jytg4^mjD+6Qnp;LTsa">
                                <field name="NUM">0</field>
                              </block>
                            </value>
                            <next>
                              <block type="math_change" id="OQNa8FMkgn7@dURJ+Z]$">
                                <field name="VAR" id="F7}suGkorObM9NbnZ%nw">HandeinStunden</field>
                                <value name="DELTA">
                                  <shadow type="math_number" id="7]xi#nt[}j;SwBF@6:.A">
                                    <field name="NUM">1</field>
                                  </shadow>
                                </value>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
        <statement name="ELSE">
          <block type="timeouts_clearinterval" id="1M@v@$a$E=19.@K^obEo">
            <field name="NAME">Laufzeit. Pumpe</field>
          </block>
        </statement>
      </block>
    </statement>
    <next>
      <block type="schedule" id="qEsNkq7dcZ:QW~OkxESQ">
        <field name="SCHEDULE">* * * * *</field>
        <statement name="STATEMENT">
          <block type="update" id="N0jRa^xZB#9*igG$vu.-">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
            <field name="OID">0_userdata.0.Pool.Laufzeit_Pumpe_Heute</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
              <block type="text_join" id="E+tQIgwF:gYS(lo2}P/s">
                <mutation items="4"></mutation>
                <value name="ADD0">
                  <block type="variables_get" id="0qpR:f7{;2z,j?gpKBYn">
                    <field name="VAR" id="F7}suGkorObM9NbnZ%nw">HandeinStunden</field>
                  </block>
                </value>
                <value name="ADD1">
                  <block type="text" id="}$#exg6YKVxDg$Y{jqgS">
                    <field name="TEXT"> Stunden und </field>
                  </block>
                </value>
                <value name="ADD2">
                  <block type="variables_get" id="+u{d,}}9l)Ta4tW+nMPY">
                    <field name="VAR" id="NjqFp#+#eh|`!85(R5;N">Handeinzähler</field>
                  </block>
                </value>
                <value name="ADD3">
                  <block type="text" id="`c-B2GUQhj?pX{12{A[a">
                    <field name="TEXT"> Minuten</field>
                  </block>
                </value>
              </block>
            </value>
          </block>
        </statement>
        <next>
          <block type="schedule" id="8nO+MRqF9}jzM$,Nzj~8">
            <field name="SCHEDULE">59 23 * * *</field>
            <statement name="STATEMENT">
              <block type="telegram_call" id="(mZMTiYe]N@Bh-eRj8.$">
                <field name="INSTANCE"></field>
                <field name="LANGUAGE"></field>
                <field name="REPEATS">1</field>
                <field name="LOG"></field>
                <value name="MESSAGE">
                  <shadow type="text" id="G1%R^!,PjgsxYp:IAI7D">
                    <field name="TEXT">text</field>
                  </shadow>
                  <block type="text_join" id="HyJsY[8I!5EsD3FU6S_C">
                    <mutation items="6"></mutation>
                    <value name="ADD0">
                      <block type="text" id="[-,%mls!HJe74gW/@I)D">
                        <field name="TEXT">Der poolfilter lief Heute </field>
                      </block>
                    </value>
                    <value name="ADD1">
                      <block type="math_rndfixed" id="~B5lb_BjHS|4V1!i+^9w">
                        <field name="n">1</field>
                        <value name="x">
                          <shadow type="math_number" id="nf6HZZa16935[?KZRi7n">
                            <field name="NUM">3.1234</field>
                          </shadow>
                          <block type="math_arithmetic" id="w@SJGIp`2O#U0o%J.a7|">
                            <field name="OP">DIVIDE</field>
                            <value name="A">
                              <shadow type="math_number" id="$rQ:O`tlVY9RCNH]m2d6">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="variables_get" id="4Le+.|?_PF1ym_~c#XXm">
                                <field name="VAR" id="i+JAR-,/M2/w{.`h-AlG">Laufzeit</field>
                              </block>
                            </value>
                            <value name="B">
                              <shadow type="math_number" id="pigCm$tq!FG3^1J.Tp_c">
                                <field name="NUM">60</field>
                              </shadow>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="ADD2">
                      <block type="text" id="K{G~m@gMjU;v1`WLNz__">
                        <field name="TEXT"> Stunden oder </field>
                      </block>
                    </value>
                    <value name="ADD3">
                      <block type="variables_get" id="`$_*U6n$7Af}pDth4lm{">
                        <field name="VAR" id="i+JAR-,/M2/w{.`h-AlG">Laufzeit</field>
                      </block>
                    </value>
                    <value name="ADD4">
                      <block type="text" id="qqw=RoNq1tBFr1;++Dc#">
                        <field name="TEXT"> Minuten</field>
                      </block>
                    </value>
                    <value name="ADD5">
                      <block type="text_newline" id="4F_~OVhIkS)F@y|=;Gn3">
                        <field name="Type">\n</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="USERNAME">
                  <shadow type="text" id="(3mXgaoK6RA=e%S5dTal">
                    <field name="TEXT"></field>
                  </shadow>
                </value>
                <next>
                  <block type="variables_set" id="UT9bT#3gXl@jgn]ErA_N">
                    <field name="VAR" id="NjqFp#+#eh|`!85(R5;N">Handeinzähler</field>
                    <value name="VALUE">
                      <block type="math_number" id="^qvgh{_o5y8]^WM4:2B5">
                        <field name="NUM">0</field>
                      </block>
                    </value>
                    <next>
                      <block type="variables_set" id="I[-5Rk@AQiNC8tOju6uI">
                        <field name="VAR" id="F7}suGkorObM9NbnZ%nw">HandeinStunden</field>
                        <value name="VALUE">
                          <block type="math_number" id="(i0L%ig$LA:)=:,{p?pE">
                            <field name="NUM">0</field>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </next>
  </block>
  <block type="comment" id="8_E*([YkOs$r.8,onj8p" x="-1137" y="-137">
    <field name="COMMENT">Pumpe Ein</field>
    <next>
      <block type="schedule" id="w#7):F;6N(giY,%`+r|(">
        <field name="SCHEDULE">0 7 * * *</field>
        <statement name="STATEMENT">
          <block type="control" id="2sNd(=:!XjyU^J{m|-{U">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
            <field name="OID">shelly.0.SHSW-25#C46476#1.Relay0.Switch</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>
          </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 23 * * *</field>
                <statement name="STATEMENT">
                  <block type="control" id="?}4t1cLeF^VzS9Hz|/)K">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">shelly.0.SHSW-25#C46476#1.Relay0.Switch</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="logic_boolean" id="b?$Nln9Znzp8B:4Iggn]">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                  </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">blueconnect.0.orp.value</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">javascript.0.Pool.Filteranlage.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="?gzuP+dxjXIMpJk%nAe$">
                                        <field name="ATTR">val</field>
                                        <field name="OID">shelly.0.SHSW-25#C46476#1.Relay0.Switch</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="nLu-w^;-YC`wp8*Dj|sV">
                                        <field name="BOOL">TRUE</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">javascript.0.Pool.Filteranlage.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="=xMQK$dU?r8-w[;Wg,yl">
                                        <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>
                              </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" collapsed="true">
                                <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">blueconnect.0.orp.value</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="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">75</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>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

Ihr braucht dazu den laufenden Adapater für den Blueconnect & den Shelly Adapter

Hier sind noch einige Bilder vom Aufbau… Näheres dazu in kürze 🙂