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. Blockly
  5. Buttons triggern Script -> wie resetten?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Buttons triggern Script -> wie resetten?

Geplant Angeheftet Gesperrt Verschoben Blockly
11 Beiträge 4 Kommentatoren 726 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.
  • M Offline
    M Offline
    Mottimuc
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe eine VIS mit 4 Buttons, die einen String in einen DP schreiben.
    Nun möchte ich nach drücken einer der Buttons den DP per Blockly auswerten und entsprechende Aktionen ausführen.

    Soweit klappt alles wunderbar, das Script startet führt aus und am Ende resette ich den DP wieder mit Null
    Dann startet das Script wieder von vorne....

    Folgende Gedanken:
    Ich könnte natürlich nach dem Trigger (on(DP....) eine WENN Abfrage setzen auf nicht null....
    Dann wird aber das Script trotzdem 2x durchlaufen (beim 2. mal eben nur kurz)

    gibt es eine intelligentere Lösung?

    VG Michael

    Viele Grüße
    Michael

    HomoranH AsgothianA 2 Antworten Letzte Antwort
    0
    • M Mottimuc

      Hallo zusammen,

      ich habe eine VIS mit 4 Buttons, die einen String in einen DP schreiben.
      Nun möchte ich nach drücken einer der Buttons den DP per Blockly auswerten und entsprechende Aktionen ausführen.

      Soweit klappt alles wunderbar, das Script startet führt aus und am Ende resette ich den DP wieder mit Null
      Dann startet das Script wieder von vorne....

      Folgende Gedanken:
      Ich könnte natürlich nach dem Trigger (on(DP....) eine WENN Abfrage setzen auf nicht null....
      Dann wird aber das Script trotzdem 2x durchlaufen (beim 2. mal eben nur kurz)

      gibt es eine intelligentere Lösung?

      VG Michael

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

      @mottimuc sagte in Buttons triggern Script -> wie resetten?:

      gibt es eine intelligentere Lösung?

      dazu müsste man die unintelligente Lösung kennen!

      bitte Blockly zeigen

      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
      1
      • M Mottimuc

        Hallo zusammen,

        ich habe eine VIS mit 4 Buttons, die einen String in einen DP schreiben.
        Nun möchte ich nach drücken einer der Buttons den DP per Blockly auswerten und entsprechende Aktionen ausführen.

        Soweit klappt alles wunderbar, das Script startet führt aus und am Ende resette ich den DP wieder mit Null
        Dann startet das Script wieder von vorne....

        Folgende Gedanken:
        Ich könnte natürlich nach dem Trigger (on(DP....) eine WENN Abfrage setzen auf nicht null....
        Dann wird aber das Script trotzdem 2x durchlaufen (beim 2. mal eben nur kurz)

        gibt es eine intelligentere Lösung?

        VG Michael

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

        @mottimuc die intelligente Lösung:
        Da wo du das Skript auslösen willst nutzt du „steure“ , also setzen ohne acknowlege.
        Das ist soweit ich weiß aus den Visualisierungen Standard.

        Im trigger dann auch „steure“ zur Auslösung fordern

        Beim zurücksetzen einfach mit ack=true ( oder aktualisieren in blocky ) nutzen. Dann löst das das Skript nicht aus.

        A.
        Nachtrag zum Probieren. Das folgende Skript löst keine Endlosschleife aus, obwohl im Trigger der Datenpunkt geändert wird auf den getriggert wurde. Grund dafür ist die rot umrandete Einstellung
        Screenshot 2024-10-22 at 14.14.53.png

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

        M 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @mottimuc sagte in Buttons triggern Script -> wie resetten?:

          gibt es eine intelligentere Lösung?

          dazu müsste man die unintelligente Lösung kennen!

          bitte Blockly zeigen

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

          @homoran
          Hier die View, die Einstellung des Buttons und die Abfrage im Blockly:

          22-10-2024_17-20-54.jpg

          22-10-2024_17-21-23.jpg

          22-10-2024_17-22-17.jpg

          Ich habe einen DP(STR) in den die 4 Buttons jeweils andere Buchstaben schreiben werden.
          Das Blockly soll bei Änderung / Aktualisierung des DP starten und dann über einen Switch entscheiden was getan wird.
          Da da einige längere, aber ähnliche Workflows dahinter liegen, möchte ich aus dem Blockly raus andere Scripte aufrufen und am Ende das Formular resetten. Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

          Grundsätzliche Frage:
          Hier im Forum wird die Methode über den Trigger DP das Script zu starten positiv bewertet.
          Daher vermute ich, dass es eben auch einen Best-Case geben muss.... oder?

          Viele Grüße
          Michael

          paul53P 2 Antworten Letzte Antwort
          0
          • AsgothianA Asgothian

            @mottimuc die intelligente Lösung:
            Da wo du das Skript auslösen willst nutzt du „steure“ , also setzen ohne acknowlege.
            Das ist soweit ich weiß aus den Visualisierungen Standard.

            Im trigger dann auch „steure“ zur Auslösung fordern

            Beim zurücksetzen einfach mit ack=true ( oder aktualisieren in blocky ) nutzen. Dann löst das das Skript nicht aus.

            A.
            Nachtrag zum Probieren. Das folgende Skript löst keine Endlosschleife aus, obwohl im Trigger der Datenpunkt geändert wird auf den getriggert wurde. Grund dafür ist die rot umrandete Einstellung
            Screenshot 2024-10-22 at 14.14.53.png

            M Offline
            M Offline
            Mottimuc
            schrieb am zuletzt editiert von
            #5

            @asgothian sagte in Buttons triggern Script -> wie resetten?:

            Da wo du das Skript auslösen willst nutzt du „steure“ , also setzen ohne acknowlege

            geht leider nicht, in den MDW Widgets sehe ich die Option nicht? oder bin ich blind?

            VG M

            PS: ich hab zuerst geschaut, ob ich das in VIS 2 umsetzen möchte. Da hier aber weder eine vernünftige Doku vorliegt, noch der Funktionsumfang der Material Design Widgets gegeben ist, verzichte ich darauf.

            Viele Grüße
            Michael

            1 Antwort Letzte Antwort
            0
            • M Mottimuc

              @homoran
              Hier die View, die Einstellung des Buttons und die Abfrage im Blockly:

              22-10-2024_17-20-54.jpg

              22-10-2024_17-21-23.jpg

              22-10-2024_17-22-17.jpg

              Ich habe einen DP(STR) in den die 4 Buttons jeweils andere Buchstaben schreiben werden.
              Das Blockly soll bei Änderung / Aktualisierung des DP starten und dann über einen Switch entscheiden was getan wird.
              Da da einige längere, aber ähnliche Workflows dahinter liegen, möchte ich aus dem Blockly raus andere Scripte aufrufen und am Ende das Formular resetten. Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

              Grundsätzliche Frage:
              Hier im Forum wird die Methode über den Trigger DP das Script zu starten positiv bewertet.
              Daher vermute ich, dass es eben auch einen Best-Case geben muss.... oder?

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

              @mottimuc sagte: Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

              Wozu soll das gut sein? Das ist bei Trigger auf "wurde aktualisiert" nicht nötig.

              @mottimuc sagte in Buttons triggern Script -> wie resetten?:

              Methode über den Trigger DP das Script zu starten positiv bewertet.

              Du setzt aber keinen DP zum Triggern, sondern du startest Skripte, was nicht zu empfehlen ist.
              Packe besser den Inhalt zu startenden Skripte in Funktionen.

              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

              M 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @mottimuc sagte: Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

                Wozu soll das gut sein? Das ist bei Trigger auf "wurde aktualisiert" nicht nötig.

                @mottimuc sagte in Buttons triggern Script -> wie resetten?:

                Methode über den Trigger DP das Script zu starten positiv bewertet.

                Du setzt aber keinen DP zum Triggern, sondern du startest Skripte, was nicht zu empfehlen ist.
                Packe besser den Inhalt zu startenden Skripte in Funktionen.

                Blockly_temp.JPG

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

                @paul53 sagte in Buttons triggern Script -> wie resetten?:

                Du setzt aber keinen DP zum Triggern, sondern du startest Skripte, was nicht zu empfehlen ist.

                Hi Paul,

                sorry, kannst Du mich bitte aufklären?
                Ich dachte eben, genauso wäre es gut, da nur kompiliert wird, wenn benötigt?
                Wie wäre es Ideal?
                Das JS in die VIS packen? Oder die weiteren Prozessschritte in Funktionen und diese aus dem Trigger raus ausrufen?
                (Sorry, ich bin noob)

                ja, mit wurde aktualisiert hatte ich mir fast gedacht, war mir aber nicht sicher, ob das auch so wäre, wenn derselbe Button 2 mal gedrückt werden sollte.... daher der Gedanke mit dem "null"-setzen.

                Ich habe nun die Variante von Asgothian getestet, die würde gehen.
                (ich gestehe aber, dass ich den Hintergrund zwischen bestätigter und unbestätigter Änderung von DPs mir noch aneignen muss...)

                Danke vorab!

                Viele Grüße
                Michael

                paul53P 1 Antwort Letzte Antwort
                0
                • M Mottimuc

                  @paul53 sagte in Buttons triggern Script -> wie resetten?:

                  Du setzt aber keinen DP zum Triggern, sondern du startest Skripte, was nicht zu empfehlen ist.

                  Hi Paul,

                  sorry, kannst Du mich bitte aufklären?
                  Ich dachte eben, genauso wäre es gut, da nur kompiliert wird, wenn benötigt?
                  Wie wäre es Ideal?
                  Das JS in die VIS packen? Oder die weiteren Prozessschritte in Funktionen und diese aus dem Trigger raus ausrufen?
                  (Sorry, ich bin noob)

                  ja, mit wurde aktualisiert hatte ich mir fast gedacht, war mir aber nicht sicher, ob das auch so wäre, wenn derselbe Button 2 mal gedrückt werden sollte.... daher der Gedanke mit dem "null"-setzen.

                  Ich habe nun die Variante von Asgothian getestet, die würde gehen.
                  (ich gestehe aber, dass ich den Hintergrund zwischen bestätigter und unbestätigter Änderung von DPs mir noch aneignen muss...)

                  Danke vorab!

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

                  @mottimuc sagte: da nur kompiliert wird, wenn benötigt?

                  Ja, es wird bei jedem Skriptstart kompiliert - was unnötig Ressourcen zur Laufzeit verbraucht. Im anderen Falle werden alle Skripte nur einmal bei Start der Javascript-Instanz kompiliert.

                  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

                  1 Antwort Letzte Antwort
                  0
                  • M Mottimuc

                    @homoran
                    Hier die View, die Einstellung des Buttons und die Abfrage im Blockly:

                    22-10-2024_17-20-54.jpg

                    22-10-2024_17-21-23.jpg

                    22-10-2024_17-22-17.jpg

                    Ich habe einen DP(STR) in den die 4 Buttons jeweils andere Buchstaben schreiben werden.
                    Das Blockly soll bei Änderung / Aktualisierung des DP starten und dann über einen Switch entscheiden was getan wird.
                    Da da einige längere, aber ähnliche Workflows dahinter liegen, möchte ich aus dem Blockly raus andere Scripte aufrufen und am Ende das Formular resetten. Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

                    Grundsätzliche Frage:
                    Hier im Forum wird die Methode über den Trigger DP das Script zu starten positiv bewertet.
                    Daher vermute ich, dass es eben auch einen Best-Case geben muss.... oder?

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

                    @mottimuc sagte: Hier die View

                    Wie unterscheidest du "clear" von "cancel"?

                    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

                    M 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @mottimuc sagte: Hier die View

                      Wie unterscheidest du "clear" von "cancel"?

                      M Offline
                      M Offline
                      Mottimuc
                      schrieb am zuletzt editiert von
                      #10

                      @paul53
                      das habe ich auch vorhin gemerkt :face_with_rolling_eyes:
                      Clear heißt nun refresh....

                      VG M

                      Viele Grüße
                      Michael

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • M Mottimuc

                        @paul53
                        das habe ich auch vorhin gemerkt :face_with_rolling_eyes:
                        Clear heißt nun refresh....

                        VG M

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

                        @mottimuc sagte: Clear heißt nun refresh....

                        Ich habe es mal mit L (wie LÖSCHEN) kodiert.

                        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

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


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        860

                        Online

                        32.6k

                        Benutzer

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