define at mit if Anweisung

Begonnen von Escrimark, 14 Januar 2017, 22:12:37

Vorheriges Thema - Nächstes Thema

Escrimark

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?

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Puschel74

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.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Escrimark

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

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe