NEWS
Rollladen nacheinander fahren lassen (shelly)
-
Hallo,
ich habe im Wohnzimmer fünf Rollläden, die ich automatisiert fahren lasse:
Nachts komplett runter, Sonnenuntergang halb zu, morgens voll auf. Das geht auch soweit. Da alle im Parallelbetrieb ordentlich Geräusche von sich geben, habe ich sie nacheinander fahren lassen. Allerdings sind das nur einfache Verzögerungen. Jetzt kann es sein das ein Rollo zu gefahren ist, ich 3 Sekunden Pause habe bis der nächste fährt usw.
Ganz nett fände ich es allerdings, wenn das zweite losfährt, wenn der erste die Endlage erreicht hat usw.
Wie würde sich das mit Blockly abbilden lassen ohne extra dafür eine Variable erstellen zu müssen?
Am einfachsten wäre eine Schleife die stoppt, wenn eine Bedingung erreicht ist, allerdings habe ich da nichts passendes gefunden.
-
@gintonik sagte in Rollladen nacheinander fahren lassen (shelly):
Ganz nett fände ich es allerdings, wenn das zweite losfährt, wenn der erste die Endlage erreicht hat usw.
Der einfache Weg ist die Verzögerungen anzupassen, da die Reihenfolge ja bleibt und somit die unterschiedlichen Laufzeiten fix sind.
-
@homoran Ja, das ist richtig, aber ich habe ja nicht immer die selbe Position. Ist natürlich eine Spielerei, aber irgendwie gefällt es mir wenn das nacheinander, positionsabhängig, verfährt.
Mir fehlt in Blocky eine Art "BREAK, UNTIL" in der ich auf das Ende der Fahrt reagieren kann. So etwas scheint es aber anscheinend nicht OOTB zu geben.
-
@gintonik bei HomeMatic gibt es einen DP working, der während der Fahrt auf true geht.
oder den DP direction der auf 0 geht wenn der Rolladen angekommen ist. -
@homoran sagte: bei HomeMatic gibt es einen DP working
Gibt es bei den Shellys nicht den DP "Roller state", der auf "stop" wechselt, wenn die Bewegung beendet ist?
-
@paul53 shelly2.5, ja
-
@crunchip sagte: shelly2.5, ja
Dann kann man auf diesen DP triggern, um die Bewegung des nächsten Rollos zu starten.
-
Ich habe mir diese Lösung einfallen lassen, allerdings funktioniert sie nicht, ich verstehe aber auch nicht warum.
Vielleicht kann mir einer helfen:Ich habe eine Variable erstellt: Rolladen_moving (steht erstmal als FALSE). Dann kommt mein Trigger mit der Uhrzeit und sagt: Variable auf TRUE, steuere den Motor an, gehe in eine Schleife bis der Rolladen seine Position erreicht hat. Setze die Variable wieder auf FALSE. Und der nächste Trigger reagiert jetzt auf eine Änderung der Variable, wenn diese wieder FALSE ist.
Aber leider funktioniert das nicht, anscheinend schluckt die Schleife nicht die Bedingung. Nach meinem Verständnis müsste die Schleife doch solange zumachen, bis der Rollo auf seiner Position ist und erst danach den weiteren Block abarbeiten.
PS: Das Beispiel von paul53 habe ich nicht durchblickt
-
@gintonik
Trigger in Trigger - NoGo! -
Hast recht, hab mir gerade den ioBroker abgeschossen!
-
@gintonik
Lass den inneren Trigger weg - Du steuerst die ja eh nacheinander. -
@gintonik sagte: Das Beispiel von paul53 habe ich nicht durchblickt
- Zu den Astro- bzw. Uhrzeiten wird nur das erste Rollo gestartet und Variablen auf die Positionen gesetzt.
- Im ersten Trigger auf "Roller state" des ersten Rollos wird reagiert auf Wechsel von "open" bzw. "close" zu "stop" und das zweite Rollo gestartet.
- Im zweiten Trigger auf "Roller state" des zweiten Rollos wird reagiert auf Wechsel von "open" bzw. "close" zu "stop" und das dritte Rollo gestartet.
- usw.
-
Ich habe es hinbekommen:
Jetzt fahren sie immer nacheinander, sobald der Vorgänger seine Endposition erreicht hat.
-
@gintonik sagte in Rollladen nacheinander fahren lassen (shelly):
Ich habe es hinbekommen:
eher nicht!
wiederhole bis feuert im Millisekundentakt den nachfolgenden Befehl.
-
@homoran sagte: wiederhole bis feuert im Millisekundentakt den nachfolgenden Befehl.
Nicht, wenn eine Pause enthalten ist.
-
@paul53 Danke!
wieder dazugelernt!