Etwas über Rollos

Die Position von Rollos zu ver­folgen ist trick­reich weil es keine Möglich­keit gibt, sie direkt abzu­fragen.
Es gibt zwei Arten von Tele­grammen: Bewegen des Rollos in eine bestimmte Rich­tung und Bewegen nur für eine bestimmte Zeit (oder schlicht an­halten, gerade so, wie sie die Zeit in Ihrem Aktor program­miert haben)

Sie können das Rollo z.B. öffnen in dem Sie das "move up"-Kommando senden. Nichts wird auf dem Bus anzeigen, wann das Rollo tat­sächlich oben ist. Wenn Sie das "move up"-Telegram senden wird der Aktor seinen Kontakt für eine Minute schließen, was aus­rei­chend ist um das Rollo sicher hoch zu fahren. Wenn Sie nun kurz irgend­einen Richtungs­taster betätigen wird das Rollo ent­weder stoppen wenn es die entgegen­gesetzte Rich­tung ist oder es wird nach einer kurzen Zeit stoppen wenn es die gleiche Rich­tung ist. Sie können auch die andere Rich­tung drücken. Das Rollo wird an­halten, kurz warten und dann in die andere Rich­tung fahren.

Die einzige Möglich­keit an die Position des Rollos zu kommen ist zu Messen, wie lange er sich bewegt. Ich hoffe, ich habe keine mögliche Situation über­sehen. Dies ist die Strategie:

Der Aktions­zähler zählt bei Rollos die Anzahl der Be­wegungen (im Gegen­satz zu anderen Typen, bei denen er die Anzahl der Zyklen zählt, also An/Aus, Offen/Ge­schlossen etc.) Hoch- und Runter­fahren eines Rollos zählen folglich als zwei Aktionen.Zur Zeit gibt es keinen "Kilometer­zähler", der die totale Lauf­leistung Ihrer Rollos angibt...

Rollos in rleibd

Da Rollos über zwei Grup­pen ge­steuert werden (Starten und Stop­pen oder auch Fahren und Tippen) müssen wir uns für eine Gruppe ent­scheiden, welche die Positions­daten verfolgen soll. Dies ist die Gruppe mit dem Start­kommando. Tragen Sie bei der Stop­gruppe in eibdef.xml das "stops"-Element für die ent­sprechende Gruppe ein. Wenn Sie die Position des Rollos abfra­gen wollen, ver­wenden Sie nur die Start­gruppe. Tat­sächlich existiert die Positions­variable auch in der Stop­gruppe, sie liefert jedoch keine sinn­vollen Werte.

Abfragen der aktuellen Position

Der momentane Stand eines Rollos kann, ähnl. dem eines Fensters oder einer Lampe, durch einen Request der Form

/eib/stat/pos/1.2.3

abgefragt werden. Die Ant­wort ist der Stand in % (0=auf, 100=zu).
Hinweis: Sie können die Position in Echt­zeit abfragen, auch während sich das Rollo bewegt.

Setzen der Postition

Ein Rollo kann mit rleibd nicht nur auf- oder zugefahren oder in der Bewe­gung gestoppt werden (wie sie es mit dem Rollo­schalter tun würden), er kann auch auf eine bestimmte Position gefahren werden indem Sie an den Request zum Abfra­gen ein simples ?val=x an­hängen."x" ist dabei der ge­wünschte Rollo­stand in %. Wenn Sie Ihr Rollo also halb zu haben wollen, hängen Sie ein "?val=50" an. Mit "?val=85" sind die meisten Rolos blick­dicht ge­schlos­sen. Den genauen Wert müssen Sie selbst aus­probieren:

/eib/stat/pos/1.2.3?val=85

rleibd berechnet darauhin Zeit und Rich­tung die nötig ist, die ge­wünschte Position zu erreichen und führt die Bewegung aus. Genauer ge­sagt, rleibd startet die Be­wegung und stoppt sie nach der be­rechneten Zeit, wobei der Stoppbefehl zur Zeit in jedem Fall gegeben wird, auch wenn Sie zwischen­durch andere Kom­mandos an das Rollo senden.
rleibd wird keine Bewegung ausführen, die weniger als eine Sekunde dauert. Die Befehls­kette über EIB ist zu lang­sam um diese ver­nünftig durch­zuführen.
Sie können damit auf ein­fachste Weise z.B. Ihre Rollos auf Sonnen­schutz fahren ohne seine vorherige Position berück­sichtigen zu müssen.

Sehen Sie sich das Script "sunjob" im Sample-Verzeichnis an. Das benutze ich um meine Rollos bei Sonnen­aufgang hoch und bei Sonnen­untergang wieder runter zu fahren.