Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly : Schleife mit Solange oder Bis warum geht die Nicht?

    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

    Blockly : Schleife mit Solange oder Bis warum geht die Nicht?

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

      Hallo Liebe Gemeinde,

      mein erster Post und gleich eine Frage. So isses manchmal. Danke vorab für Hilfe durch euch.

      Ich habe eien Variable Die heißt "Volume_Valdown"

      Diese ist vom Typ Zahl und hat den Wert 25. Nun habe ich eine Schleife gebaut und egal mit welchem Paramter ich versuche innerhalb des Schleifendurchlaufs diese zu reduzieren, bringt das meinen Raspi zum Absturz.

      Also Frage 1: Warum funktioniert unteres Bild nicht?

      Frage 2: Was is solange und was ist bis? Solange= While? Bis= until oder for?

      Mit einer Zählschleife funtioniert es im übrigen auch nicht.

      Diese habe ich beispielhaft auch mal gebaut. Logisch finde ich alles richtig. Aber es geht nicht also muss ich irgendwo was falsch machen. Hüüüülfe!

      Gruß

      7
      5183_2018-01-14_17_15_32-iobroker.admin.jpg

      1 Reply Last reply Reply Quote 0
      • rantanplan
        rantanplan last edited by

        @Sevensins:

        Ich habe eien Variable Die heißt "Volume_Valdown"

        Diese ist vom Typ Zahl und hat den Wert 25. Nun habe ich eine Schleife gebaut und egal mit welchem Paramter ich versuche innerhalb des Schleifendurchlaufs diese zu reduzieren, bringt das meinen Raspi zum Absturz.

        Also Frage 1: Warum funktioniert unteres Bild nicht?

        Frage 2: Was is solange und was ist bis? Solange= While? Bis= until oder for?

        Mit einer Zählschleife funtioniert es im übrigen auch nicht.

        Diese habe ich beispielhaft auch mal gebaut. Logisch finde ich alles richtig. Aber es geht nicht also muss ich irgendwo was falsch machen. Hüüüülfe! `
        Hallo Sevensins

        In so einem Thread eine Umfrage zu starten finde ich etwas…... :roll:

        Meine Antworten

        1. Eine Zahl muss man nicht in eine Zahl konvertieren.

        2. So eine Schleife läuft rasend schnell.

        3. Variablen kann man auch mit "aktualisiere" ändern (ist schneller)

        4. Du änderst den Schleifenzähler INNERHALB der Schleife!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        5. Deine Umfrage kannst Du Dir jetzt selbst beantworten 😉

        Grüße

        1 Reply Last reply Reply Quote 0
        • S
          Sevensins last edited by

          Hallo Danke für die Tipps,

          nur leider bringt mich das nicht weiter. Wo soll ich denn die Rechenoperation hin machen?

          Die Umfrage war ja mehr als Spaß, denn wirklich ernst gemeint. Habe Sie entfernt, damit es nicht negativ auffällt.

          1 Reply Last reply Reply Quote 0
          • rantanplan
            rantanplan last edited by

            @Sevensins:

            Wo soll ich denn die Rechenoperation hin machen? `
            Für jede Schleife an sich stehen die richtig.

            Nur wenn beide aktiv sind, wird's problematisch.

            Und wenn Du jetzt noch den Datenpunkt "Volume_VALDOWN" gleichzeitig Triggers, gibt die Rechenleistung schnell auf.

            Jetzt geht es etwas tiefer.

            JavaScript arbeitet asynchron.

            Das heißt ein Folgebefehl kann abgearbeitet werden BEVOR der vorherige Befehl komplett abgearbeitet wurde.

            (lässt sich mit Blockly auch leider nicht umgehen)

            Grundsätzlich lassen sich ALLE (beschreibbaren) Datenpunkte mit dem Steuere-Baustein ändern.

            Um keine Verwirrung zu stiften, empfehle ich dies auch immer bei Blockly-Einsteigern.

            Datenpunkte die als Variablen dienen, kann man auch mit "aktualisieren" ändern.

            Wenn das schnell hintereinander passieren soll ist "aktualisieren" zu empfehlen.

            Noch besser ist, mit einer lokalen Variablen zu arbeiten und nur das Endergebnis in den Datenpunkt zu schreiben.

            Beispiele Schleifen
            147_schleife_bis.png
            Ausgabe:

            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 19
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 18
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 17
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 16
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 15
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 14
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 13
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 12
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 11
            21:23:17.308	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 10
            
            

            147_schleife_solange.png
            Ausgabe:

            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 19
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 18
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 17
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 16
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 15
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 14
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 13
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 12
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 11
            21:27:21.339	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 10
            
            

            147_schleife_von_bis.png
            Ausgabe:

            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 20
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 19
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 18
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 17
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 16
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 15
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 14
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 13
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 12
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 11
            21:30:47.106	[info]	javascript.0 script.js.Test_Forum_0.Schleifen: 10
            
            

            Grüße

            1 Reply Last reply Reply Quote 1
            • S
              Sevensins last edited by

              Hammer gut erklärt. Ich danke dir für die zeit beim basteln. Das finde ich super. Vielen Dank.

              1 Reply Last reply Reply Quote 0
              • S
                Sevensins last edited by

                Habe es dann gestern per Trial and Error gestern bereits so gelöst….
                5183_2018-01-16_18_12_27-iobroker.admin.png

                1 Reply Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer last edited by

                  Für mich sieht das aus als willst du die Lautstärke langsam runterfahren. Tut es das auch oder wirds nach 300ms schlagartig leise?

                  Dimmen kannst du per Schleife eigentlich nicht, das geht am besten per Intervall

                  Gesendet von iPhone mit Tapatalk

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  639
                  Online

                  31.9k
                  Users

                  80.2k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  6420
                  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