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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

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

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

        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • 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

                                        886
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        19
                                        613
                                        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