FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Nielsiwilsi am 24 Februar 2019, 20:35:51

Titel: at mit Bedingung
Beitrag von: Nielsiwilsi am 24 Februar 2019, 20:35:51
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
Titel: Antw:at mit Bedingung
Beitrag von: CoolTux am 24 Februar 2019, 20:39:48
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:
Titel: Antw:at mit Bedingung
Beitrag von: Nielsiwilsi am 24 Februar 2019, 21:00:12
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
Titel: Antw:at mit Bedingung
Beitrag von: CoolTux am 24 Februar 2019, 21:06:38
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.
Titel: Antw:at mit Bedingung
Beitrag von: rudolfkoenig am 25 Februar 2019, 08:48:07
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") }}

Titel: Antw:at mit Bedingung
Beitrag von: Damian am 25 Februar 2019, 09:01:32
Alternativ ohne Perl:

IF ([rr_Eva:state] ne "home") (set OG_Kind1_RolloStatus.* DuskTillDawn Day)