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
    779

  • 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 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

                      822

                      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