//Edit//
Hier ist der korrekte Code:
iPhoneVolker:present {
if (Value("lampe") eq "aus" && Value("helligkeitsstatus") eq "dunkel") {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
}
else {
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
}
Vielen Dank! :)
//Edit Ende//
Hallo Zusammen,
ich komme leider nicht weiter. :(
Ich habe folgendes als "at" definiert:
+*00:00:10 {if (Value("lampe") eq "aus" && Value("helligkeitsstatus") eq "dunkel") {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0")
} else { fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");;}}
Das funktioniert wunderbar.
Versuche ich es als Notify, gibt das Log eine Fehlermeldung raus.
iPhoneVolker:present {if (Value("lampe") eq "aus" && (Value("helligkeitsstatus") eq "dunkel") {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0")
} else { fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");;}}
Fehlermeldung des Log:
2014.10.25 17:51:41 3: notifyHeimkommen return value: Unknown command {if, try help.
oder
14.10.25 17:39:27 3: notifyHeimkommen return value: Unknown command {, try help.
2014.10.25 17:48:43 3: HomeNotify return value: OK
.
Je nachdem wie ich die Leerzeichen setze vor dem "if".
Wisst ihr wo der Fehler ist?
Vielen Dank
Volker
Hallo,
iPhoneVolker:present {
if (Value("lampe") eq "aus" && (Value("helligkeitsstatus") eq "dunkel") {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
}
else {
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
}
Ich vermute das bei dr nach ne "0") oben das Semikolon fehlt.
Mein Code gehört nicht in die fhem.cfg da er dort unter Garantie zu Fehlermeldungen führt.
Grüße
Vielen Dank für die Antwort.
Ich bekomme leider ein:
2014.10.25 19:08:33 3: notifyHeimkommen return value: syntax error at (eval 5100) line 2, near ") {"
syntax error at (eval 5100) line 5, near "}
else"
als Antwort.
Ich bin am Verzweifeln. Ich knacke da schon ca. 8 Stunden dran und komme nicht weiter.
Jo, zähl mal die Klammern durch ( und )
Da fehlt eine
iPhoneVolker:present {
if (Value("lampe") eq "aus") && (Value("helligkeitsstatus") eq "dunkel") {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
}
else {
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
}
Vielen vielen Dank.
iPhoneVolker:present {
if (Value("lampe") eq "aus") and (Value("helligkeitsstatus") eq "dunkel") } {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
} else
{
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
ergibt leider ein
syntax error at main.pl line 2, near ") and"
Ich komm nicht dahinter was fehlt. Sind die Klammern so korrekt gesetzt? Ich habe ein Brett vor dem Kopf?
Ich bin noch absoluter Beginner beim Programmieren und ich weiß auch nicht wonach ich googlen oder suchen soll?
Lieben Dank und Grüße
Warum hast Du denn "&&" durch "and" ersetzt?
Gruß
Gigafix
Ich habe es getestet. Sowohl && als auch and funktionieren nicht. Was ist in Zeile 2 falsch? syntax error at main.pl line 2, near ") and"
Hallo,
das and ist falsch - steht doch da.
and = IF
&& = if
Beides ist auch in der commandref zu finden.
Eigenmächtige Änderungen meiner Beispiele zwingen leider dazu den Fehler selbst zu suchen.
Grüße
Edith:
Zitatsyntax error at main.pl
Wieso main.pl?? Wo hast du den Code hin kopiert?
Danke für die Antwort, Puschel74.
Ich habe die Commandref schon durchstöbert. Ich komme leider immernoch nicht weiter.
Selbst ein iPhoneVolker:present {
if (Value("lampe") eq "aus") && (Value("helligkeitsstatus") eq "dunkel") } {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
} else
{
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
liefert syntax error at main.pl line 2, near ") &&"
.
Dein Beispiel liefert mir ein syntax error at main.pl line 2, near ") &&"
syntax error at main.pl line 5, near "else"
:(
Daher habe ich getestet woran es noch liegen könnte. Ich habe die Commandref studiert, die Suchfunktion benutzt und gegoogled. Ich komm leider nicht dahinter was der Fehler ist. :(
Nochmal mein Edith von oben:
ZitatEdith:
Zitat
syntax error at main.pl
Wieso main.pl?? Wo hast du den Code hin kopiert?
Weiters hast du auch das else an der falschen Stelle.
Es wäre schon sehr nett wenn die Beispiele auch 1:1 übernommen werden würden und nicht einfach irgendwas umgebaut.
Zitat von: Puschel74 am 25 Oktober 2014, 20:59:09
Edith: Wieso main.pl?? Wo hast du den Code hin kopiert?
Hab den hier rein kopiert http://www.compileonline.com/execute_perl_online.php (http://www.compileonline.com/execute_perl_online.php).
Der liefert genau die gleichen Fehlermeldungen wie das Filelog. Ich teste natürlich immer beides.
Hallo,
was irgendwelche externe Seiten melden ist mir - mit Verlaub - egal.
Ich habe mehrere solcher notifys im Einsatz und keine Fehler.
Benutze mein obiges Beispiel 1:1 im DEF deines notify und poste die Fehlermeldungen aus dem FHEM-Logfile.
Danke.
http://forum.fhem.de/index.php/topic,28277.msg211599.html#msg211599 (http://forum.fhem.de/index.php/topic,28277.msg211599.html#msg211599)
Und lass das else dort wo ich es hingestellt habe.
Grüße
2014.10.25 21:09:19 3: notifyHeimkommen return value: syntax error at (eval 848) line 2, near ") &&"
syntax error at (eval 848) line 5, near "}
else"
(https://dl.dropboxusercontent.com/u/7268818/fhem2.png)
Danke :)
Hallo,
sorry - nochmal 2 Klammern zu wenig.
iPhoneVolker:present {
if ((Value("lampe") eq "aus") && (Value("helligkeitsstatus") eq "dunkel")) {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
}
else {
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
}
Grüße
Edith. Sollte aber auch so klappen:
iPhoneVolker:present {
if (Value("lampe") eq "aus" && Value("helligkeitsstatus") eq "dunkel") {
fhem("set helligkeitsdummy 0") if (Value("helligkeitsdummy") ne "0");
}
else {
fhem ("set helligkeitsdummy 1") if (Value("helligkeitsdummy") eq "0");
}
}
Super. Das erste Beispiel funktioniert. Ich schau mir gleich mal an wo ich die Fehler gemacht habe und dann studiere ich nochmal die Commandref.
2014.10.25 21:21:52 3: HomeNotify return value: OK
Das zweite Beispiel teste ich gleich.
Vielen vielen Dank. :D
Liebe Grüße
Volker
Hallo,
wunderbar.
Beitrag noch mit gelöst kennzeichnen und das funktionierende Beispiel i nden ersten Beitrag einfügen - dann haben alle was davon.
Danke.
Grüße
Ist erledigt.
Herzlichen Dank :)