sleep + Befehl nicht mehr nutzbar?

Begonnen von dadoc, 26 Februar 2016, 10:52:44

Vorheriges Thema - Nächstes Thema

dadoc

Guten Morgen,
ist "sleep + Befehl" als verkapptes at-Kommando nicht mehr verwendbar oder habe ich einen Fehler in der Definition? In meiner jedenfalls scheint es nicht wie erwartet zu verzögern.

Notify zum Öffnen/Schließen aller Rollläden (FS20 und HM gemischt) im WebUI-DEF-Feld:

all_shutters:.* {
if ($EVENT eq "off") {
fhem("set group=Velux_SP_HA_off on-for-timer 60");
fhem("sleep 1;set Sw_Vel_WC_off on-for-timer 1");
fhem("sleep 1;set HM_3EEEEE off");
fhem("sleep 1;set Rollladen_alle_lokaler_Master off");
fhem("sleep 1;set Sw_Vel_AZ_off on-for-timer 60")}
else {
fhem("set group=Velux_SP_HA_on on-for-timer 60");
fhem("sleep 1;set Sw_Vel_WC_on on-for-timer 1");
fhem("sleep 1;set HM_3EEEEE on");
fhem("sleep 1;set Rollladen_alle_lokaler_Master on");
fhem("sleep 1;set Sw_Vel_AZ_on on-for-timer 60")}
}


ergibt in der fhem.cfg:

if ($EVENT eq "off") {\
fhem("set group=Velux_SP_HA_off on-for-timer 60");;\
fhem("sleep 1;;set Sw_Vel_WC_off on-for-timer 1");;\
fhem("sleep 1;;set HM_3EEEEE off");;\
fhem("sleep 1;;set Rollladen_alle_lokaler_Master off");;\
fhem("sleep 1;;set Sw_Vel_AZ_off on-for-timer 60")}\
else {\
fhem("set group=Velux_SP_HA_on on-for-timer 60");;\
fhem("sleep 1;;set Sw_Vel_WC_on on-for-timer 1");;\
fhem("sleep 1;;set HM_3EEEEE on");;\
fhem("sleep 1;;set Sw_Vel_AZ_on on-for-timer 60")}\
}
[code]

Laut Log werden aber zumindest die letzten vier Befehle zeitgleich abgeschickt:
[code]
2016.02.26 07:56:11 3: FS20 set Sw_Vel_HA_on on-for-timer 60
2016.02.26 07:56:11 3: FS20 set Sw_Vel_SP_on on-for-timer 60
2016.02.26 07:56:13 3: FS20 set Sw_Vel_WC_on on-for-timer 1
2016.02.26 07:56:13 3: CUL_HM set HM_3EEEEE on
2016.02.26 07:56:13 3: FS20 set Rollladen_alle_lokaler_Master on
2016.02.26 07:56:13 3: CUL_HM set Sw_Vel_AZ_on on-for-timer 60


Ich bräuchte das, weil der Befehl immer wieder bei einigen Empfängern nicht ankommt, nämlich bei denen aus dem letzten Zeilen, allerdings unregelmäßig verteilt. Heute komischerweise bei einigen derjenigen, die über eine lokale FS20-Masteradresse zusammengefasst sind und seit Jahren problemlos funktionieren.
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

krikan

Nach meinem Verständnis macht FHEM genau das, was Du vorgibst:
fhem("sleep 1;set Sw_Vel_WC_off on-for-timer 1");
fhem("sleep 1;set HM_3EEEEE off");
fhem("sleep 1;set Rollladen_alle_lokaler_Master off");
fhem("sleep 1;set Sw_Vel_AZ_off on-for-timer 60")}

Es werden 4 Timer über sleep direkt nacheinander gestartet, die alle eine Sekunde später einen Befehl auslösen. Das Setzen der Timer kostet kaum Rechnerzeit und darum ist Timerstart vermutlich annäherend gleichzeitig. Damit auch Befehlsstart gleichzeitig.

Was Du willst, ist doch eher:
fhem("sleep 1;set Sw_Vel_WC_off on-for-timer 1;sleep 1;set HM_3EEEEE off;sleep 1;set Rollladen_alle_lokaler_Master off;sleep 1;set Sw_Vel_AZ_off on-for-timer 60")