Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Vorlage] Poolfilterpumpensteuerung

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    UNSOLVED [Vorlage] Poolfilterpumpensteuerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      GeorgS last edited by GeorgS

      Hallo, ich habe nun endlich mein Poolfilter Steterung so weit das ich diese auch euch zur verfügung stellen kan.

      Ich hab das ganze so vereinfacht das man nur die Variablen ändern muss (ist gekenzeichnet) und nicht mehr das halbe Script durchsuchen muss wo noch eine falsche ObjektID ist...

      Funktionen:

      • Alle Datenpunkte können automatisch erzeugt werden, einfach den Block über den Variablen-Stamm aktivieren und das Script neu Starten.

      • Es gibt zwei Einschaltzeiten (00:00-23:59) sowie zwei Laufzeiten (60) in Minuten die frei wählbar sind.

      • Wird die Filterpumpe per Hand eingeschalten nicht durch das Script schaltet die Pumpe nach 60min aus, diese Zeit kann auch geändert werden.

      • Es gibt eine Handeinschalt Funktion die die Pumpe einschaltet aber nicht mehr ausschaltet es wird nur stündlich gemeldet das die Pumpe x Stunden an ist.

      • Eine Zeitauswahl die die Pumpe für x Minuten (auswählbar) einschaltet und danach wieder ausschaltet.

      Fehler und Bugs bitte einfach hier darunter Posten danke.

      So sieht das Script aus:
      Script.JPG

      Das Script:
      https://github.com/3DGera/Poolfiltersteuerung

      To-Do-Liste:

      • Wird das Script gespeichert müssen alle Zeiten geändert und neu getriggert werden.
      S S 2 Replies Last reply Reply Quote 2
      • M
        Marcelinho1692 last edited by

        Sehr cool. Hätte Interesse nur bin ich irgendwie zu blöde um das Script in Blockly zu importieren. Weiß jemand was ich falsch mache?

        G 1 Reply Last reply Reply Quote 0
        • G
          GeorgS @Marcelinho1692 last edited by GeorgS

          @Marcelinho1692 du öffnest die Poolfiltersteuerung.txt in meinem Post kopierst den gesammten Text dort und geht in dein Script wo du es importieren möchtest. Dann klickst du auf dieses Icon

          Blocklyoptionen.JPG

          in dem geöffneten Fenster kopirst du dann alles aus der .txt Datei rein und klickst dann auf Importieren. FERTIG

          Dann viel spaß mit dem Script

          1 Reply Last reply Reply Quote 0
          • G
            GeorgS last edited by GeorgS

            Neue Version des Scriptes verfügbar, bitte über meine GitHub Seite das Script herunterladen/kopieren.

            DANKE

            https://github.com/Gilias-Ger/Poolfiltersteuerung

            1 Reply Last reply Reply Quote 0
            • L
              locito09 last edited by

              Ich habe einen Problem mit den variable Meldung. Was könnte das sein? wir die Variable nicht erzeugt?
              Habe alle Datenpunkte automatisch erstellt.
              folgende Meldungen bekomme ich im LOG:

              javascript.0
              2019-06-15 10:36:49.563
              warn
              at script.js.common.Pool_Pumpe.Poolpumpe_Script:134:3
              javascript.0
              2019-06-15 10:36:49.563
              warn
              at Laufzeiterzeugung2 (script.js.common.Pool_Pumpe.Poolpumpe_Script:103:3)
              javascript.0
              2019-06-15 10:36:49.563
              warn
              at Meldung (script.js.common.Pool_Pumpe.Poolpumpe_Script:8:7)
              javascript.0
              2019-06-15 10:36:49.561
              warn
              getState "javascript.0.Pool.Meldung" not found (3)

              G 1 Reply Last reply Reply Quote 0
              • G
                GeorgS @locito09 last edited by GeorgS

                @locito09 Hast du meine Objekte Automatisch hinzugefügt oder hast du die Objekte selber erstellt und dann die OB_Variablen geändert?

                Dir fehlt das Objekt "javascript.0.Pool.Meldung"

                Bitte mal das neue Script von der GitHub Seite holen ich habe die ObjektId erstellung nun umgeschrieben. Diese wird jetzt die ObjektIDs auch gleich richtig formatieren.

                F 1 Reply Last reply Reply Quote 1
                • F
                  fhepfussel @GeorgS last edited by

                  @georgs Hallo, ich bin bei der Suche nach einer Möglichkeit meine Poolpumpe zu steuern über die Poolfiltersteuerung gestolpert. Habe das Skript in IoBrober implementiert und die Visualisierung auch gestartet. Alles läuft soweit auch ohne eine Fehlermeldung, nur die Laufzeiten laufen nicht die angegebene Zeit ab. Bei eingestellter Laufzeit1 von 120min laufen nur 60min und bei Laufzeit2 bei 210min nur 134min. Bin gerade etwas überfagt, an was das liegen könnte.
                  Ich muss aber zugeben, dass ich von Skrip programmierung keine Ahnung habe und bei Blockly nur einfache Blöcke hinbekomme.
                  Vieleicht gibt es hier ja jemanden de mir Helfen könnte.
                  Grüße in die Runde

                  1 Reply Last reply Reply Quote 0
                  • S
                    SoerenKaiser99 @GeorgS last edited by

                    @georgs Moin Georg, dein script ist Top 🙂 Vielen Dank dafür!

                    Ich hätte noch einen Vorschlag bzw. eine Idee dazu... Ich habe als erstes noch einen Block eingefügt, der die aktuelle Tageshöchsttemperatur vom daswetter adapter prüft. Den Wert teile ich durch 2 als Faustregel für die Pumpenlaufzeit und rechne mal 60 Minuten. Damit aktualisiere ich um 7 Uhr morgens die Filterzeit 2 nachdem ich die eingestellte Filterzeit 2 vom Ergebnis abgezogen habe..

                    Hintergrund: Die Laufzeit der Pumpe sollte (laut div. Foren) 1/2 Zeit in Stunden der Tagestemperatur laufen. Ich verwende einen Chlorinator der Abends das Becken chlort damit es über nacht wirken kann. Dazu muss die Pumpe eh laufen... ich starte um 18 Uhr mit 4 Stunden. Der Rest ist dann eben variabel, abhängig von der Tagestemperatur.

                    Hier ist der Codebaustein wenn die Ihn einbauen magst:

                    <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="{On=]L?/+veq/[gbXc|W" x="-1162" y="-2262">
                      <field name="SCHEDULE">0 7 * * *</field>
                      <statement name="STATEMENT">
                        <block type="comment" id="8znNY$$+0DSgaGv9S32%">
                          <field name="COMMENT">Laufzeitberechnung um 7 Uhr mit das Wetter / Tageshöchsttemperatur geteilt durch 2 abzüglich Laufzeit 2</field>
                          <next>
                            <block type="variables_set" id="iq#O{)]O[ros.6d+{nx|">
                              <field name="VAR" id="Bcx-@%4B@gt-0F}K:f(m">Tagestemperatur</field>
                              <value name="VALUE">
                                <block type="math_arithmetic" id="kKA)~_2HvSc%-gs54@Id">
                                  <field name="OP">MINUS</field>
                                  <value name="A">
                                    <shadow type="math_number" id="iUTQPNqUiEXe7ROWM;~[">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="P/:6%u^Kt}S@:+h@pLA%">
                                      <field name="OP">MULTIPLY</field>
                                      <value name="A">
                                        <shadow type="math_number" id="rj`fcd)$q{!/BkMP_G,6">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_arithmetic" id=";1BA(hLKSMeJXkw!+j+S">
                                          <field name="OP">DIVIDE</field>
                                          <value name="A">
                                            <shadow type="math_number" id="-Cvsb1{4.tX-]H%I=N%x">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="xIq5WxS(#itC8pCxtwD2">
                                              <field name="ATTR">val</field>
                                              <field name="OID">daswetter.0.NextHours.Location_1.Day_1.tempmax_value</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="#YRwS=AX6eRxD{#~RcA5">
                                              <field name="NUM">2</field>
                                            </shadow>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="EcQfUgZSn]?w/kAwKmpK">
                                          <field name="NUM">60</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="=lG7gc?Yo(|(JM^/s_fo">
                                      <field name="NUM">240</field>
                                    </shadow>
                                    <block type="variables_get" id="1sI*w71rft{|0!p1BZ!!">
                                      <field name="VAR" id="bd$x:fR[|5BNbw+MyPx2">Laufzeit2</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="jLF)0=.qSK7zC$1Zd8Di">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">javascript.0.Pool.Filteranlage.Laufzeit1</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="7w;|cXlU!|PrpL[RR8b7">
                                      <field name="VAR" id="Bcx-@%4B@gt-0F}K:f(m">Tagestemperatur</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="debug" id="ZK`o`|PEVP_xw@#o543a">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="v=V75F5m6T}0-Djp%Je:">
                                          <field name="TEXT">test</field>
                                        </shadow>
                                        <block type="variables_get" id="En+wE8T~)~)VFZ_b.VAT">
                                          <field name="VAR" id="Bcx-@%4B@gt-0F}K:f(m">Tagestemperatur</field>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                    

                    Als nächstes würde ich die Redoxsteuerung einpflegen, dazu fehlt mir aber noch die Pool-ID vom Blueconnect... 😄

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Shadow79 @GeorgS last edited by

                      @georgs
                      Guten Morgen. Erst einmal vielen Dank das du dies hier zur Verfügung stellst. Ich finde das genial das es Leute gibt die anderen in so einer Community helfen. Großes Lob. Ich bin gerade dabei meine poolsteuerung mit Shelly Aktoren zu realisieren. Dafür werde ich dein blockly importieren. Leider bin ich absoluter Leie was IObroker angeht . Ich habe minimale wissen weil ich mir den raspi sowie iobroker erst vor ein paar Tagen angelegt habe weil ich mich da ein arbeiten will. Meine Herausforderung besteht jetzt aber darin, dass ich zusätzlich einen Stellmotor schalten will der den Weg zu meinen Solarmodulen öffnen soll. Dazu habe ich zwei Temperatursensoren am Pool bzw solar angebracht. Hättest du für sowas auch einen Vorschlag oder eine fast fertige Lösung. Das wäre genial. Ich werde das nachher mal testen was du hier veröffentlicht hast. vis habe ich bisher auch noch nicht genutzt. Das muss ich jetzt auch unebdingt machen.

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        fhepfussel @Shadow79 last edited by fhepfussel

                        @shadow79 Hallo Shadow, ich habe bei mir ein solches 3-Wege Mischventil im einsatz, welches ich umgebaut habe mit einem High Torque Motor. Screenshot 2021-05-18 213545.png
                        Mittels 3D-Druck habe ich mir Teile angefertigt um den Motor und Endschalter auf das Ventil zu bringen.!DSC00438.JPG DSC00437.JPG
                        Um den Motor zu steuern habe ich einen Wemos D1 Mini mit Tasmota in IoBroker und 2 Relais in ein Gehäuse gepackt.DSC00440.JPG .

                        Wäre als Ideenspender gedacht. Ich bin aber auch gespannt ob alles so läuft, weil ich bis jetzt nur Trockentests machen konnte. Der Pool steht auf grund des bescheidenen Wetters noch nicht.
                        Grüße an alle.DSC00439.JPG

                        S G 2 Replies Last reply Reply Quote 1
                        • S
                          Shadow79 @fhepfussel last edited by

                          @fhepfussel cool. ich schicke mal fotos von meiner Konstruktion. Heute sollten die letzten teile eintreffen. Vielleicht schaffe ich es am Wochende.Dann melde ich mich. Dann brauche ich nur die Blockly hilfe. aber dringend 😉

                          1 Reply Last reply Reply Quote 0
                          • S
                            Shadow79 @SoerenKaiser99 last edited by

                            @soerenkaiser99 hallo, kannst du mir vielleicht helfen. Ich würde gern diese Blocky auch nutzen. Ich bin aber absoluter neuling und weiß überhaupt nicht was da wie abläuft. bräuchte echt jemand der das schritt für schritt mir erklärt um da rein zu kommen und es für meinen teil anzupassen.

                            1 Reply Last reply Reply Quote 0
                            • G
                              GeorgS @fhepfussel last edited by

                              @fhepfussel Coole Idee funktioniert das ganze denn nun zuverlässig?

                              @shadow79 Brauchst du denn noch Hilfe bei der Implementierung des Blockly?

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                fhepfussel @GeorgS last edited by

                                @georgs Hi, sorry die späte Antwort, waren im Urlaub. Die Idee ist Cool, aber es läuft nicht zuverlässig. Die Steuerung arbeitet so ein bis zwei Tage, dann plötzlich läd sie die Parameter neu mitten im laufen und schaltet die Pumpe nicht mehr ab oder ein, je nachdem zu welcher Zeit der neue Load kommt. Dann muss ich das Skript stoppen und neu starten, damit es wieder funktioniert. Oder was auch schon war das Zeit 1 eingeschaltet wurde und gleich darauf wieder aus, obwohl die ausschaltzeit eine ganz andere ist.
                                Grüße

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  GeorgS @fhepfussel last edited by

                                  @fhepfussel

                                  Hast du noch irgend etwas hinzugefügt? Denn bei mir läuft das ganze jetzt seit 3 Jahre problemlos.

                                  Warum läd er denn die Parameter neu? Wenn er nämlich die Parameter neu läd schaltet er eigentlich die Pumpe aus.

                                  Kannst du mir mal dein Skript schicken?

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    fhepfussel @GeorgS last edited by

                                    @georgs Hi, danke für die schnelle Antwort. Leider weis ich im Moment gar nicht mehr ob ich etwas verändert hatte, in der VIS ja da hab ich etwas gemacht, was allerdings darauf keinen Einfluss habes sollte. Wie kann ich dir das Skript schicken?
                                    Gruß

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      GeorgS @fhepfussel last edited by

                                      @fhepfussel Du gehst in das Blockly Script rein und drückst oben rechts auf "Blöcke exportieren" dann öffnet sich ein neues Fenster und den Inhalt dann einfach mal Posten 😃

                                      95a5f016-3aa8-44dd-a2a5-953ff1c2091d-Unbenannt.png

                                      Laut deinem Beitrag von damals wolltest du deine Solaranlage noch einbinden 😃

                                      F 2 Replies Last reply Reply Quote 0
                                      • F
                                        fhepfussel @GeorgS last edited by

                                        @georgs Hi, hab das skript mal als zip Datei gemacht.
                                        neu 1.zip

                                        Nee die Solaranlage war SoerenKaiser99.
                                        Würde ich aber auch gerne alles in einem haben, mein Mischer läuft momentan in einem anderen Blockly.

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          fhepfussel @GeorgS last edited by fhepfussel

                                          @georgs Hier mal noch ein Bild von Telegram.
                                          3bf7ad38-9aef-4356-a053-148629ff2948-grafik.png
                                          wo mitten drin die Grundeinstellungen geladen wurden.
                                          Vieleicht finde ich noch das andere wo ich vorhin meinte
                                          a8d0b284-e49b-4fdd-be3a-acbe19ff873c-grafik.png

                                          oder hier mitten in der Nacht
                                          aca8a732-0873-4939-9d7c-8f6259a26a58-grafik.png

                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            GeorgS @fhepfussel last edited by GeorgS

                                            @fhepfussel Ist ja sehr komisch... ich lass mal ein paar Tage das Skript laufen und schau ob das bei mir auch passiert... Das sollte das Skript nicht machen sehr komisch

                                            Das mit dem Mischer kannst du genau so in das Blockly stecken in dem du es Exportierst und dann wieder Importierst 😉

                                            F 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            584
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            37
                                            3997
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo