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
    15
    1
    525

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

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

                                      926

                                      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