Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Kontrolle über Skripte

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    310

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.9k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    781

Kontrolle über Skripte

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
13 Beiträge 5 Kommentatoren 978 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    MaTr75
    schrieb am zuletzt editiert von
    #1

    Ich nutze IOBroker nun eine ganze Zeit und habe auch schon ein paar Dinge automatisiert. Was mir aktuell fehlt, ist die Kontrolle über die Skripte, also das manuelle Starten, das Live-Monitoren und das eventuelle Abbrechen der Skripte (so, als ob ich ein Skript auf einer Linux-Shell aufrufe).

    Der Hintergrund ist folgender: Ich habe meine Gartenbewässerung automatisiert mit vier Gardena-Ventilen, die jeweils über Shelly 1 gesteuert werden. Ich würde jetzt gerne die Bewässerung manuell starten und dann ggf. vor dem Start individuell die Dauer anpassen (z.B. Channel 1: 30 Minuten, Channel 2: 20 Minuten etc.) und dann würde ich (z.B. über Debug-Ausgaben) mir die Restlaufzeiten gerne anzeigen lassen und ein Skript ggf. auch unter- oder abbrechen.

    Wie mache ich das? Oder können Skripte nur über Trigger gestartet werden?

    htreckslerH 1 Antwort Letzte Antwort
    0
    • M MaTr75

      Ich nutze IOBroker nun eine ganze Zeit und habe auch schon ein paar Dinge automatisiert. Was mir aktuell fehlt, ist die Kontrolle über die Skripte, also das manuelle Starten, das Live-Monitoren und das eventuelle Abbrechen der Skripte (so, als ob ich ein Skript auf einer Linux-Shell aufrufe).

      Der Hintergrund ist folgender: Ich habe meine Gartenbewässerung automatisiert mit vier Gardena-Ventilen, die jeweils über Shelly 1 gesteuert werden. Ich würde jetzt gerne die Bewässerung manuell starten und dann ggf. vor dem Start individuell die Dauer anpassen (z.B. Channel 1: 30 Minuten, Channel 2: 20 Minuten etc.) und dann würde ich (z.B. über Debug-Ausgaben) mir die Restlaufzeiten gerne anzeigen lassen und ein Skript ggf. auch unter- oder abbrechen.

      Wie mache ich das? Oder können Skripte nur über Trigger gestartet werden?

      htreckslerH Offline
      htreckslerH Offline
      htrecksler
      Forum Testing
      schrieb am zuletzt editiert von
      #2

      @matr75 Scripte werden nicht gestartet, die laufen einfach und reagieren auf Trigger. In deinem Fall musst du dir einen eigenen Datenpunkt anlegen und diesen in deinem Script als Trigger verwenden. Dann hast du Einfluss auf den Startzeitpunkt.
      Aber das was du da vorhast ist schon ein sehr komplexes Script. Bist du sicher das du das angehen willst? Es gibt einen Adapter, der das so ähnlich realisiert hat. Such mal nach Gartenbewässerung

      Gruss Hermann

      ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

      M 1 Antwort Letzte Antwort
      0
      • htreckslerH htrecksler

        @matr75 Scripte werden nicht gestartet, die laufen einfach und reagieren auf Trigger. In deinem Fall musst du dir einen eigenen Datenpunkt anlegen und diesen in deinem Script als Trigger verwenden. Dann hast du Einfluss auf den Startzeitpunkt.
        Aber das was du da vorhast ist schon ein sehr komplexes Script. Bist du sicher das du das angehen willst? Es gibt einen Adapter, der das so ähnlich realisiert hat. Such mal nach Gartenbewässerung

        M Offline
        M Offline
        MaTr75
        schrieb am zuletzt editiert von
        #3

        @htrecksler Keine Ahnung, ob ich das umsetzen will, ich bin noch in der Situation, dass ich verstehen möchte, wie das alles funktioniert.

        Also das manuelle Starten eines Skriptes ist im IOBroker so erstmal nicht vorgesehen, das verstehe ich so richtig? D.h. ich müsste mir Datenpunkte anlegen, in die ich die jeweiligen Werte eintrage und über einen Start-Datenpunkt (auf true setzen) könnte ich das Script starten.

        Aber wie kann ich ein laufendes Script stoppen? Wenn die Bewässerung losläuft und ich merke, die Gartenparty läuft noch, kann ich zwar den Stecker aus der Pumpe ziehen, das wäre aber sehr unsmart 😳 Kann ich einem laufenden Script ein kill senden? Noch besser ein "beende dich sinnvoll", also schließe alle Ventile und schalte die Pumpe aus?

        Thomas BraunT htreckslerH 2 Antworten Letzte Antwort
        0
        • M MaTr75

          @htrecksler Keine Ahnung, ob ich das umsetzen will, ich bin noch in der Situation, dass ich verstehen möchte, wie das alles funktioniert.

          Also das manuelle Starten eines Skriptes ist im IOBroker so erstmal nicht vorgesehen, das verstehe ich so richtig? D.h. ich müsste mir Datenpunkte anlegen, in die ich die jeweiligen Werte eintrage und über einen Start-Datenpunkt (auf true setzen) könnte ich das Script starten.

          Aber wie kann ich ein laufendes Script stoppen? Wenn die Bewässerung losläuft und ich merke, die Gartenparty läuft noch, kann ich zwar den Stecker aus der Pumpe ziehen, das wäre aber sehr unsmart 😳 Kann ich einem laufenden Script ein kill senden? Noch besser ein "beende dich sinnvoll", also schließe alle Ventile und schalte die Pumpe aus?

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #4

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

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          1 Antwort Letzte Antwort
          0
          • M MaTr75

            @htrecksler Keine Ahnung, ob ich das umsetzen will, ich bin noch in der Situation, dass ich verstehen möchte, wie das alles funktioniert.

            Also das manuelle Starten eines Skriptes ist im IOBroker so erstmal nicht vorgesehen, das verstehe ich so richtig? D.h. ich müsste mir Datenpunkte anlegen, in die ich die jeweiligen Werte eintrage und über einen Start-Datenpunkt (auf true setzen) könnte ich das Script starten.

            Aber wie kann ich ein laufendes Script stoppen? Wenn die Bewässerung losläuft und ich merke, die Gartenparty läuft noch, kann ich zwar den Stecker aus der Pumpe ziehen, das wäre aber sehr unsmart 😳 Kann ich einem laufenden Script ein kill senden? Noch besser ein "beende dich sinnvoll", also schließe alle Ventile und schalte die Pumpe aus?

            htreckslerH Offline
            htreckslerH Offline
            htrecksler
            Forum Testing
            schrieb am zuletzt editiert von
            #5

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

            Gruss Hermann

            ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

            htreckslerH 1 Antwort Letzte Antwort
            0
            • htreckslerH htrecksler

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

              htreckslerH Offline
              htreckslerH Offline
              htrecksler
              Forum Testing
              schrieb am zuletzt editiert von htrecksler
              #6

              @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

              Gruss Hermann

              ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

              M 1 Antwort Letzte Antwort
              0
              • htreckslerH 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 Offline
                M Offline
                MaTr75
                schrieb am zuletzt editiert von
                #7

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

                paul53P 1 Antwort Letzte Antwort
                0
                • M MaTr75

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

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

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

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                  M 1 Antwort Letzte Antwort
                  0
                  • paul53P 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 Offline
                    M Offline
                    MaTr75
                    schrieb am zuletzt editiert von
                    #9

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

                    htreckslerH paul53P HomoranH 3 Antworten Letzte Antwort
                    0
                    • M MaTr75

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

                      htreckslerH Offline
                      htreckslerH Offline
                      htrecksler
                      Forum Testing
                      schrieb am zuletzt editiert von
                      #10

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

                      Gruss Hermann

                      ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                      1 Antwort Letzte Antwort
                      0
                      • M MaTr75

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

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @matr75
                        Prinzip:

                        Bild_2021-04-11_172326.png

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

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                        M 1 Antwort Letzte Antwort
                        0
                        • M MaTr75

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

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von Homoran
                          #12

                          @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

                          kein Support per PN! - Fragen im Forum stellen -
                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @matr75
                            Prinzip:

                            Bild_2021-04-11_172326.png

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

                            M Offline
                            M Offline
                            MaTr75
                            schrieb am zuletzt editiert von
                            #13

                            @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 Antwort Letzte Antwort
                            0

                            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                            Registrieren Anmelden
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

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

                            311

                            Online

                            32.9k

                            Benutzer

                            83.0k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe