FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: franky08 am 11 Oktober 2013, 22:35:52

Titel: sunset || 2. Bedingung Fehler im Code ?
Beitrag von: franky08 am 11 Oktober 2013, 22:35:52
Hallo,

habe heute versucht die Lichtsteuerung von sunset auf eine 2. Bedingung umzubauen aber leider habe ich irgendwo einen Fehler drin. Kann mir jemand einen Tip geben ?

define Stehlampe_AN notify *{sunset("HORIZON=1",0,"16:00")} || {if (Value("Lichtsensor1) eq "dunkel") {fhem ("set Stehlampe on")}

Lichtsensor 1 liefert "hell" oder "dunkel"

VG Frank
Titel: Antw:sunset || 2. Bedingung Fehler im Code ?
Beitrag von: rudolfkoenig am 12 Oktober 2013, 09:10:49
- notify braucht ein Event-Regexp, und nicht etwas, was man beim at angeben kann
- man kann nur Ausdruecke mit || (oder das Wort or) verknuepfen, und {if...} ist kein Ausdruck
- bitte auf die passende Anzahl von Klammern achten, sowohl bei () als auch beim {}

Ich empfehle wenigstens die ersten Kapitel eines Perl-Buches durchzulesen, und danach die commandref Eintraege zu den FHEM-Befehlen studieren, sonst wird FHEM schnell zum Frust-Erlebnis.
Titel: Antw:sunset || 2. Bedingung Fehler im Code ?
Beitrag von: MisterEltako am 12 Oktober 2013, 10:14:16
Also köntest du es z.B. so lösen:

define Stehlampe_AN1 at *{sunset("HORIZON=1",0,"16:00","18:00")} set Stehlampe on

define Stehlampe_AN2 notify Lichtsensor1 {if (Value("Lichtsensor1") eq "dunkel")  {fhem("set Stehlampe on")}

MfG, MisterEltako
Titel: Antw:sunset || 2. Bedingung Fehler im Code ?
Beitrag von: franky08 am 12 Oktober 2013, 12:36:04
Danke für den Tipp und ich habe mir gerade ein Perl Handbuch bestellt da man dauernd über Hindernisse stolpert, einfach weil man sich nicht mit der Programmiersprache auskennt.

VG Frank