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.
    • 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
          • D3ltoroxp
            D3ltoroxp last edited by D3ltoroxp

            So ist mein aktuelles Script...

            Ich weiß es sieht nicht so aus wie deins, so kann ich aber die Schritte nachvollziehen...

            416e04f4-7d0f-47e1-be6e-a3064398a7ea-image.png

            Gibt es die Möglichkeit, das der Trigger die Funktion nicht neu startet wenn " ausführen zirkulieren..." läuft ? Kann das erkannt werden und mit als Bedingung eingebaut werden ?

            So läuft es theoretisch, aber teilweise bricht er dann irgendwann ab und es passiert nichts mehr.

            So müsste ja die Funktion in sich als Schleife laufen, bis dann der Wert passt. Aber es fliegt immer wieder aus dem "ausführen zirkulieren..." raus. Manchmal läufts durch.

            8:59:38.478	error	javascript.0 (658) script.js.Pooltechnik.pH_Chlor_Wert_ueberwachen: dosieren Script pH
            18:59:38.478	error	javascript.0 (658) script.js.Pooltechnik.pH_Chlor_Wert_ueberwachen: pH Pumpe EIN !!
            18:59:38.478	error	javascript.0 (658) script.js.Pooltechnik.pH_Chlor_Wert_ueberwachen: ph Wert ok getriggert
            

            Es stoppt dann z.b. einfach so. Das passiert durch neu getriggert ? Dann stoppt er die Timeouts aber sollte doch die Funktion neu starten ?

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

              @d3ltoroxp
              Die Timer müssen gestoppt werden, wenn "ok" wahr wird, und die Funktion muss aufgerufen werden, wenn "ok" falsch wird.

              Blockly_temp.JPG

              Die Abfrage des pH-Wertes in der Funktion ist unnötig: Das wird durch Starten der Funktion und Stoppen der Timer erreicht.

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

                @paul53 said in Pool Dosierscript PH und Chlor:

                @d3ltoroxp
                Die Timer müssen gestoppt werden, wenn "ok" wahr wird, und die Funktion muss aufgerufen werden, wenn "ok" falsch wird.

                Blockly_temp.JPG

                Die Abfrage des pH-Wertes in der Funktion ist unnötig: Das wird durch Starten der Funktion und Stoppen der Timer erreicht.

                So siehts nun aus.

                748e6553-468f-4acb-87f2-197fee54c7e4-image.png

                Gleiche Problem er startet einmal, dann passiert irgendwie nichts mehr. Kann man hier nicht sagen, wenn da schon eine Funktion bzw. ein " Ausführen Timer" läuft, starte die Funktion nicht noch mal ?

                11:42:23.602	error	javascript.0 (658) script.js.Pooltechnik.pH_Chlor_dosieren: pH dosierung Stop
                11:45:25.120	error	javascript.0 (658) script.js.Pooltechnik.pH_Chlor_dosieren: pH Pumpe EIN !
                11:45:25.121	error	javascript.0 (658) script.js.Pooltechnik.pH_Chlor_dosieren: pH dosierung Start
                

                EDIT:
                Ich hab nur das laufen, nach Pumpe EIN passiert gar nichts mehr.

                4a7e9834-a0b1-4368-9a31-8efe923f3058-image.png

                Egal wie oft ich die Funktion starte.

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

                  @d3ltoroxp sagte: er startet einmal, dann passiert irgendwie nichts mehr.

                  Das kann ich anhand des Blockly-Bildes nicht nachvollziehen. Nach einer Minute muss ausgeschaltet werden, es sei denn "ok" wird innerhalb der Minute wahr - dann muss aber "stop" im Log erscheinen.

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

                    @paul53 So geht es, so läuft das Script in Schleife.

                    12eaf4bc-2946-4e69-8080-8725b3f30eec-image.png

                    Wenn ich die "Ausführen Timer" nacheinander mache.

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

                      @paul53 pH Wert ist ok, warum dosiert sie trotzdem ?

                      f7a743e0-c0f7-4d55-ba11-58d666633725-image.png

                      Bin leider viel zu sehr im Minus, sie dürfte doch gar nicht Pumpen, wenn pH Wert ok.

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

                        @d3ltoroxp sagte: sie dürfte doch gar nicht Pumpen, wenn pH Wert ok.

                        Wurde die Änderung von "ph_Wert_ok" von falsch auf wahr nicht mitbekommen? Offenbar wurde "zirkuliere_pH" nicht gestoppt. Das darf nicht passieren, denn am Skript liegt es nicht: Irgend etwas läuft bei Dir nicht rund.

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

                          @paul53 Das Gefühl hab ich auch. Ich kann ja auch nicht Ausführen Timer in Ausführen Timer packen, die liefen ja dann gar nicht durch.

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

                            Jetzt hab ich es noch mal ein wenig mehr überwacht...

                            681b1a3f-f9a7-4398-b66f-8890bbb3c60b-image.png

                            So sollte zumindest dennoch dann die Funktion stoppen, sobald der Wert erreicht ist.

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

                              Also Rund läuft das Script leider nicht. Mal kann es sein er Chlort wirklich durch, über längeren Zeitraum, bis es passt. Oft mals aber auch bloß 1-2x dosieren danach ist einfach Feierabend. Startet aber auch nicht mehr Tage lang.
                              Was könnte man da noch anders machen.

                              Hier noch mal das ganze Script.

                              Pool Chloren.txt

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

                                @d3ltoroxp sagte: Hier noch mal das ganze Script.

                                Das ist nur ein kleiner Teil.

                                Hier passt der Funktionsaufruf nicht:

                                Blockly_temp.JPG

                                (Aus dem Bild vom 22.Juni)

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

                                  @paul53 Das hab ich jetzt in der Vergangenheit so abgeändert.

                                  422d4ed2-544f-4213-b323-08a85e4f79f0-image.png

                                  Kann ja nur eigentlich daher kommen, das er den Timer irgendwie stoppt und dann eben nicht mehr Triggert, weil der Wert sich ja nicht mehr über den Sollwert bewegt. Man müsste irgendwie reagieren können, sobald der Wert immer schlechter wird, das dann wieder Dosiert wird. Nicht nur einmal angesteuert, wenn er den Wert unterläuft, sondern auch wenn er weiter im Wert sinkt. Geht sowas ? Oder kann ich nicht mit so einer Schleife arbeiten ?

                                  239f8036-6659-4cd4-a5f8-60c1efc4c1ea-image.png

                                  Wiederholen solange, bis Wert true ?

                                  So lange würde das doch in der Schleife laufen, den 5 min Timer mit einbauen.

                                  30a0d632-bd16-4010-91f4-0d65c291cbc4-image.png

                                  1 Reply Last reply Reply Quote 0
                                  • Q
                                    Qlink last edited by

                                    @D3ltoroxp

                                    Hast du das Script dann eigentlich stabil zum Laufen gebracht und hast es im Einsatz ?
                                    Ich bin nämlich ebenfalls auf der Suche nach einer Blockly Version für die Dosierung von PH und Chlor.

                                    Ein funktionierender Export würde mir da sehr helfen.

                                    Danke.

                                    Beste Grüße

                                    1 Reply Last reply Reply Quote 1
                                    • Q
                                      Qlink last edited by

                                      @D3ltoroxp über eine Rückmeldung würde ich mich freuen 🙂

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

                                        @qlink Sorry ich hatte hier nicht mehr wirklich rein geschaut. Ich meine es lief jetzt weitestgehend stabil. Letztes Jahr hab ich nicht wirklich danach geschaut und die Werte haben immer gepasst. Pool war auch immer klar und nie milchig oder grün. Ich kann hier das Script gerne exportieren.

                                        Pooltechnik.pH_Chlor_dosieren.xml

                                        Vllt kannst du damit was anfangen. Vllt verbesserst du auch was, dann wäre es schön wenn du das hier auch mitteilen würdest.

                                        1 Reply Last reply Reply Quote 0
                                        • Q
                                          Qlink last edited by

                                          @D3ltoroxp

                                          Kannst du mir die beiden markierten Stellen aus deinem Script in Worten erklären ?

                                          b06db097-f37d-4c88-8fa8-c096c41998f3-image.png

                                          Was macht "falls WERT" ?

                                          Heißt das automatisch "falls WERT = true" oder wie darf ich das verstehen ?

                                          Danke.

                                          Beste Grüße

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

                                            @qlink Genau, wenn man direkt den Wert hinter Falls hängt heißt das true. Also wenn Wert vom Objekt true dann..

                                            Da spart man sich halt nen kleinen extra Block mit Wert = true.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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