Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascriptsecurity
15 Beiträge 5 Kommentatoren 1.1k Aufrufe 2 Watching
  • Ä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.
  • D Offline
    D Offline
    Daniel1103
    schrieb am zuletzt editiert von
    #1

    ich habe ein blockly erstellt das mittels Bewegungsmelder getriggert wird. leider sind es 6 sensoren und ich möchte gerne das das skript nur 1 mal getriggert wird auch wenn mehrere bewegungsmelder auslösen. wie muss ich das realisieren? Gedacht ist es für eine Alarmanlage. Siehe Skript.
    Danke schon mal für eure Hilfe.!
    Vielleicht kann mir da jemand ein skript zusammenbasteln?Unbenannt.PNG

    Hier noch das Skript Skript.txt

    AsgothianA 1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      mehrwiedu
      schrieb am zuletzt editiert von
      #2

      Ich bin mal mutig und gebe wieder, was ich hier gelernt habe. ;)
      Der Trigger gehört doch eigentlich nach außen und nicht hinter oder innerhalb eines Steuerbefehls.

      Und dann kannst Du doch die einzelnen Trigger voneinander abkoppeln, wenn das so gewünscht ist und für jeden einen einzelnen Block im Skript erstellen.

      D 1 Antwort Letzte Antwort
      0
      • M mehrwiedu

        Ich bin mal mutig und gebe wieder, was ich hier gelernt habe. ;)
        Der Trigger gehört doch eigentlich nach außen und nicht hinter oder innerhalb eines Steuerbefehls.

        Und dann kannst Du doch die einzelnen Trigger voneinander abkoppeln, wenn das so gewünscht ist und für jeden einen einzelnen Block im Skript erstellen.

        D Offline
        D Offline
        Daniel1103
        schrieb am zuletzt editiert von
        #3

        @mehrwiedu hi. das ist gewollt so von mir da ich meine alarmanlage per vis einschalte und sie erst nach 30 sekunden aktiv werden soll. somit soll das triggern auch erst nach 30 sekunden funktionieren.

        M HomoranH 2 Antworten Letzte Antwort
        0
        • D Daniel1103

          @mehrwiedu hi. das ist gewollt so von mir da ich meine alarmanlage per vis einschalte und sie erst nach 30 sekunden aktiv werden soll. somit soll das triggern auch erst nach 30 sekunden funktionieren.

          M Offline
          M Offline
          mehrwiedu
          schrieb am zuletzt editiert von mehrwiedu
          #4

          @Daniel1103 sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

          @mehrwiedu hi. das ist gewollt so von mir da ich meine alarmanlage per vis einschalte und sie erst nach 30 sekunden aktiv werden soll. somit soll das triggern auch erst nach 30 sekunden funktionieren.

          Und das funktioniert so bei Dir, bzw. macht man so?
          Ich hatte eher gedacht, dass man mittels VIS einen erstellten Datenpunkt in Javascript.0 (z. B. Alarmanlage) ändert und darauf triggert und dann alles weitere dahinter erst mit Verzögerung und in Abhängigkeit von Bewegungen steuert.

          Bin jetzt nicht an meiner Instanz, aber in etwa so:

          Falls Objekt "Javascript.0.Alarmanlage" wurde geändert

          • Falls Wert von "Alarmanlage" = true,
            mache......
          1 Antwort Letzte Antwort
          0
          • D Daniel1103

            @mehrwiedu hi. das ist gewollt so von mir da ich meine alarmanlage per vis einschalte und sie erst nach 30 sekunden aktiv werden soll. somit soll das triggern auch erst nach 30 sekunden funktionieren.

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

            @Daniel1103 sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

            somit soll das triggern auch erst nach 30 sekunden funktionieren.

            Das funktioniert aber nicht!
            Alles was außerhalb eines Triggers ist wird nur einmal bei Skriptstart ausgeführt

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            thewhoboxT 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @Daniel1103 sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

              somit soll das triggern auch erst nach 30 sekunden funktionieren.

              Das funktioniert aber nicht!
              Alles was außerhalb eines Triggers ist wird nur einmal bei Skriptstart ausgeführt

              thewhoboxT Offline
              thewhoboxT Offline
              thewhobox
              schrieb am zuletzt editiert von
              #6

              @Homoran Wenn er per Vis aber das Skript starte und stoppt (= Alarmanlage an/aus) dann sollte es doch funktioniern oder?
              Da Alarmanlage an ist gleich Skript starten.

              Meine Adapter: emby | discovery
              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              M HomoranH 2 Antworten Letzte Antwort
              0
              • thewhoboxT thewhobox

                @Homoran Wenn er per Vis aber das Skript starte und stoppt (= Alarmanlage an/aus) dann sollte es doch funktioniern oder?
                Da Alarmanlage an ist gleich Skript starten.

                M Offline
                M Offline
                mehrwiedu
                schrieb am zuletzt editiert von
                #7

                @thewhobox sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                @Homoran Wenn er per Vis aber das Skript starte und stoppt (= Alarmanlage an/aus) dann sollte es doch funktioniern oder?
                Da Alarmanlage an ist gleich Skript starten.

                Das Skript läuft doch permanent und zumindest im obigen Blockly wird außerhalb des Triggers nur ein speak Command an Alexa gesendet.
                Wie genau ist denn dann der Button in VIS mit diesem Skript verklöppelt?

                thewhoboxT 1 Antwort Letzte Antwort
                0
                • thewhoboxT thewhobox

                  @Homoran Wenn er per Vis aber das Skript starte und stoppt (= Alarmanlage an/aus) dann sollte es doch funktioniern oder?
                  Da Alarmanlage an ist gleich Skript starten.

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

                  @thewhobox
                  er wird doch nicht....

                  mit script enabled arbeiten???

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  0
                  • M mehrwiedu

                    @thewhobox sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                    @Homoran Wenn er per Vis aber das Skript starte und stoppt (= Alarmanlage an/aus) dann sollte es doch funktioniern oder?
                    Da Alarmanlage an ist gleich Skript starten.

                    Das Skript läuft doch permanent und zumindest im obigen Blockly wird außerhalb des Triggers nur ein speak Command an Alexa gesendet.
                    Wie genau ist denn dann der Button in VIS mit diesem Skript verklöppelt?

                    thewhoboxT Offline
                    thewhoboxT Offline
                    thewhobox
                    schrieb am zuletzt editiert von thewhobox
                    #9

                    @mehrwiedu Wenn es permanent läuft dann funktioniert es nicht.

                    Ich würde es lieber anders lösen, als das Skript zu starten/stoppen.

                    Ich würde ein Trigger nehmen der die Variable:

                    • wenn true: "isAlarmOn" mit einem Timeout von 30s auf true setzt
                    • wenn false: "isAlarmOn" ohne Timeout auf false setzt
                      Und im Trigger der Bewegungsmelder fragst du dann ab "if isAlarmOn = true".

                    Edit: @Homoran Ich hoffe nicht, aber es war meine erste vermutung.

                    Meine Adapter: emby | discovery
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    HomoranH M 2 Antworten Letzte Antwort
                    0
                    • thewhoboxT thewhobox

                      @mehrwiedu Wenn es permanent läuft dann funktioniert es nicht.

                      Ich würde es lieber anders lösen, als das Skript zu starten/stoppen.

                      Ich würde ein Trigger nehmen der die Variable:

                      • wenn true: "isAlarmOn" mit einem Timeout von 30s auf true setzt
                      • wenn false: "isAlarmOn" ohne Timeout auf false setzt
                        Und im Trigger der Bewegungsmelder fragst du dann ab "if isAlarmOn = true".

                      Edit: @Homoran Ich hoffe nicht, aber es war meine erste vermutung.

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

                      @thewhobox
                      Meine auch ;-)

                      aber das wollte ich erst von ihm hören

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • thewhoboxT thewhobox

                        @mehrwiedu Wenn es permanent läuft dann funktioniert es nicht.

                        Ich würde es lieber anders lösen, als das Skript zu starten/stoppen.

                        Ich würde ein Trigger nehmen der die Variable:

                        • wenn true: "isAlarmOn" mit einem Timeout von 30s auf true setzt
                        • wenn false: "isAlarmOn" ohne Timeout auf false setzt
                          Und im Trigger der Bewegungsmelder fragst du dann ab "if isAlarmOn = true".

                        Edit: @Homoran Ich hoffe nicht, aber es war meine erste vermutung.

                        M Offline
                        M Offline
                        mehrwiedu
                        schrieb am zuletzt editiert von
                        #11

                        @thewhobox sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                        Edit: @Homoran Ich hoffe nicht, aber es war meine erste vermutung.

                        @Homoran sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                        @thewhobox
                        er wird doch nicht....

                        mit script enabled arbeiten???

                        Lasst mich bitte mitlernen. Was wäre an "script enabled" böse?

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • M mehrwiedu

                          @thewhobox sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                          Edit: @Homoran Ich hoffe nicht, aber es war meine erste vermutung.

                          @Homoran sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                          @thewhobox
                          er wird doch nicht....

                          mit script enabled arbeiten???

                          Lasst mich bitte mitlernen. Was wäre an "script enabled" böse?

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

                          @mehrwiedu
                          https://forum.iobroker.net/topic/20846/über-scriptenabled-triggern-verboten-aber-wie-richtig

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          M 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @mehrwiedu
                            https://forum.iobroker.net/topic/20846/über-scriptenabled-triggern-verboten-aber-wie-richtig

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

                            @Homoran sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                            @mehrwiedu
                            https://forum.iobroker.net/topic/20846/über-scriptenabled-triggern-verboten-aber-wie-richtig

                            Ja, das habe ich gelesen, wurde nur nicht in meinem Verständnis befriedigt, warum es verboten sein soll.
                            Es ist aus meiner Sicht, so wie sich das in dem Thread darstellt keine probate und eventuell auch in der Instanz eine Fehler auslösende Lösung, aber dennoch durchführbar. Deswegen auch nicht zu empfehlen und auch ungerne gesehen bei der Problembehandlung und Lösungssuche hier im Forum.
                            Aber verboten impliziert bei mir mehr als unerwünscht und mit gravierenden Folgen für z. B. nicht nur die eigene Instanz, sondern eventuell auch für die Cloud (also mit Auswirkung auf den Betreiber). Ist das so?
                            Wenn ja, warum nimmt man die reine Möglichkeit dann nicht raus?

                            Und das ist auch ohne Bezug auf mein Verständnis gefragt, denn mir erschließt sich tatsächlich keine Sinnhaftigkeit dahinter, ein Skript darüber bewusst zu stoppen und wieder zu starten, denn die logische Möglichkeit ein Skript ausführen zu lassen, ergibt sich durch Datenpunkte im Skript, auf die getriggert wird.

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • M mehrwiedu

                              @Homoran sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                              @mehrwiedu
                              https://forum.iobroker.net/topic/20846/über-scriptenabled-triggern-verboten-aber-wie-richtig

                              Ja, das habe ich gelesen, wurde nur nicht in meinem Verständnis befriedigt, warum es verboten sein soll.
                              Es ist aus meiner Sicht, so wie sich das in dem Thread darstellt keine probate und eventuell auch in der Instanz eine Fehler auslösende Lösung, aber dennoch durchführbar. Deswegen auch nicht zu empfehlen und auch ungerne gesehen bei der Problembehandlung und Lösungssuche hier im Forum.
                              Aber verboten impliziert bei mir mehr als unerwünscht und mit gravierenden Folgen für z. B. nicht nur die eigene Instanz, sondern eventuell auch für die Cloud (also mit Auswirkung auf den Betreiber). Ist das so?
                              Wenn ja, warum nimmt man die reine Möglichkeit dann nicht raus?

                              Und das ist auch ohne Bezug auf mein Verständnis gefragt, denn mir erschließt sich tatsächlich keine Sinnhaftigkeit dahinter, ein Skript darüber bewusst zu stoppen und wieder zu starten, denn die logische Möglichkeit ein Skript ausführen zu lassen, ergibt sich durch Datenpunkte im Skript, auf die getriggert wird.

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

                              @mehrwiedu sagte in Hilfe! Wie kann ich mehrere datenpunkte in einem skript nur 1 mal triggern lassen?:

                              Wenn ja, warum nimmt man die reine Möglichkeit dann nicht raus?

                              Der Punkt ist nur für den Admin, deswegen auch nur im Expertenmodus sichtbar
                              Man müsste es vielleicht RO machen.
                              Andererseits weiß ich nicht ob der Datenpunkt nicht direkt mit dem Start/Pause Icon gekoppelt ist

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              0
                              • D Daniel1103

                                ich habe ein blockly erstellt das mittels Bewegungsmelder getriggert wird. leider sind es 6 sensoren und ich möchte gerne das das skript nur 1 mal getriggert wird auch wenn mehrere bewegungsmelder auslösen. wie muss ich das realisieren? Gedacht ist es für eine Alarmanlage. Siehe Skript.
                                Danke schon mal für eure Hilfe.!
                                Vielleicht kann mir da jemand ein skript zusammenbasteln?Unbenannt.PNG

                                Hier noch das Skript Skript.txt

                                AsgothianA Offline
                                AsgothianA Offline
                                Asgothian
                                Developer
                                schrieb am zuletzt editiert von
                                #15

                                @Daniel1103
                                Also.. ein Script in Blockly zusammenbauen kann ich dir leider nicht. Ich würde das über eine Scriptverkettung in JS lösen. Das geht wahrscheinlich irgendwie auch als Blockly, nur das kann ich noch weniger gut hier schreiben. Durch die Aufspaltung in kleinere Funktionseinheiten wird es besser skalierbare und einfacher zu handeln.

                                Mein Aufbau sähe so aus:

                                var timeout = null;
                                var script_active = false;
                                var activationDelay = 100;
                                
                                
                                on ({id:'datenpunkt_aktivierung_durch_vis', change:'ne'}, function() { 
                                    if (obj.newState.val) { setTimeout(function() { script_active = true; },activationDelay); } 
                                   else script_active=false; });
                                
                                function Activate() {
                                  if (timeout == null && script_active) {
                                    timeout = setTimeout(function() { timeout = null; }, 100);
                                  // Hier deine Aktion machen
                                  }
                                }
                                
                                on ({ id: 'datenpunkt_sensor_1', change: 'gt'} Activate);
                                on ({ id: 'datenpunkt_sensor_2', change: 'gt'}, Activate);
                                ...
                                on ({ id: 'datenpunkt_sensor_N', change: 'gt'}, Activate);
                                

                                dazu noch ein paar Warnhinweise

                                • ich bin im Büro, kann die Syntax also nicht checken - es können Tippfehler drin sein
                                • die Variable ActivationDelay gibt an wieviel zeit zwischen Aktivierung im Vis und Scharf gehen vergeht.
                                • Die Datenpunkte musst du natürlich korrekt setzen, ich kenne deine Objektstruktur nicht.
                                • Du brauchst für jeden Sensor den du überwachen willst ein "on" statement
                                • Durch das "change:'gt'" triggert der "on" Befehl nur auf Änderungen von false auf true, nicht umgekehrt
                                • Durch das "change:'ne" triggert der erste "on" Befehl nur auf Änderungen, nicht auf Aktualisierungen des Status
                                • Was du bei // Hier deine Aktion machen rein kopieren musst kannst Du dir aus dem Quelltext des Blocklys das du oben hast heraus kopieren. Ich kenne die Syntax für Pushover leider nicht.

                                Ich hoffe das Gibt Dir ein paar Hinweise.

                                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                736

                                Online

                                32.6k

                                Benutzer

                                82.2k

                                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