Hallo Forum,
ich steuere zur Zeit meine Rollos mittels at um Tag-/Nachtmodus einzustellen.
defmod OG_Kind1_SetDay at *{sunrise("HORIZON=5",0,"7:00","8:30")} set OG_Kind1_RolloStatus.* DuskTillDawn Day
Jetzt möchte ich diesen Code nur ausführen, wenn die Kleine nicht da ist. Damit die Rollos nicht hochgehen wenn noch geschlafen wird.
Sprich so etwas hier:
{ if ([rr_Eva:state] ne "home") { fhem("set OG_Kind1_RolloStatus.* DuskTillDawn Day") }}
Nach einigem Probieren, hab ich noch keine Lösung gefunden, evtl hat hier jemand eine Idee. Muss kein at sein, sollte sich aber wie oben mittels sunrise einstellen lassen.
VG
Niels
Ich empfehle Dir das ASC (AutoShuttersControl) Modul. Das kann genau sowas und noch mehr.
Alternativ sollte das so auch gehen
Internals:
CFGFN
COMMAND { fhem('set OG_Kind1_RolloStatus.* DuskTillDawn Day') if ( Value('rr_Eva') eq 'home' ) }
DEF *{sunrise("HORIZON=5",0,"7:00","8:30")} { fhem('set OG_Kind1_RolloStatus.* DuskTillDawn Day') if ( Value('rr_Eva') ne 'home' ) }
NAME OG_Kind1_SetDay
NR 92
NTM 07:44:33
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 07:44:33
TIMESPEC {sunrise("HORIZON=5",0,"7:00","8:30")}
TRIGGERTIME 1551077073
TRIGGERTIME_FMT 2019-02-25 07:44:33
TYPE at
READINGS:
2019-02-24 20:45:27 state Next: 07:44:33
Attributes:
Hi,
das ASC kannte ich noch nicht. Manchmal steckt man in seinen Scheuklappen fest.
Werde erst mal deinen Code ausprobieren und dann das ASC näher anschauen.
Danke
Niels
Nur zu. Und keine Scheu. Am Anfang ist es etwas viel, aber das Modul legt das meiste von alleine an. Und für das was Du willst ist es perfekt.
Zitat{ if ([rr_Eva:state] ne "home") { fhem("set OG_Kind1_RolloStatus.* DuskTillDawn Day") }}
[rr_Eva:state] wird nur fuer set, setreading und stateFormat ersetzt.
In diesem Fall koennte man es so schreiben:
{ if (Value("rr_Eva") ne "home") { fhem("set OG_Kind1_RolloStatus.* DuskTillDawn Day") }}
oder
{ if (ReadingsVal("rr_Eva","state","home") ne "home") { fhem("set OG_Kind1_RolloStatus.* DuskTillDawn Day") }}
Alternativ ohne Perl:
IF ([rr_Eva:state] ne "home") (set OG_Kind1_RolloStatus.* DuskTillDawn Day)