FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Escrimark am 14 Januar 2017, 22:12:37

Titel: define at mit if Anweisung
Beitrag von: Escrimark am 14 Januar 2017, 22:12:37
Hallo liebe Forenmitglieder,

ich möchte jeden Morgen bei Sonnenaufgang die Rolläden öffnen. Außer wir sind nicht im Haus, dann soll nichts passieren. "Nicht im Haus sein" wird durch eine LightScene namens HomeStatus mit state "away" implementiert (vgl. Screenshot).
Leider führt der folgende Code unabhängig vom HomeStatus immer die set Rolladentuer ... Kommandos aus. Wo ist mein Fehler? Ist mein erster Code mit eingebettetem Perl.


define wz_GutenSonnenAufgang2 at *{sunrise("HORIZON=-0.8",0,"05:00","07:30")} \
{if (Value(HomeStatus) ne "away")\
{fhem(set wz_Deckenfluter off;;set Rolladentuer position 0;; set Rolladenfenster position 0;; set wz_Deckenlicht off;; set wz_LichtAnDurchMotion off)}}\



ginge das ggf. auch mit einem DOIF?
Titel: Antw:define at mit if Anweisung
Beitrag von: DeeSPe am 14 Januar 2017, 22:19:39
Zitat von: Escrimark am 14 Januar 2017, 22:12:37
Hallo liebe Forenmitglieder,

ich möchte jeden Morgen bei Sonnenaufgang die Rolläden öffnen. Außer wir sind nicht im Haus, dann soll nichts passieren. "Nicht im Haus sein" wird durch eine LightScene namens HomeStatus mit state "away" implementiert (vgl. Screenshot).
Leider führt der folgende Code unabhängig vom HomeStatus immer die set Rolladentuer ... Kommandos aus. Wo ist mein Fehler? Ist mein erster Code mit eingebettetem Perl.


define wz_GutenSonnenAufgang2 at *{sunrise("HORIZON=-0.8",0,"05:00","07:30")} \
{if (Value(HomeStatus) ne "away")\
{fhem(set wz_Deckenfluter off;;set Rolladentuer position 0;; set Rolladenfenster position 0;; set wz_Deckenlicht off;; set wz_LichtAnDurchMotion off)}}\



ginge das ggf. auch mit einem DOIF?

Wo sind denn Deine Anführungszeichen?
Value("HomeStatus")
fhem("set wz_Deckenfluter off;; set .......")

Gruß
Dan
Titel: Antw:define at mit if Anweisung
Beitrag von: Puschel74 am 15 Januar 2017, 00:04:32
Das wäre auf alle Fälle auch mit einem DOIF lösbar - aber ein Blick in das fhem-Logfile offenbart doch den einen oder anderen Syntaxfehler - so der Loglevel richtig gestellt ist.
Nachschauen und lesen muss dann aber doch jeder für sich selbst.
Titel: Antw:define at mit if Anweisung
Beitrag von: Escrimark am 15 Januar 2017, 14:23:40
Hi,

danke für eure beiden Hinweise. Funktioniert aber leider trotzdem nicht. Im Fehlerlog steht
wz_GutenSonnenAufgang2: Unknown command {, try help.
Kann sein, dass sich das sunrise nicht mit dem if verträgt, weil ich bei dem sunrise schon nach perl abspringe und er deshalb die { nach der Sunrise-Klammer nicht mehr will?



*{sunrise("HORIZON=-0.8",0,"05:00","07:30")}
{ if (Value("HomeStatus") ne "away")
{ fhem("set wz_Deckenfluter off;set Rolladentuer position 0; set Rolladenfenster position 0; set wz_Deckenlicht off; set wz_LichtAnDurchMotion off")}}
Titel: Antw:define at mit if Anweisung
Beitrag von: DeeSPe am 15 Januar 2017, 14:30:48
Entweder so:

*{sunrise("HORIZON=-0.8",0,"05:00","07:30")};;
{ if (Value("HomeStatus") ne "away")..............


oder so:

*{sunrise("HORIZON=-0.8",0,"05:00","07:30");
if (Value("HomeStatus") ne "away")..............


Gruß
Dan