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. Skripten / Logik
  4. Blockly
  5. Pool Dosierscript PH und Chlor

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Pool Dosierscript PH und Chlor

Scheduled Pinned Locked Moved Blockly
42 Posts 4 Posters 4.6k Views 3 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.
  • D3ltoroxpD 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.

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #19

    @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

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    D3ltoroxpD 1 Reply Last reply
    0
    • paul53P 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

      D3ltoroxpD Offline
      D3ltoroxpD Offline
      D3ltoroxp
      wrote on last edited by D3ltoroxp
      #20

      @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
      0
      • D3ltoroxpD Offline
        D3ltoroxpD Offline
        D3ltoroxp
        wrote on last edited by D3ltoroxp
        #21

        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 ?

        paul53P 1 Reply Last reply
        0
        • D3ltoroxpD 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 ?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #22

          @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.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          D3ltoroxpD 1 Reply Last reply
          0
          • paul53P 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.

            D3ltoroxpD Offline
            D3ltoroxpD Offline
            D3ltoroxp
            wrote on last edited by D3ltoroxp
            #23

            @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.

            paul53P 1 Reply Last reply
            0
            • D3ltoroxpD 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.

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #24

              @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.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              D3ltoroxpD 2 Replies Last reply
              0
              • paul53P paul53

                @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.

                D3ltoroxpD Offline
                D3ltoroxpD Offline
                D3ltoroxp
                wrote on last edited by
                #25

                @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
                0
                • paul53P paul53

                  @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.

                  D3ltoroxpD Offline
                  D3ltoroxpD Offline
                  D3ltoroxp
                  wrote on last edited by
                  #26

                  @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.

                  paul53P 1 Reply Last reply
                  0
                  • D3ltoroxpD D3ltoroxp

                    @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.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by paul53
                    #27

                    @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.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    D3ltoroxpD 1 Reply Last reply
                    0
                    • paul53P 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.

                      D3ltoroxpD Offline
                      D3ltoroxpD Offline
                      D3ltoroxp
                      wrote on last edited by
                      #28

                      @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
                      0
                      • D3ltoroxpD Offline
                        D3ltoroxpD Offline
                        D3ltoroxp
                        wrote on last edited by
                        #29

                        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
                        0
                        • D3ltoroxpD Offline
                          D3ltoroxpD Offline
                          D3ltoroxp
                          wrote on last edited by
                          #30

                          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

                          paul53P 1 Reply Last reply
                          0
                          • D3ltoroxpD D3ltoroxp

                            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

                            paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by
                            #31

                            @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)

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            D3ltoroxpD 1 Reply Last reply
                            0
                            • paul53P paul53

                              @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)

                              D3ltoroxpD Offline
                              D3ltoroxpD Offline
                              D3ltoroxp
                              wrote on last edited by D3ltoroxp
                              #32

                              @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
                              0
                              • Q Offline
                                Q Offline
                                Qlink
                                wrote on last edited by
                                #33

                                @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
                                1
                                • Q Offline
                                  Q Offline
                                  Qlink
                                  wrote on last edited by
                                  #34

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

                                  D3ltoroxpD 1 Reply Last reply
                                  0
                                  • Q Qlink

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

                                    D3ltoroxpD Offline
                                    D3ltoroxpD Offline
                                    D3ltoroxp
                                    wrote on last edited by
                                    #35

                                    @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
                                    0
                                    • Q Offline
                                      Q Offline
                                      Qlink
                                      wrote on last edited by
                                      #36

                                      @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

                                      D3ltoroxpD 1 Reply Last reply
                                      0
                                      • Q Qlink

                                        @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

                                        D3ltoroxpD Offline
                                        D3ltoroxpD Offline
                                        D3ltoroxp
                                        wrote on last edited by
                                        #37

                                        @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
                                        1
                                        • Q Offline
                                          Q Offline
                                          Qlink
                                          wrote on last edited by
                                          #38

                                          @D3ltoroxp

                                          Ich hab jetzt dein Script entsprechend auf meine Umgebung angepasst und großteils 1:1 übernommen.

                                          Ich möchte allerdings als zusätzliche Sicherheit die Auto Timer Off Funktion von meinem Shelly 2PM Gen3 für die beiden Dosierpumpen nutzen.
                                          Sollte WLAN o.ä. genau während der Dosierung ausfallen, so müsste der Shelly damit trotzdem nach 60 Sekunden ausschalten wäre mein Verständnis.

                                          1. Habe ich das dann auch entsprechend richtig im Script eingebaut ?
                                          2. Wie gehst du mit der Situation um, falls während der Dosierung die Verbindung abbricht ?

                                          1a42ed1d-6744-4957-8366-6ebc18edbcc3-image.png

                                          R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          663

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          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