at mit Bedingung

Begonnen von Nielsiwilsi, 24 Februar 2019, 20:35:51

Vorheriges Thema - Nächstes Thema

Nielsiwilsi

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

CoolTux

#1
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:
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Nielsiwilsi

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

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

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") }}


Damian

Alternativ ohne Perl:

IF ([rr_Eva:state] ne "home") (set OG_Kind1_RolloStatus.* DuskTillDawn Day)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF