Hallo zusammen,
ich bin in der Suche leider nicht fündig geworden.
Wie kann ich meine Rollos nach gewisser Zeit wieder Stoppen damit sie z.b nur 80% geschlossen sind.
Zurzeit kann ich nur [Auf|Zu|Stop] - zu dieser Funktion würde ich gerne auf 80% fahren.
Ich habe keine Raffstores falls das als Info benötigt wird .
Danke.
mfg
Rollo nach gewisser Zeit stoppen
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rollo nach gewisser Zeit stoppen
Wenn die Rollos keine Ansteuerung über Prozentwerte erlauben (also Zahl 0 bis 100), musst Du Dir mit einem Timer behelfen. Die pragmatische Variante:
Diese Rule ist aber unflexibel und nicht eben sicher. Z.B. geht sie einfach davon aus, dass das Rollo komplett geöffnet ist. Auch kann die Rule nur eine einzige Position anfahren. Und die Rule kann auch nur ein Rollo steuern. Schicker wäre eine Variante, die sich um alle Rollos kümmert und auch gleich noch die Wenns und Abers berücksichtigt.
Dazu brauchst Du:
1. Ein Gruppenitem
2. Für jedes Rollo ein Rollershutter Item, welches Mitglied der Gruppe aus 1. ist. Dabei spielen die Namen eine untergeordnete Rolle, es bietet sich aber an, ein vernünftiges Namensschema zu verwenden.
3. Laufzeiten für jedes Rollo, von oben nach unten und von unten nach oben, in 1/10 Sekunden. Ganze Sekunden sind leider zu ungenau!
Die Rollos dürfen nicht auf ein Kommando .sendCommand(Zahl) reagierenweil Du das über die UI erzeugst. Sollte es hier doch zu einer Fahrt kommen, brauchst Du zusätzliche Items (pro Rollo ein Rollershutter Item und eine weitere Gruppe - und nun wäre es wichtig, dass die Items jeweils an der gleichen Stelle identische Namen aufweisen, so das man aus dem NAmen des einen Items auf das andere Item rückschließen kann)
4. eine Rule, die sich um die Steuerung kümmert. Die ist dann allerdings etwas aufwändiger, als die oben gezeigte.
Code: Alles auswählen
var Timer tRollo = null
rule "rollo auf 80 Prozent"
when
Item rollo80prozent received command ON
then
rollo.sendCommand(DOWN)
tRollo = createTimer(now.plusSeconds(15),[|
rollo.sendCommand(STOP)
])
end
Dazu brauchst Du:
1. Ein Gruppenitem
2. Für jedes Rollo ein Rollershutter Item, welches Mitglied der Gruppe aus 1. ist. Dabei spielen die Namen eine untergeordnete Rolle, es bietet sich aber an, ein vernünftiges Namensschema zu verwenden.
3. Laufzeiten für jedes Rollo, von oben nach unten und von unten nach oben, in 1/10 Sekunden. Ganze Sekunden sind leider zu ungenau!
Die Rollos dürfen nicht auf ein Kommando .sendCommand(Zahl) reagierenweil Du das über die UI erzeugst. Sollte es hier doch zu einer Fahrt kommen, brauchst Du zusätzliche Items (pro Rollo ein Rollershutter Item und eine weitere Gruppe - und nun wäre es wichtig, dass die Items jeweils an der gleichen Stelle identische Namen aufweisen, so das man aus dem NAmen des einen Items auf das andere Item rückschließen kann)
4. eine Rule, die sich um die Steuerung kümmert. Die ist dann allerdings etwas aufwändiger, als die oben gezeigte.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet