FHEM Forum

FHEM => Automatisierung => Thema gestartet von: helgekraak am 17 Januar 2014, 00:32:02

Titel: If- um Else-Bedingung erweitern bei Verwendung "klammerarmer" Schreibweise
Beitrag von: helgekraak am 17 Januar 2014, 00:32:02
Ich verwende folgende "klammerarme" Syntax mit Erfolg für if-Bedingungen, welche sehr gut zu bei einer Vielzahl von Befehlen zu überblicken ist:


define AUFWACHENTERTAINMENT_STARTEN at *10:50:00 {\
\
fhem "define MAKRO_TEMP_1 at +00:00:30 set Halogenfluter 66" if (Value("AUFWACHENTERTAINMENT_WECKER_AKTIV") eq "on");;\
\
}


Es gelingt mir jedoch auch nach intensiver Lektüre vieler if-else-Beispiele nicht, an diese Schreibweise eine funktionierende else-Bedingung anzuhängen. Erwartet hatte ich, dass dies funktionieren würde:

define AUFWACHENTERTAINMENT_STARTEN at *10:50:00 {\
\
fhem "define MAKRO_TEMP_1 at +00:00:30 set Halogenfluter 66" if (Value("AUFWACHENTERTAINMENT_WECKER_AKTIV") eq "on") else fhem "define MAKRO_TEMP_2 at +00:00:30 set Lichtleiste_Weiss_Bett on";;\
\
}


Leider bekomme ich immer diesen Syntaxfehler:  syntax error at (eval 275) line 6, near ") else"

Rat ist sehr willkommen. Danke.
Titel: Antw:If- um Else-Bedingung erweitern bei Verwendung "klammerarmer" Schreibweise
Beitrag von: justme1968 am 17 Januar 2014, 10:18:23
elsif und else gehen nur in der 'langen' schreibweise mit klammern.

ohne klammern geht es nur so:

fhem "define MAKRO_TEMP_1 at +00:00:30 set Halogenfluter 66" if (Value("AUFWACHENTERTAINMENT_WECKER_AKTIV") eq "on");
fhem "define MAKRO_TEMP_2 at +00:00:30 set Lichtleiste_Weiss_Bett on" if (Value("AUFWACHENTERTAINMENT_WECKER_AKTIV") ne "on")

gruss
  andre
Titel: Antw:If- um Else-Bedingung erweitern bei Verwendung "klammerarmer" Schreibweise
Beitrag von: helgekraak am 20 Januar 2014, 20:43:53
Vielen Dank für die Klarstellung, Andre.