Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. zählen i von 6 bis 1 geht nicht - gelöst!

    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

    zählen i von 6 bis 1 geht nicht - gelöst!

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Wagner last edited by Wagner

      Hallo Welt - das Blockly zählenRückwärts.jpg
      soll eigentlich meinen Leuchten am Gartenweg "rückwärts" aus- bzw. ein-schalten. Jedoch gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?

      Die Verzögerung wars!😊

      haus-automatisierung MartinP paul53 4 Replies Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @Wagner last edited by

        @wagner Zeig mal bitte den generierten JavaScript Code

        W 1 Reply Last reply Reply Quote 0
        • MartinP
          MartinP @Wagner last edited by MartinP

          @wagner In einem ersten Schritt könntest Du Dir das Javascript anschauen, was da generiert wird

          33c7df11-2b7b-45fc-bb6e-b0ecac8e382c-grafik.png

          wird zu:

          for (i = 6; i >= 1; i--) {
          }
          

          Der Blockly Javascript Generator "weiß" wohl selber dass es "abwärts" geht, und nimmt "--"

          EDIT: Das führt zum selben Code:

          951df525-d094-476b-a86b-91ed4c76daff-grafik.png

          Da sitzt der Hase im Pfeffer:
          9687a70d-1984-4a6f-b3e7-717137677add-grafik.png Nummer sechs wird als estes dur19abb18f-26bd-4373-864b-a5f7ae45cdb1-grafik.png

          Nummer 6 wird zwar als Erster durchlaufen, aber durch die längste Verzögerung als Letzter geschaltet....

          3000 * (5-i) wäre die bessere Wahl

          paul53 1 Reply Last reply Reply Quote 2
          • paul53
            paul53 @Wagner last edited by

            @wagner sagte: von 1 nach 6 an/aus!

            Bei mir (JS 8.7.6) stimmt die Reihenfolge.

            Blockly_temp.JPG

            W 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Wagner last edited by haus-automatisierung

              @wagner sagte in zählen i von 6 bis 1 geht nicht:

              gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?

              Naja 1x3000 ist halt auch der kleinste Wert und somit geht der Kanal mit der 1 als erstes an/aus mit dem Code

              Egal wie rum die Schleife läuft

              W 1 Reply Last reply Reply Quote 0
              • W
                Wagner @haus-automatisierung last edited by

                @haus-automatisierung

                • var i;
                • console.warn('LampenAus');
                • for (i = 6; i >= 1; i--) {
                • setStateDelayed(('alias.0.EigeneGeräte.Lichtschalter.GartenWeg.GartenwegPower' + String(i)), { val: false, ack: false }, parseInt((((3000 * i)) || '').toString(), 10), false);
                • console.error(i);
                • }
                1 Reply Last reply Reply Quote 0
                • W
                  Wagner @haus-automatisierung last edited by

                  @haus-automatisierung 👍

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @MartinP last edited by

                    @martinp sagte: 3000 * (5-i) wäre die bessere Wahl

                    3000 * (6 - i) - keine negativen Werte.
                    Oder anstelle der variablen Verzögerung eine Pause von 3 s.

                    1 Reply Last reply Reply Quote 0
                    • W
                      Wagner @paul53 last edited by

                      @paul53 👍 mit Pause gehts

                      Asgothian 1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP last edited by

                        @paul53 Mit (6-i) "feuert" der erste sofort, mit (7-i) würde der erste mit 1 Sekunde Verzögerung feuern....

                        War abgelenkt, und habe in die falsche Richtung gedacht 😉

                        1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @Wagner last edited by Asgothian

                          @wagner sagte in zählen i von 6 bis 1 geht nicht - gelöst!:

                          @paul53 👍 mit Pause gehts

                          Mit pause geht es. Schlecht ist es trotzdem.

                          Besser so:

                          Screenshot 2024-08-30 at 15.33.55.png
                          Diese Anordnung von Blöcken kannst du in einen Trigger einbauen und musst dich nicht darum kümmern was passiert wenn der innerhalb von weniger als 18 Sekunden 2 mal aufgerufen wird.

                          A.

                          p.s. da ich dein Objekt LichtAn nicht hab habe ich da einfach ein wahr stehen lassen - die Transferleistung das anzupassen traue ich aber jedem zu.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          927
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          5
                          11
                          497
                          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