Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Kontrolle über Skripte

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Kontrolle über Skripte

    This topic has been deleted. Only users with topic management privileges can see it.
    • Thomas Braun
      Thomas Braun Most Active @MaTr75 last edited by

      @matr75

      Kann ich einem laufenden Script ein kill senden?

      Wozu? Einfach das Skript entsprechend aufbauen. Wenn der Trigger wieder auf false geht werden die Ventile geschlossen, z.B.

      1 Reply Last reply Reply Quote 0
      • htrecksler
        htrecksler Forum Testing @MaTr75 last edited by

        @matr75 sagte in Kontrolle über Skripte:

        Aber wie kann ich ein laufendes Script stoppen?

        du stoppst ein Script nicht. Genausowenig wie du es startest. Du sorgst in deinem Code dafür das es auf die Anweisung von Außen reagiert. Das geht am einfachsten über manuelle Datenpunkte.
        So hast du z. B. einen Datenpunkt "Abbruch". Und auf den reagierst du in deinem Script in der Form das du das Ventil (auch ein Datenpunkt) ausschaltest.

        htrecksler 1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing @htrecksler last edited by htrecksler

          @htrecksler ich bin aktuell dabei mir ein solches Script zu schreiben. Das Ganze für 6 Bewässerungskreise. Es sind inzwischen 3 Scripte geworden (damit es übersichtlich bleibt) Das Hauptscript hat inzwischen fast 600 Zeilen Code.
          Aber im Prinzip soll es das machen was du beschrieben hast. Allerdings prüft es dann auch noch die Bodenfeuchtigkeit (2 Sensoren) und die zu erwartende Regenmenge, etc.

          Ich will damit nur sagen...das Thema ist sehr komplex.

          edit: So in etwa stell ich mir dann die View vor
          View.PNG

          M 1 Reply Last reply Reply Quote 0
          • M
            MaTr75 @htrecksler last edited by

            @htrecksler @THOMAS BRAUN

            danke für eure Beiträge, das habe ich jetzt besser verstanden. In Blockly habe ich eben gesehen, dass es "wiederhole (solange)"-Bausteine gibt, die man dafür wird nutzen können.

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

              @matr75 sagte: dass es "wiederhole (solange)"-Bausteine gibt, die man dafür wird nutzen können.

              Den Block solltest Du besser nicht verwenden, denn Anfänger erzeugen damit meist eine Endlosschleife.
              Verwende Trigger zum Starten und Stoppen von Vorgängen! Javascript arbeitet nicht zyklisch, sondern wird durch Ereignisse gesteuert.

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

                @paul53 OK... ich dachte, ich hätte es verstanden. Habe ich offenbar nicht. Wie sieht den ein Trigger aus, um einen "Vorgang" zu stoppen?

                Das war ja meine ursprüngliche Frage, wie ich von außen ein Skript beenden kann... OK, es ist nicht das Skript, dass ich beende sondern ein Prozess innerhalb des Skripts, also ich beende einen Block, der über einen Trigger gestartet wurde. Wie kann ich den durch einen anderen Trigger beenden? Mit einer while-Schleife innerhalb des Blocks hätte ich es verstanden...

                htrecksler paul53 Homoran 3 Replies Last reply Reply Quote 0
                • htrecksler
                  htrecksler Forum Testing @MaTr75 last edited by

                  @matr75 du beendest auch keinen Prozess. Du setzt am Anfang einen Datenpunkt auf True (Ventil offen) und dann entweder manuell oder über einen Timer wieder auf FALSE.
                  Das ist im Prinzip (vereinfacht) alles.

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

                    @matr75
                    Prinzip:

                    Bild_2021-04-11_172326.png

                    Wert ist der Wert des Trigger-Datenpunktes ("Bewässerung ein").

                    M 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @MaTr75 last edited by Homoran

                      @matr75 sagte in Kontrolle über Skripte:

                      Habe ich offenbar nicht. Wie sieht den ein Trigger aus, um einen "Vorgang" zu stoppen?

                      Ich versuch es auch mal es dir zu erklären.

                      javascript arbeitet ereignisbasiert.

                      Ein Skript "existiert" einfach und wartet dass es einen Auftrag bekommt etwas zu tun, arbeitet es dann ab und wartet wieder....

                      Das ist im Prinzip das, was du unter starten und stoppen des Skripts verstehst.

                      Beispiel Lampe:
                      Trigger soll ein Helligkeitssensor sein, der regelmäßig seine Werte sendet.
                      jede dieser Sendungen löst den Trigger aus.
                      Die folgende Logik überprüft, ob die Helligkeit kleiner als ein angegebener Wert ist.
                      Ist sie das, macht das Skript das Licht an
                      ist sie das nicht, macht das Skript nichts.

                      Um zu der Frage zurückzukommen:
                      Wie stoppe ich das Licht 😉

                      Dann musst du die Logik ein wenig aufbohren und beim Anschalten eine Variable auf true setzen und diese Variable ebenfalls in der Logik abfragen.

                      Wenn also draußen die Helligkeit den Schwellwert wieder überschreitet und die Variable Licht an true ist, mache das Licht wieder aus und setze die Variable auf false

                      in einfachen Fällen kann man auch in der Logik mit "Falls Helligkeit zu klein mache Licht an und sonst mache aus" arbeiten

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

                        @paul53 Ok... der Trigger "Wert" innerhalb des Trigger-Blocks "Falls Objekt wurde geändert"... das hat mir gefehlt. Da werde ich jetzt mal ein wenig mit herumspielen.

                        Ich danke euch allen für eure Hilfe und Geduld 🙂

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        415
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        5
                        13
                        500
                        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