define für Rolladensteuerung

Begonnen von ejdv, 26 Mai 2013, 23:12:25

Vorheriges Thema - Nächstes Thema

ejdv

Hallo,

Ich habe FS20_RSU installiert für die Rollladensteuerung.
Teil der Code ist:

define auto_Rolladen_Links_Down_Workingday at *{sunset("0","17:00:00","22:05:00")} {\
 fhem("set Rolladen_Links on-for-timer 18") if ( (not $we) && (not Value("isHoliday")) );;\
 fhem("set Rolladen_Links off-for-timer 11") if ( (not $we) && (not Value("isHoliday")) )\
}

Zu erst sollen die Rollladen ganz nach oben gehen und dann (wieder) nach unten (für die Hälfte).
Die Rollladen sollen für die Hälfte geschlossen werden.
Was auch funktioniert, wenn nicht schon unten:

2013.05.26 21:49:49 3: FS20 set Rolladen_Links on-for-timer 18
2013.05.26 21:49:49 3: FS20 set Rolladen_Links off-for-timer 11

Jetzt gibt es 2 Probleme.

1/Wenn schon (teilweise) unten, wird das "on-for-timer 18" gleich von "off-for-timer 11" überholt.
Das ist nicht gut wenn die Rollladen zum teil geschlossen sind.
Resultat ist das die Rollladen ganz geschlossen werden und ich will ja gerne das die nur für die Hälfte geschlossen werden.

2/Das "off-for-timer 11" funktioniert nicht immer.
Das will sagen, die Rollladen gehen ganz unten, nicht für 11 Sekunden (was halb offen ist).
Passiert gefühlte 1 von 20 Mal.

Was ist jetzt die eleganteste define ??

Vielleicht mit 4 defines (hh:mm:00 on; hh:mm:18 on; hh:mm:19 off; hh:mm:30 off) ??

MfG,

E.J.

AnonymousHolger

Du könntest einen "wait" zwischen den Auf und Ab Befehl setzen, um sicher zu sein, dass der Auf (for-timer) fertig ist, bevor es abwärts geht

Ich habe aber keine guten Erfahrungen mit wait ... soweit ich mich erinnere ist in der Zeit FHEM blockiert.

Zrrronggg!

ZitatDu könntest einen "wait" zwischen den Auf und Ab Befehl setzen,

Meinst du Sleep?

Sleep in FHEM blockiert nicht, Sleep in PERL blockiert.
Da besonders für den Anfänger nicht immer leicht zu erkenne ist, was Fhem und was Perl ist, rate ich von der Verwendung von Sleep ab.

Vielleicht habe ich nicht ganz genau verstanden was du machen willst, auch weil ich deine Rolladensteuerung nicht kenne. Ich würde aber vermutlich sowas machen:


define auto_Rolladen_Links_Down_Workingday at *{sunset("0","17:00:00","22:05:00")}  { if ( (not $we) && (not Value("isHoliday")) {fhem("set Rolladen_Links on ;; define Rolladen_Links_down at +00:00:18 set Rolladen_Links off-for-timer 11") }}

Allerdings merke ich gerade, das ich nicht nur vielleicht nicht verstehe wie das gehen soll sondern sogar SICHER nicht:

Rollade ON macht die auf, Richtig?
Rollade OFF macht also ZU.

Aber wie kriegt man die Rollade dazu nach 11 Sekunden stehen zu bleiben?

off- for-timer 11 kann es eigentlich nicht sein, denn da schaltewt der Aktor doch nach 11 Sekunden wieder aud ON und dann geht sie doch wieder auf. Oder sehe ich das falsch?
Meine Rolladensteuerung  (FS20 Modul in Ecoroll) kann nur auf oder zu. Um in der Mitte zu halten brauchts einen zusätzlichen Sensor. Okay ich lese mit mal eben RSU durch.


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Zrrronggg!

Also, RSU funktioniert so:

ON macht auf, noch mal ON hält die Rollade an
Off macht zu, noch mal OFF hält die Rollade an

1. Wenn das so ist, funktioniert das was du bisher configuriert hast eigentlich gar nicht, Wundert mich, das es angeblich geht.
2. Das, was ich verstanden habe was du machen willst, könnte man dann so machen:

define auto_Rolladen_Links_Down_Workingday at *{sunset("0","17:00:00","22:05:00")}  { if ( (not $we) && (not Value("isHoliday")) {fhem("set Rolladen_Links on ;; define Rolladen_Links_down at +00:00:18 set Rolladen_Links off ;;;; define Rolladen_Links_stop at +00:00:11 set Rolladen_Links off") }}

Ohne Gewähr, rein aus dem Kopf. Den define im define im define habe ich selber noch nie probiert, MÜSSTE aber gehen. Wenn nicht sag bescheid.


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

ejdv

Zitat von: Zrrronggg! schrieb am Mo, 27 Mai 2013 00:26Ohne Gewähr, rein aus dem Kopf. Den define im define im define habe ich selber noch nie probiert, MÜSSTE aber gehen. Wenn nicht sag bescheid.
Nicht schlecht. Kleiner Syntax-Fehler, sonnst Okay.
War vergessen das es Ferien sind, also passierte lange nichts :-)
Am ende macht das hier was ich brauche:
define auto_Rolladen_Links_Down_Dayoff2 at *20:41:00  { if ( ($we) || (Value("isHoliday")) ) { fhem("set Rolladen_Links on ;; define Rolladen_Links_down at +00:00:30 set Rolladen_Links off ;; define Rolladen_Links_stop at +00:00:42 set Rolladen_Links off") }}

2013.05.27 21:12:00 3: FS20 set Rolladen_Links on
2013.05.27 21:12:30 3: FS20 set Rolladen_Links off
2013.05.27 21:12:42 3: FS20 set Rolladen_Links off

Nur noch anpassen für sunset.

Vielen Dank !!