Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Poolheizung- Steuerung und Effizienz

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    112

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    154

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    865

Poolheizung- Steuerung und Effizienz

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
2 Posts 2 Posters 1.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Linedancer
    wrote on last edited by
    #1

    Hallo Gemeinde,

    hier zeige ich mal kurz wie ich meine Poolheizung steure, überwache und auch versuche die Effektivität der Heizung zu ermitteln.

    Meine Heizung ist relativ simpel aufgebaut. Es liegen 6 Kreise a ca. 80m Gartenschlauch (1/2“) parallelverschaltet auf dem Garagendach. Eine separate Pumpe fördert das Poolwasser durch diesen „Absorber“. Somit bin ich unabhängig von Filterlaufzeiten und muss die existierender Verrohrung des Filters nicht ändern.

    An Sensoren gibt es einen Homematic Differenztemperatursensor der die Pool und die Rücklauftemperatur vom Absorber misst. Dazu einen Sonnensensor ebenfalls basierend auf dem Homematic Differenztemperatursensor.

    Ein Blockly schaltet die Heizpumpe ein, wenn

    Sonne scheint

    Pooltemp < 24,8C

    Differenz Pool/Absorber > 1K

    Elevation Sonne > 10

    Und aus, wenn

    Pooltemp > 25°C oder

    Differenz Pool/Absorber < 1K

    Soweit, so simpel. Die grosse Frage ist: Bringt das was?

    Dazu bedarf es erstmal einer Info wie stark scheint die Sonne. Ich habe glücklicherweise ca. 5-10km Luftlinie von meinem Pool eine Mess Station gefunden die den Wert der Globalstrahlung in [W/m²] auf einer Website darstellt.

    Das nächste was wir brauchen ist die Wasseroberfläche des Pools in [m²] und die Fläche des Absorbers in [m²].

    Jetzt fehlt noch die Fördermenge der Heizungspumpe in [l/min] und die Masse des Poolwassers in [kg].

    Berechnungen:

    1. Sonnenenergie die das Poolwasser direkt aufheizt.

    Energie [kWh] = Globalstrahlung x Poolfläche x Messzeit

    Das ganze macht ein Blockly alle 15 minuten

    1. Sonnenenergie die den Absorber aufheizt.

    Energie [kWh] = Globalstrahlung x Absorberfläche x Messzeit

    Das macht das gleiche Blockly alle 15 minuten

    1. In das Poolwasser verbrachte Energie vom Absorber

    Energie [kWh] = m x c x delta t

    m = Wassermasse die den Absorber in der Messzeit (15 minuten) durchströmt

    c = spezifische Wäremkonstante Wasser (1,163 Wh/kgK)

    delta t = Temperaturdifferent Poolwasser / Absorber Rücklauf.

    1. Wirkungsgrad des Absorbers

    eta = Ergebnis aus 2 / Ergebnis aus 3

    1. Anteil des Absorbers an der Aufheizung des Pools

    prozentualer Anteil = Ergebnis aus 2 / (Ergebnis aus 1 + Ergebnis aus 2) *100

    Hier das Blockly das alles bis auf Punkt 5 macht.

    ! ````
    <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="oydV|(K_vtXNJ2L]b7P" x="112" y="-32"><field name="COMMENT">Berechnung der durch die Sonne erzielte Energie im Pool</field> <next><block type="schedule" id="TPz.~u#rq~J9u#ozY9qk"><field name="SCHEDULE">*/15 * * * *</field> <statement name="STATEMENT"><block type="comment" id="zo^0#vhbgEfZs6);=Mk*"><field name="COMMENT">20.2 ist die Poolfläche im m²</field> <next><block type="comment" id="ifS6_rN}8M;t;59T@k8w"><field name="COMMENT">0.25 ist der Zeitfaktorda das Script alle 15 minuten läuft</field> <next><block type="variables_set" id="Zzfvr(uBQ3y,RuOX5VOn"><field name="VAR">Energie_pro_15min</field> <value name="VALUE"><block type="math_arithmetic" id="CoV]2gyc75LCjnLf@nV" inline="false"><field name="OP">MULTIPLY</field>
    <value name="A"><shadow type="math_number" id="yg=a^!%@cs}W5K-VYIM"><field name="NUM">1</field></shadow>
    <block type="get_value" id="cZ:zNBM@eJx5%PeWr#2o"><field name="ATTR">val</field>
    <field name="OID">parser.0.Globalstrahlung_1h</field></block></value>
    <value name="B"><shadow type="math_number" id="f]JkGvM3%{[~Fp_rx#7K"><field name="NUM">1</field></shadow>
    <block type="math_arithmetic" id="m3ts0FQ^X3ScMe4tp%~V" inline="false"><field name="OP">MULTIPLY</field>
    <value name="A"><shadow type="math_number" id="NtNqm92j!Mk+D*0R+@Yl"><field name="NUM">1</field></shadow>
    <block type="math_number" id="/fYK9gE=M47Y;VtM@WaN"><field name="NUM">20.2</field></block></value>
    <value name="B"><shadow type="math_number" id=";tqWo(^Y:
    :L*NT9g]0"><field name="NUM">1</field></shadow> <block type="math_number" id="?h]3YOb*XERtQf_%J5%"><field name="NUM">0.25</field></block></value></block></value></block></value>
    <next><block type="update" id="Oi%MKWXH*(:G)09r3Zd;"><mutation delay_input="false"></mutation>
    <field name="OID">javascript.0.Pool.Solareinstrahlung_Pool</field>
    <field name="WITH_DELAY">FALSE</field>
    <value name="VALUE"><block type="math_arithmetic" id="5!11L!YlAa2H+U9S/-U{" inline="false"><field name="OP">ADD</field>
    <value name="A"><shadow type="math_number" id="HGr19Y%q8Yy(6WUyI:i0"><field name="NUM">1</field></shadow>
    <block type="get_value" id="i/^hwY85kKk-SZvRH!"><field name="ATTR">val</field>
    <field name="OID">javascript.0.Pool.Solareinstrahlung_Pool</field></block></value>
    <value name="B"><shadow type="math_number" id="#X7vgA)Mn)QtHb)llf3i"><field name="NUM">1</field></shadow>
    <block type="variables_get" id="l2m57X(4Es~;;^,zrbBu"><field name="VAR">Energie_pro_15min</field></block></value></block></value>
    <next><block type="comment" id="Q0]01WebJ?0iRlN.%cG|"><field name="COMMENT">8 ist die Kollektorfläche im m²</field>
    <next><block type="comment" id="q%J23o?2v[%tLrw-NT~S"><field name="COMMENT">0.25 ist der Zeitfaktorda das Script alle 15 minuten läuft</field>
    <next><block type="variables_set" id="os_o:v.khCWOw,@:w[w"><field name="VAR">Energie2_pro_15min</field>
    <value name="VALUE"><block type="math_arithmetic" id="eglU+)NqQd)Y}#h3MGU!" inline="false"><field name="OP">MULTIPLY</field>
    <value name="A"><shadow type="math_number" id="yg=a^_!%@cs}W5K-VYIM"><field name="NUM">1</field></shadow>
    <block type="get_value" id="m4NooAxT0_koiG:STWtD"><field name="ATTR">val</field>
    <field name="OID">parser.0.Globalstrahlung_1h</field></block></value>
    <value name="B"><shadow type="math_number" id="f]JkGvM3%{[~Fp_rx#7K"><field name="NUM">1</field></shadow>
    <block type="math_arithmetic" id=";w/j%6qGd]^{BM+IL#kH" inline="false"><field name="OP">MULTIPLY</field>
    <value name="A"><shadow type="math_number" id="NtNqm92j!Mk+D
    0R+@Yl"><field name="NUM">1</field></shadow>
    <block type="math_number" id="^DP+1t+|l_OhyF+q#dI%"><field name="NUM">8</field></block></value>
    <value name="B"><shadow type="math_number" id=";tqWo(^Y:_:L*NT9g]0"><field name="NUM">1</field></shadow> <block type="math_number" id="zt}[9S0lXm1PvXD^{K-l"><field name="NUM">0.25</field></block></value></block></value></block></value> <next><block type="update" id="dFqs;fl03C}H/TDYM)c!"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Pool.Solareinstrahlung_Kollektor</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_arithmetic" id="dwec_8z.iLtoaa+Vbuc" inline="false"><field name="OP">ADD</field>
    <value name="A"><shadow type="math_number" id="HGr19Y%q8Yy(6WUyI:i0"><field name="NUM">1</field></shadow>
    <block type="get_value" id="lt?uOAj(AZI.t!mA!pd"><field name="ATTR">val</field> <field name="OID">javascript.0.Pool.Solareinstrahlung_Kollektor</field></block></value> <value name="B"><shadow type="math_number" id="#X7vgA)Mn)QtHb)llf3i"><field name="NUM">1</field></shadow> <block type="variables_get" id="rZ_@Ak|YaK}rc^y:)Muq"><field name="VAR">Energie2_pro_15min</field></block></value></block></value> <next><block type="controls_if" id="rJHmEw*%Vi#,d}xK3w+"><value name="IF0"><block type="logic_compare" id="!,e:])(~-XtG:MnpM2mf"><field name="OP">EQ</field>
    <value name="A"><block type="get_value" id=";l[m49w5|Q.Zfp2N,US"><field name="ATTR">val</field>
    <field name="OID">hm-rpc.2.MEQ0023494.2.STATE</field></block></value>
    <value name="B"><block type="logic_boolean" id="ARDAss3|lS+9_B}oo7.L"><field name="BOOL">TRUE</field></block></value></block></value>
    <statement name="DO0"><block type="comment" id="ohk;IVmGWy,@YD;V^cMz"><field name="COMMENT">Fördermenge Heizpumpe in 15 min =187.5l</field>
    <next><block type="comment" id="Zi#is+O);SH/9q(/5vlt"><field name="COMMENT">spez. Wärmekonstante c=1,163 Wh/kgK</field>
    <next><block type="variables_set" id="X{(m[Vk+9(*K;!%l}|m"><field name="VAR">DeltaT</field> <value name="VALUE"><block type="get_value" id="#4zbBIs8qnerRPo{08M"><field name="ATTR">val</field>
    <field name="OID">hm-rpc.2.LEQ0773808.3.TEMPERATURE</field></block></value>
    <next><block type="variables_set" id="gWGlZYkbF_U9Jt^@8Wsh"><field name="VAR">DeltaT</field>
    <value name="VALUE"><block type="math_number" id="TJC/O]my@kl3R1skLQeh"><field name="NUM">3</field></block></value>
    <next><block type="variables_set" id="#{VW/yg%1Z0u{Sk?KFQV"><field name="VAR">Abgegebene_Arbeit</field>
    <value name="VALUE"><block type="math_arithmetic" id="T/@EK[oAc?VP/Ya%XL+c" inline="false"><field name="OP">MULTIPLY</field>
    <value name="A"><shadow type="math_number" id="e{%qPrY=C(T)aU}X)i+r"><field name="NUM">1</field></shadow>
    <block type="math_number" id="iI+nban![~Ab1Yo%95V^"><field name="NUM">187.5</field></block></value>
    <value name="B"><shadow type="math_number" id="MhZ8IyN!h!=+mG{TC?r{"><field name="NUM">1</field></shadow>
    <block type="math_arithmetic" id="qh=5oI%rJ:D,VgW(h38}" inline="false"><field name="OP">MULTIPLY</field>
    <value name="A"><shadow type="math_number" id="_KoNMysI
    :v5%,w3,EN4"><field name="NUM">1</field></shadow>
    <block type="math_number" id="?b4K?xqNhtMOldd+]*C"><field name="NUM">1.163</field></block></value> <value name="B"><shadow type="math_number" id="y7bXedJ|6y|?.dZzUWd@"><field name="NUM">1</field></shadow> <block type="variables_get" id="{73+o)gZQ}Q*MeBZCU-m"><field name="VAR">DeltaT</field></block></value></block></value></block></value> <next><block type="update" id="@b4z,SvXw}*C,oq@o51{"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Pool.Energie_Poolheizung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="}rs334/_RMF8C|lx)32k"><field name="VAR">Abgegebene_Arbeit</field></block></value> <next><block type="update" id="H;^0VDq-53?oTFGT@^#"><mutation delay_input="false"></mutation>
    <field name="OID">javascript.0.Pool.Wirkungsgrad_Poolheizung</field>
    <field name="WITH_DELAY">FALSE</field>
    <value name="VALUE"><block type="math_arithmetic" id="B%3?o8YJ%!Y9XZx#D99" inline="false"><field name="OP">DIVIDE</field> <value name="A"><shadow type="math_number" id="tsWa:(_PPmL9dF#]Tjb"><field name="NUM">1</field></shadow>
    <block type="variables_get" id="O5N;dA?obdIF(@{m?@vB"><field name="VAR">Abgegebene_Arbeit</field></block></value>
    <value name="B"><shadow type="math_number" id="[S){f8|}/at6H7p,st^R"><field name="NUM">1</field></shadow>
    <block type="variables_get" id="eCA!uUT-8E#W(hLCV0d}"><field name="VAR">Energie2_pro_15min</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml>

    Das Ganze ist natürlich mit einer gewissen Unschärfe verbunden. Einfallswinkel der Sonne, temporäre Beschattung, Aufheizung der Wandung des Pools… Aber als grobe Abschätzung schon OK. Wenn ich abends rückrechne wieviel Energie notwendig war, um die Temperatursteigerung des Tages zu erzielen, bin ich schon ziemlich nahe dran an meinen Ergebnissen.
    
    Mas schauen was ich da noch optimieren kann.
    
    hier noch 2 View´s mit denen ich das ganze visualisiere:
     ![1564_2018-07-25.png](/assets/uploads/files/1564_2018-07-25.png) 
     ![1564_2018-07-25__1_.png](/assets/uploads/files/1564_2018-07-25__1_.png) 

    –

    Ciao, Gerhard

    1 Reply Last reply
    0
    • SmarthomeMFS Offline
      SmarthomeMFS Offline
      SmarthomeMF
      wrote on last edited by
      #2

      Gefällt mir sehr gut.

      Werde ich mal ausprobieren

      Max

      ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
      Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

      1 Reply Last reply
      0

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      Support us

      ioBroker
      Community Adapters
      Donate

      514

      Online

      32.8k

      Users

      82.7k

      Topics

      1.3m

      Posts
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Home
      • Recent
      • Tags
      • Unread 0
      • Categories
      • Unreplied
      • Popular
      • GitHub
      • Docu
      • Hilfe