NEWS
Blockly Schleife
-
Ich möchte meine 4 Deckenlampen mittels einer Schleife anschalten (die Schleife, da die Lampen nach und nach heller werden sollen)
Nun habe ich das Problem, dass ich den Vorgang in der Schleife nicht mit Verzögerung ausführen lassen kann. Somit funktioniert es nicht, die Lampen langsam heller werden zu lassen. Ich muss also "händisch" die Lampen Schritt für Schritt heller werden lassen.
Gibt es eine Möglichkeit, die Schleife langsamer ausführen zu lassen?
-
@Alex-Herrmann said in Blockly Schleife:
Ich möchte meine 4 Deckenlampen mittels einer Schleife anschalten (die Schleife, da die Lampen nach und nach heller werden sollen)
Nun habe ich das Problem, dass ich den Vorgang in der Schleife nicht mit Verzögerung ausführen lassen kann. Somit funktioniert es nicht, die Lampen langsam heller werden zu lassen. Ich muss also "händisch" die Lampen Schritt für Schritt heller werden lassen.
Gibt es eine Möglichkeit, die Schleife langsamer ausführen zu lassen?
-
-
-
- Das Bild ist unlesbar
- Das ist keine Schleife, das ist eine Verkettung von Timeouts.
- So ist es maximal schlecht gelöst.
Versuch es mal so:
-
@Asgothian Hi Asgothian, vielen Dank schonmal für deine Hilfe. Habe nochmals 2 Bilder hochgestellt.
Ich versuche es mal so, wie du es vorgeschlagen hast. -
@Alex-Herrmann
Das was ich gepostet habe geht natürlich nur für 1 Lampe. Wenn du mehrere Lampen steuern willst solltest du den "steuere" Baustein anpassen.Eine Frage noch: Wie sind die Lampen angebunden ? Bei Zigbee hast Du die Möglichkeit eine "transition time" zu setzen, sprich zu sagen das auf die neue Helligkeit in x Sekunden gewechselt wird. x kann dabei auch 20 oder 30 sein.
Dann wäre das ganze noch einfacher:
- Transition time lesen
- Transition time auf die gewünschte Zeit setzen
- Lampe ansteuern
- Transition time auf den gelesenen Wert zurück setzen
A.
-
@Asgothian
ok, dann versuche ich mal den Baustein anzupassen.Die Lampen sind über Zigbee angebunden.
Wo kann man die transition time setzen? (Sry, habe gerade erst angefangen und bin gerade dabei, mich einzulesen/einzuarbeiten. Habe auch bis jetzt so gut wie keine Vorkenntnisse) -
@Alex-Herrmann Poste doch mal nen screenshot von den Objekten einer Lampe
-
-
@Alex-Herrmann
Erst den roten auf die gewünschte Verzögerung stellen
Dann den blauen auf die gewünschte Helligkeit in % stellen
Dann den roten wieder auf 0 stellen (sonst dimmt die Lampe immer so langsam)Aber ehrlich - wenn Du die Benennung der Datenpunkte gelesen hättest hättest du das nach meiner Beschreibung oben auch selber sehen können.
A.
-
@Asgothian Danke schonmal.
Hast du recht, sry. Wie gesagt, habe gerade erst angefangen und bin noch alles andere als sicher in dem Ganzen. -
@Asgothian So klappt es nicht. Der Step Wert muss auch irgendwo erhöht werden.
Diese Schleife zählt hoch bis 100% und hört dann auf.
-
@werner2000x stimmt, das war mir durchgerutscht.
A.
-
@Asgothian Ich habe das Script noch etwas korrigiert, da ich jetzt zwei Scripte habe - eines zum Hoch- das andere zum Runterdimmen.
-
@werner2000x In dem Script ist noch ein "Fehler" enthalten:
Du setzt im Trigger die Variable "Intervall" auf 1000. In der Folge nutzt du die Variable um die Adresse deines Intervalls zu Speicher damit du dieses beenden kannst.
In diesem Fall musst du auf das Setzen des Intervalls am Anfang verzichten - ansonsten beendet sich das Intervall NICHT wenn du in den "sonst" Zweig fällst.
Ich hatte in meinem. Beispiel die Variable absichtlich "TimeoutIntervall" genannt, und dann diese im Intervall an Stelle der 1000 eingetragen, damit die Geschwindigkeit mit der gedimmt wird eingestellt werden kann.
A.
-
@Asgothian Danke Ich hatte das Kommando aus deinem Vorschlag übernommen und jetzt herausgenommen. Klappt auch, aber ich bemerke keinen Unterschied.
-
@werner2000x Und hier das gleiche mit herunterdimmen:
-
hmm ich habe das so gelöst:
ist auch über zigbee.
gibt's da jetzt irgendwelche vor- oder Nachteile zu dem script über mir? -
@jensven Oben im Script wird wertabhängig gesteuert, d.h. es wird der gesamte Bereich von 0% bis 100% bzw. umgekehrt durchlaufen mit einer Schrittweite von 10%. Die Schrittweite kann variiert werden und damit die Länge der Durchlaufzeit. Bei dir ist die Schrittweite 1 und du benutzt zwei Schleifen statt einer Schleife. Die Zeit ist durch die Schleife(n) vorgegeben. Es werden nicht unbedingt alle Werte durchlaufen.