Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Pool Dosierscript PH und Chlor

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Pool Dosierscript PH und Chlor

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

      Hallo Com,

      ich versuche mich gerade an einem Script was meine Dosierpumpen steuern soll.

      So ganz will die Schleife noch nicht. Die soll so lange laufen und sich wiederholen, bis eben der Chlor Wert im ersten Beispiel wieder ok ist. Danach erst mal Ruhe bis der Wert nicht mehr stimmt.

      33483a94-c847-4d00-b991-0c45c788f25c-image.png

      Das ganze läuft aber nur einmal durch und dann wars das. Der Sollte doch ständig im rechten "nach Chlor dosieren" hängen bleiben bis der Wert gleich oder über 750 ist. Danach würde es erst mal nichts mehr machen.

      Aber irgendwie macht er dort nicht weiter.. Am Ende nach den 5min müsste er das doch wieder starten oder nicht ? Prüfen, wenn Wert unter 750 dann wieder dosieren für 60 Sek, danach Pumpe aus 5min warten und wieder starten, prüfen ...

      Grüße D3ltoro

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @D3ltoroxp last edited by paul53

        @d3ltoroxp sagte: Das ganze läuft aber nur einmal durch und dann wars das.

        Das kann ich anhand des Skripts nicht nachvollziehen. Es sollte aber einfacher funktionieren:

        Blockly_temp.JPG

        EDIT: Da keine Hysterese vorgesehen ist, kann natürlich ein Zyklus ausreichen, um den Wert wieder auf >= 750 zu bringen.

        D3ltoroxp 1 Reply Last reply Reply Quote 0
        • D3ltoroxp
          D3ltoroxp @paul53 last edited by

          @paul53 Ist das hier nicht eine Endlosschleife ?

          6c4cd5da-5896-48d1-9c54-bab383495ca6-image.png

          Er pumpt schaltet aus, wartet und startet wieder die Pumpe !!

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @D3ltoroxp last edited by

            @d3ltoroxp sagte: Ist das hier nicht eine Endlosschleife ?

            Ja, ein 6-Minuten-Zyklus, solange die Timer nicht gestoppt werden durch Erreichen des Grenzwertes.

            D3ltoroxp 1 Reply Last reply Reply Quote 0
            • D3ltoroxp
              D3ltoroxp @paul53 last edited by

              @paul53 ach so das machst du auf der linken Seite. Recht läuft und läuft in Endlosschleife. Sollte dann der Wert erreicht sein, startet der Rechte Block und stoppt den Zyklus ?

              Was heißt hier nicht -> Verzögerung (dosieren)

              Aber das hier sollte doch auch laufen, oder bin ich zu blöd..
              c2a6d255-d7dc-4ce1-a428-a59d7b8851c5-image.png

              Nach den 60 Sekunden, sollte er doch die Pumpe stoppen und das auch als Error Text wiedergeben.

              In der Log tut sich nichts, ich sehe nur Dosierscript start und Pumpe an. Danach ist ruhe. Die Zyklen dürften doch nicht gestoppt werden.
              Oder geht das so schnell, das sich das überschneidet und er den schon wieder stoppt ?
              8de961a0-48cf-4072-adc6-c44eab1f234f-image.png

              paul53 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @D3ltoroxp last edited by

                @d3ltoroxp sagte: Was heißt hier nicht -> Verzögerung (dosieren)

                Diese Sperre verhindert, dass die Timer mehrfach gestartet werden und sich dann nicht mehr stoppen lassen.

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @D3ltoroxp last edited by paul53

                  @d3ltoroxp sagte: Nach den 60 Sekunden, sollte er doch die Pumpe stoppen und das auch als Error Text wiedergeben.

                  Wenn der Grenzwert innerhalb der 60 s schon erreicht wird (keine Hysterese!), wird die Funktion erneut aufgerufen und der Ausschalt-Timer dosieren gestoppt.

                  EDIT: Besser eine Hysterese einbauen:

                  Blockly_temp.JPG

                  D3ltoroxp 1 Reply Last reply Reply Quote 0
                  • D3ltoroxp
                    D3ltoroxp @paul53 last edited by D3ltoroxp

                    @paul53 Also momentan ist der Wert bei 550. Daher sollte wenn ich meine Zusammenstellung verstehe, das Script ganz normal laufen ? Von den 750 bin ich weit weg.
                    An dem Chlor Wert ok, ändert sich ja auch erst mal nichts, auch wenn sich der Wert ständig ändert, er setzt den ja immer wieder auf false. Reagieren dürfte das dosieren ja nur, wenn der Wert von false auf true und wieder zurück geht.

                    So lange müsste doch die Endlosschleife laufen, bis ich die 750 überschritten hab ?

                    Hab die beiden mal deaktiviert, aber auch hier läuft das Script nicht weiter, nach Pumpe ein passiert nichts mehr.

                    b046678d-aeb5-4fa2-b347-0d277a9970e3-image.png

                    Sorry das ich hier immer wieder meins nutze, zur Verständnishalber, wollte ich das gern mit eigenen Sachen probieren. Deins macht eigentlich ähnliches, halt viel kompakter ?

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @D3ltoroxp last edited by paul53

                      @d3ltoroxp sagte: Also momentan ist der Wert bei 550

                      Dann wird nach Skriptstart die Funktion nicht aufgerufen, da sich der Wert des Trigger-DP "Chlor Wert ok" nicht ändert (bleibt false).

                      @d3ltoroxp sagte in Pool Dosierscript PH und Chlor:

                      ähnliches, halt viel kompakter ?

                      Und wahrscheinlich funktionierend, da auf den Zwischendatenpunkt verzichtet und bei Erreichen des Grenzwertes immer verzögert ausgeschaltet wird.

                      D3ltoroxp 2 Replies Last reply Reply Quote 0
                      • D3ltoroxp
                        D3ltoroxp @paul53 last edited by D3ltoroxp

                        @paul53 Für meine Logik, sollte der Wert ja auch False sein, damit die Pumpe dosiert. Natürlich in Verbindung mit dem aktuellen Wert.

                        Aber indem Fall könnte ich das raus lassen und nur auf den Wert gehen. Sobald der halt runter fällt, legt die Pumpe sofort los. Für den Anfang wollte ich das so lassen. Hätte aber später einen Wert als Beispiel zwischen 720 und 750 , Chlorwert ok. Daher der extra DP, der mit berücksichtig werden soll.

                        @paul53 said in Pool Dosierscript PH und Chlor:

                        Und wahrscheinlich funktionierend, da auf den Zwischendatenpunkt verzichtet und bei Erreichen des Grenzwertes immer verzögert ausgeschaltet wird.

                        Was bedeutet verzögert, um welchen Wert oder Zeit ?

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @D3ltoroxp last edited by paul53

                          @d3ltoroxp sagte: Was bedeutet verzögert, um welchen Wert oder Zeit ?

                          Siehe oben: 30 s, damit die Pumpe nicht schon abschaltet, wenn sie gerade erst 2 s gelaufen ist.

                          D3ltoroxp 1 Reply Last reply Reply Quote 0
                          • D3ltoroxp
                            D3ltoroxp @paul53 last edited by

                            @paul53 Ah "verzögern nimmt sich die 30 sec aus dem "steure Pumpe..."

                            1 Reply Last reply Reply Quote 0
                            • D3ltoroxp
                              D3ltoroxp @paul53 last edited by

                              @paul53 Den Zwischendatenpunkt hatte ich eigentlich eingebaut, damit die Pumpe nicht gleich los legt. Der Chlor Wert darf z.b. von 720 - 750 haben.

                              Daher hatte ich gemeint ich würde noch einen DP dazu nehmen, der eben vorgibt Wert ok oder nicht, je nachdem wo er sich befindet. Übersteigt er soll er so lange dosieren, bis der DP wieder auf true steht und der Soll Wert erreicht ist. Also über 750, dann hat es wieder eine weile Zeit, bis er dosiert.

                              957bebeb-2034-4606-b7e2-9df0ef0e558f-image.png

                              So hatte ich das auch mit Ph vor...

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @D3ltoroxp last edited by

                                @d3ltoroxp sagte: Der Chlor Wert darf z.b. von 720 - 750 haben.

                                Das meine ich mit Hysterese, dass die Dosierung bei <= 720 einschaltet und bei >= 750 ausschaltet.

                                Blockly_temp.JPG

                                D3ltoroxp 1 Reply Last reply Reply Quote 0
                                • D3ltoroxp
                                  D3ltoroxp @paul53 last edited by

                                  @paul53 Woher weiß dein Script das bei 750 Schluss ist ? Momentan schaltet es ja nur bei 720 ein richtig ?

                                  Meins würde jetzt auch so gehen bis jetzt.

                                  1edc2599-5dd0-48d1-8173-5df62a35d75a-image.png
                                  Hab auf der rechten Seite die Prüfung noch mal raus genommen, ob der Chlor Wert ok ist.

                                  Aber das gleiche macht deins dann eigentlich auch und ich brauchen den 2. DP gar nicht. Da er im Script prüft mit den Werten.

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @D3ltoroxp last edited by paul53

                                    @d3ltoroxp sagte: Woher weiß dein Script das bei 750 Schluss ist ?

                                    Siehe oben.

                                    Blockly_temp.JPG

                                    D3ltoroxp 1 Reply Last reply Reply Quote 0
                                    • D3ltoroxp
                                      D3ltoroxp @paul53 last edited by D3ltoroxp

                                      @paul53 Vielen Dank, werd das so mal umsetzten und beobachten.
                                      Meins wäre so auch gegangen, nur eben umständlicher, oder Schritt für Schritt um es besser zu verstehen was das Skript macht ?

                                      EDIT: So das hab ich jetzt mal mit ph probiert.

                                      d0a1ebfb-1d5b-4439-8538-5fd116176231-image.png

                                      Hier war auch noch so, das erst pH und dann Chlor angepasst werden muss. Dann müsste ich beim Chlor noch etwas hinzufügen, was erst dosiert, wenn pH Wert passt.

                                      Aber noch mal zum Skriptverständnis.

                                      Der pH Wert ändert sich auf 7.37, dann passiert -> sonst falls. ausführen "dosieren pH" stoppt verzögert.

                                      Funktion startet, -> Pumpe an, nach 60 Sek. Pumpe aus, nach 5 min wird wieder die Funktion gestartet.

                                      Nebenher ändert sich der Wert immer wieder und sinkt weiter runter, dabei wird doch immer wieder "sonst falls" gestartet ?

                                      Ich muss noch was mit einbauen, soll nur passieren wenn die Filterpumpe läuft sonst wirds problematisch, da wenn sie nicht läuft der Wert in der Messzelle auch nicht stimmt, weils Wasser dort steht.

                                      So sollte das doch passen ?

                                      80dd248c-9d28-4bcd-8284-f00a1edc2972-image.png

                                      Das Funktion wird ständig neu gestartet, die Zirkulation wird ignoriert.
                                      2d1c8275-a2f1-4da0-af8b-dbaf97f0c025-image.png

                                      So pumpt sie viel zu viel pH- rein, wenn der Wert dann unterschritten ist, sinkt er immer weiter, weil ja jede Menge im Wasser ist und es dauert bis der Wert stimmt. Er müsste eigentlich wirklich 5min warten und dann erst wieder schauen, ob der Wert stimmt.

                                      paul53 2 Replies Last reply Reply Quote 0
                                      • paul53
                                        paul53 @D3ltoroxp last edited by

                                        @d3ltoroxp sagte: So das hab ich jetzt mal mit ph probiert.

                                        Die Grenzwerte sind vertauscht. So entsteht keine Hysterese.

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @D3ltoroxp last edited by paul53

                                          @d3ltoroxp sagte: Das Funktion wird ständig neu gestartet

                                          Wozu soll die Abfrage von Switch gut sein?
                                          Der Telegram-Block rechts unten ist umsonst, denn er wird nie ausgeführt.

                                          Das Ausschalten (Beispiel Redox) mache besser so, da sonst mehrere Nachrichten kommen können:

                                          Blockly_temp.JPG

                                          D3ltoroxp 1 Reply Last reply Reply Quote 0
                                          • D3ltoroxp
                                            D3ltoroxp @paul53 last edited by D3ltoroxp

                                            @paul53 said in Pool Dosierscript PH und Chlor:

                                            @d3ltoroxp sagte: Das Funktion wird ständig neu gestartet

                                            Wozu soll die Abfrage von Switch gut sein?

                                            Das ist die Poolpumpe, die muss laufen, sonst ist es schlecht zu dosieren, da dann nichts zirkuliert und das Chlor im Rohr steht und immer mehr wird, weil an der Messzelle gar nichts ankommt.
                                            Bei deinem Beispiel, startet die Funktion ständig neu, das heißt der 5min Zyklus kommt gar nicht zum Einsatz, weil er ja immer wieder gestoppt wird. Hier wird ständig pH nachdosiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            905
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            42
                                            1908
                                            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