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. (gelöst) Schleife nur einmal ausführen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    425

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

(gelöst) Schleife nur einmal ausführen

Geplant Angeheftet Gesperrt Verschoben Blockly
19 Beiträge 4 Kommentatoren 1.2k 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.
  • K Offline
    K Offline
    Kymchy
    schrieb am zuletzt editiert von Kymchy
    #1

    Hallo,
    ich habe hier ein Testskript welches startet, wenn ein Wert größer als 50 ist und in eine Schleife führt, die beendet wird, wenn der Wert kleiner 50 ist:

    0c8bca89-b8cb-4790-aaed-36de505b4ab2-image.png

    Der Wert ändert sich öfters im Bereich größer 50. Dann startet das Skript bzw die Schleife jedesmal neu.
    Ich möchte aber, dass die Schleife nur einmal gestartet wird und endet, wenn der Wert kleiner 50 ist.
    Ist das möglich?

    Gruß
    Kimchi

    haus-automatisierungH 1 Antwort Letzte Antwort
    0
    • K Kymchy

      Hallo,
      ich habe hier ein Testskript welches startet, wenn ein Wert größer als 50 ist und in eine Schleife führt, die beendet wird, wenn der Wert kleiner 50 ist:

      0c8bca89-b8cb-4790-aaed-36de505b4ab2-image.png

      Der Wert ändert sich öfters im Bereich größer 50. Dann startet das Skript bzw die Schleife jedesmal neu.
      Ich möchte aber, dass die Schleife nur einmal gestartet wird und endet, wenn der Wert kleiner 50 ist.
      Ist das möglich?

      Gruß
      Kimchi

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @kymchy sagte in Schleife nur einmal ausführen:

      Ich möchte aber, dass die Schleife nur einmal gestartet wird und endet, wenn der Wert kleiner 50 ist.

      Dann erstell eine Variable, welche z.B. während der Ausführung auf true gesetzt wird und im Trigger geprüft wird, ob die Logik gerade schon einmal läuft.

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      K 1 Antwort Letzte Antwort
      1
      • haus-automatisierungH haus-automatisierung

        @kymchy sagte in Schleife nur einmal ausführen:

        Ich möchte aber, dass die Schleife nur einmal gestartet wird und endet, wenn der Wert kleiner 50 ist.

        Dann erstell eine Variable, welche z.B. während der Ausführung auf true gesetzt wird und im Trigger geprüft wird, ob die Logik gerade schon einmal läuft.

        K Offline
        K Offline
        Kymchy
        schrieb am zuletzt editiert von
        #3

        @haus-automatisierung wie prüfe ich denn im Trigger, ob die Variable beispielsweise auf true steht?

        haus-automatisierungH 1 Antwort Letzte Antwort
        0
        • K Kymchy

          @haus-automatisierung wie prüfe ich denn im Trigger, ob die Variable beispielsweise auf true steht?

          haus-automatisierungH Online
          haus-automatisierungH Online
          haus-automatisierung
          Developer Most Active
          schrieb am zuletzt editiert von
          #4

          @kymchy Falls <variable> - genau wie deine andere Prüfung. Kannst auch ein und draus machen.

          Also Wert > 50 UND Variable.

          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
          📚 Meine inoffizielle ioBroker Dokumentation

          K 1 Antwort Letzte Antwort
          0
          • haus-automatisierungH haus-automatisierung

            @kymchy Falls <variable> - genau wie deine andere Prüfung. Kannst auch ein und draus machen.

            Also Wert > 50 UND Variable.

            K Offline
            K Offline
            Kymchy
            schrieb am zuletzt editiert von Kymchy
            #5

            @haus-automatisierung aber die Variable ist beim ersten Durchlauf undefined und vor der Schleife setzen kann ich sie ja schlecht...also über einen Datenpunkt?

            CodierknechtC 1 Antwort Letzte Antwort
            0
            • K Kymchy

              @haus-automatisierung aber die Variable ist beim ersten Durchlauf undefined und vor der Schleife setzen kann ich sie ja schlecht...also über einen Datenpunkt?

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @kymchy sagte in Schleife nur einmal ausführen:

              aber die Variable ist beim ersten Durchlauf undefined

              Dann setze sie beim Start des Script auf false

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              K 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @kymchy sagte in Schleife nur einmal ausführen:

                aber die Variable ist beim ersten Durchlauf undefined

                Dann setze sie beim Start des Script auf false

                K Offline
                K Offline
                Kymchy
                schrieb am zuletzt editiert von
                #7

                @codierknecht das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet, während die andere Schleife noch läuft. So klappt das doch nicht.

                CodierknechtC haus-automatisierungH 2 Antworten Letzte Antwort
                0
                • K Kymchy

                  @codierknecht das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet, während die andere Schleife noch läuft. So klappt das doch nicht.

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von Codierknecht
                  #8

                  @kymchy
                  766dbea7-3d6f-423c-9d48-f75b38916a53-image.png

                  das Skript wird doch ... neu gestartet

                  Ein Script wird in der Regel 1x gestartet und läuft dann bis zum Sanktnimmerleinstag.
                  Es "reagiert" mit den Triggern auf Ereignisse. Da wird nix gestartet oder gestoppt.

                  https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Antwort Letzte Antwort
                  2
                  • K Kymchy

                    @codierknecht das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet, während die andere Schleife noch läuft. So klappt das doch nicht.

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von haus-automatisierung
                    #9

                    @kymchy sagte in Schleife nur einmal ausführen:

                    das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet

                    Das Script wird nicht neugestartet. Nur der Inhalt des Triggers wird erneut ausgeführt...
                    Schau am besten die Grundlagen des JavaScript-Adapters in Ruhe an.

                    Sieh Lösung von @Codierknecht (danke fürs Beispiel zusammenklicken!)

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    K 1 Antwort Letzte Antwort
                    0
                    • haus-automatisierungH haus-automatisierung

                      @kymchy sagte in Schleife nur einmal ausführen:

                      das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet

                      Das Script wird nicht neugestartet. Nur der Inhalt des Triggers wird erneut ausgeführt...
                      Schau am besten die Grundlagen des JavaScript-Adapters in Ruhe an.

                      Sieh Lösung von @Codierknecht (danke fürs Beispiel zusammenklicken!)

                      K Offline
                      K Offline
                      Kymchy
                      schrieb am zuletzt editiert von
                      #10

                      @haus-automatisierung ich habe es jetzt so und es funktioniert nicht wie gewünscht.

                      a6ac5ce2-1000-42a5-8280-cb1fbcaf3411-image.png

                      HomoranH haus-automatisierungH CodierknechtC 3 Antworten Letzte Antwort
                      0
                      • K Kymchy

                        @haus-automatisierung ich habe es jetzt so und es funktioniert nicht wie gewünscht.

                        a6ac5ce2-1000-42a5-8280-cb1fbcaf3411-image.png

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

                        @kymchy sagte in Schleife nur einmal ausführen:

                        es funktioniert nicht wie gewünscht.

                        sondern wie?

                        der block serze variable auf falsch muss ja auch über den Trigger

                        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 -

                        K 1 Antwort Letzte Antwort
                        0
                        • K Kymchy

                          @haus-automatisierung ich habe es jetzt so und es funktioniert nicht wie gewünscht.

                          a6ac5ce2-1000-42a5-8280-cb1fbcaf3411-image.png

                          haus-automatisierungH Online
                          haus-automatisierungH Online
                          haus-automatisierung
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @kymchy Naja wenn Du bei jedem Trigger-Aufruf den Wert zurücksetzt, hast Du an der Logik ja auch nichts geändert. Außerhalb deklarieren, innerhalb nur entsprechend zurücksetzen.

                          @Codierknecht hat doch ein super Beispiel gebaut.

                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                          📚 Meine inoffizielle ioBroker Dokumentation

                          1 Antwort Letzte Antwort
                          0
                          • K Kymchy

                            @haus-automatisierung ich habe es jetzt so und es funktioniert nicht wie gewünscht.

                            a6ac5ce2-1000-42a5-8280-cb1fbcaf3411-image.png

                            CodierknechtC Online
                            CodierknechtC Online
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @kymchy
                            Nimm statt "Wert von Example.State" einfach den Baustein "Wert" (siehe Beispiel).
                            Den Wert des triggernden DP nochmal zu lesen ist ineffizient.

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Certified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @kymchy sagte in Schleife nur einmal ausführen:

                              es funktioniert nicht wie gewünscht.

                              sondern wie?

                              der block serze variable auf falsch muss ja auch über den Trigger

                              K Offline
                              K Offline
                              Kymchy
                              schrieb am zuletzt editiert von
                              #14

                              @homoran habe meinen Fehler vermutlich gefunden, die Variable muss vor dem Trigger gesetzt werden.

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • K Kymchy

                                @homoran habe meinen Fehler vermutlich gefunden, die Variable muss vor dem Trigger gesetzt werden.

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

                                @kymchy sagte in Schleife nur einmal ausführen:

                                @homoran habe meinen Fehler vermutlich gefunden, die Variable muss vor dem Trigger gesetzt werden.

                                ja

                                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 -

                                K 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @kymchy sagte in Schleife nur einmal ausführen:

                                  @homoran habe meinen Fehler vermutlich gefunden, die Variable muss vor dem Trigger gesetzt werden.

                                  ja

                                  K Offline
                                  K Offline
                                  Kymchy
                                  schrieb am zuletzt editiert von
                                  #16

                                  @homoran das vergesse ich jedesmal, bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist...daher kam ich auch nicht weiter.
                                  Herzlichen Dank.

                                  HomoranH CodierknechtC 2 Antworten Letzte Antwort
                                  0
                                  • K Kymchy

                                    @homoran das vergesse ich jedesmal, bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist...daher kam ich auch nicht weiter.
                                    Herzlichen Dank.

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

                                    @kymchy sagte in Schleife nur einmal ausführen:

                                    bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist

                                    Das gilt auch für den normalen Ablauf.
                                    Was über dem Trigger steht wird nur einmalig bei Skriptstart ausgeführt.

                                    und wie bereits von anderen geschrieben ist Triggern nicht Skriptstart

                                    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 -

                                    K 1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @kymchy sagte in Schleife nur einmal ausführen:

                                      bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist

                                      Das gilt auch für den normalen Ablauf.
                                      Was über dem Trigger steht wird nur einmalig bei Skriptstart ausgeführt.

                                      und wie bereits von anderen geschrieben ist Triggern nicht Skriptstart

                                      K Offline
                                      K Offline
                                      Kymchy
                                      schrieb am zuletzt editiert von
                                      #18

                                      @homoran yo, wieder einiges gelernt...

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Kymchy

                                        @homoran das vergesse ich jedesmal, bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist...daher kam ich auch nicht weiter.
                                        Herzlichen Dank.

                                        CodierknechtC Online
                                        CodierknechtC Online
                                        Codierknecht
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #19

                                        @kymchy
                                        Lies Dir nochmal die Grundlagen durch.

                                        https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps
                                        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md

                                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                        HmIP|ZigBee|Tasmota|Unifi
                                        Zabbix Certified Specialist
                                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                        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

                                        542

                                        Online

                                        32.6k

                                        Benutzer

                                        81.9k

                                        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