Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst) Schleife nur einmal ausführen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) Schleife nur einmal ausführen

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @Kymchy last edited by

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

      Also Wert > 50 UND Variable.

      K 1 Reply Last reply Reply Quote 0
      • K
        Kymchy @haus-automatisierung last edited by 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?

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Kymchy last edited by

          @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 1 Reply Last reply Reply Quote 0
          • K
            Kymchy @Codierknecht last edited by

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

            Codierknecht haus-automatisierung 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Kymchy last edited by Codierknecht

              @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

              1 Reply Last reply Reply Quote 2
              • haus-automatisierung
                haus-automatisierung Developer Most Active @Kymchy last edited by 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 1 Reply Last reply Reply Quote 0
                • K
                  Kymchy @haus-automatisierung last edited by

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

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

                  Homoran haus-automatisierung Codierknecht 3 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Kymchy last edited by 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 1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @Kymchy last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Kymchy last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • K
                          Kymchy @Homoran last edited by

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

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Kymchy last edited by

                            @kymchy sagte in Schleife nur einmal ausführen:

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

                            ja

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kymchy @Homoran last edited by

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

                              Homoran Codierknecht 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Kymchy last edited by

                                @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 1 Reply Last reply Reply Quote 0
                                • K
                                  Kymchy @Homoran last edited by

                                  @homoran yo, wieder einiges gelernt...

                                  1 Reply Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active @Kymchy last edited by

                                    @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

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    737
                                    Online

                                    32.0k
                                    Users

                                    80.3k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    19
                                    767
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo