Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Automatisierung
    5. Wie Blockly besser organisieren, schreibt mir Protokoll voll

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie Blockly besser organisieren, schreibt mir Protokoll voll

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

      @paul53
      Das Blockly wird dann aber trotzdem immer ausgeführt oder nur zu den Zeitplänen?

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

        @wotan2005 sagte: Das Blockly wird dann aber trotzdem immer ausgeführt oder nur zu den Zeitplänen?

        Das Blockly wird immer ausgeführt. Es enthält 5 Trigger: 3 Zeitpläne und zwei Trigger auf Wertänderung. Das Setzen der Variable ventil01 außerhalb der Trigger wird nur einmal bei Skriptstart ausgeführt.

        Ich habe den Überlauftrigger noch um eine Uhrzeitprüfung ergänzt:

        Blockly_temp.JPG

        1 Reply Last reply Reply Quote 2
        • Codierknecht
          Codierknecht Developer Most Active @wotan2005 last edited by

          @wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:

          Das Blockly wird dann aber trotzdem immer ausgeführt oder nur zu den Zeitplänen?

          Ein Script in ioB - egal ob JS oder Blockly (was ja unter der Haub auch nur JS generiert) wird grundsätzlich 1x gestartet und "läuft" dann bis zum Sanktnimmerleinstag.
          Das Ganze ist Ereignisgesteuert. Beim Start werden Ereignisse (Trigger) und Zeitpläne "registriert".
          Tritt nun ein Ereignis ein oder ist der Zeitpunkt des Zeitplans gekommen, wird der dort hinterlegte Code ausgeführt. Ansonsten "schläft" das Script und wartet.

          1 Reply Last reply Reply Quote 2
          • W
            wotan2005 last edited by

            @paul53
            ich weiß du hast dir viel Zeit genommen um mich durch meine Blockly-Probleme durch zuleiten und mir gute Vorlagen geliefert.

            Ich habe das dann jetzt mal so umgesetzt (ganzes Blockly):
            Blockly-0.png

            und die einzelnen Teile:
            Blockly-1.png
            Blockly-2.png
            Blockly-3.png
            Blockly-4.png

            Kannst du da bitte mal drüber schauen nach Logikfehlern, danke dir @paul53

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

              @wotan2005 sagte: Logikfehlern

              Die Pumpe darf nur im Trigger für die beiden Ventile geschaltet werden.
              Der Vergleich für "Ventil 00 aus" ist falsch herum.
              In einem Skript nur einen Trigger pro Datenpunkt ("Spannung 100") verwenden (Ressourcen).

              Blockly_temp.JPG

              Der kurze Timeout dient dazu, dass um 6:15 Uhr die Pumpe nicht kurz aus- und gleich wieder einschaltet.

              1 Reply Last reply Reply Quote 1
              • W
                wotan2005 last edited by

                @paul53
                in deinem Zeitplan setzt du einmal bewaessern01 auf wahr.
                und im zweiten Zeitplan gleich aus false.
                Sollte das nicht erst auf false gesetzt werden, wenn das letzte Ventil geschlossen wird?

                paul53 1 Reply Last reply Reply Quote 0
                • W
                  wotan2005 last edited by

                  @paul53
                  Ventil01 ist aber auch der gleiche Ring für die normale Bewässerung.

                  Ventil01 soll geöffnet werden als Überlauf. und eben täglich als Beetbewässerung.

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

                    @wotan2005 sagte: Sollte das nicht erst auf false gesetzt werden, wenn das letzte Ventil geschlossen wird?

                    Nein, "Entwässern" steuert nur Ventil 01. Die Variable bewaessern01 soll nur verhindern, dass das Ventil 01 zwischen 6:00 und 6:15 Uhr geschlossen wird.

                    paul53 1 Reply Last reply Reply Quote 1
                    • W
                      wotan2005 last edited by

                      @paul53
                      igendwie bin ich beim lesen deines Blockly gerade durch den Wind.

                      Linker Teil ist soweit klar, das ist die Bewässerung mit starten der Regenpumpe.

                      Im Rechten Teil sehe ich zwar die Ventile zum entwässern und befüllen. Aber zum entwässern fehlt noch die Regenpumpe, oder überlese ich das jetzt gerade?

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

                        @wotan2005 sagte: zum entwässern fehlt noch die Regenpumpe, oder überlese ich das jetzt gerade?

                        Wenn zum Entwässern das Ventil 01 geöffnet wird, startet die Pumpe per Trigger, denn es wird auf Ventil 01 und Ventil 02 getriggert.

                        1 Reply Last reply Reply Quote 1
                        • W
                          wotan2005 last edited by

                          @paul53
                          Danke, auch für die immer wieder kehrenden Erklärungen.

                          Die Zeitpläne kann ich ohne Problem erweiteren, ich sollte nur aufpassen, das wenn ich Ventil01 benutze, ich dann auch die Variable mit setzte, richtig?

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

                            @paul53 sagte: Sollte das nicht erst auf false gesetzt werden, wenn das letzte Ventil geschlossen wird?

                            Es ist vielleicht die bessere Lösung, die Entwässerungssteuerung während der normalen Bewässerung zu blockieren:

                            Blockly_temp.JPG

                            1 Reply Last reply Reply Quote 1
                            • paul53
                              paul53 @wotan2005 last edited by

                              @wotan2005 sagte: aufpassen, das wenn ich Ventil01 benutze, ich dann auch die Variable mit setzte, richtig?

                              Wenn eine Hysterese verwendet wird, müssen die Regler-Variablen bei Skriptstart initialisiert werden, da sie sonst innerhalb der Hysterese bei Skriptstart den Wert undefined behalten.

                              1 Reply Last reply Reply Quote 1
                              • W
                                wotan2005 last edited by

                                Nochmal kurz ein Bilck drauf werfen, danke.
                                paul53-blockly.png

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

                                  @wotan2005 sagte: Nochmal kurz ein Bilck drauf werfen

                                  Ist nicht zu entziffern, da zu klein.

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    wotan2005 last edited by

                                    P1.png
                                    P2.png
                                    P3.png

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • W
                                      wotan2005 last edited by

                                      P1.png
                                      P2.png

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

                                        @wotan2005
                                        Setze die Variable bewaessern zu Beginn (6:00, 21:00 Uhr) jeder Bewässerung auf wahr und zum Ende (6:30, 21:15 Uhr) auf falsch, da sonst beide Ventile gleichzeitig geöffnet werden könnten.

                                        Das korrigiere:

                                        Blockly_temp.JPG

                                        und auch den Vergleich:

                                        Blockly_temp.JPG

                                        1 Reply Last reply Reply Quote 1
                                        • W
                                          wotan2005 last edited by

                                          So nun aber:
                                          P0.png

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

                                            @wotan2005 sagte: So nun aber:

                                            Passt.

                                            Wenn der Entwässerungsfall eintritt, regnet es dann nicht gerade? Soll dann die normale Bewässerung laufen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            486
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            62
                                            205
                                            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