Hallo in die Runde,
ich hab versucht, mir hier aus mehreren Beiträgen eine Beschattung für Rollladen zu erstellen, leider bekomme ich immer einen Fehler und komme nicht weiter damit :-( kann mal ein Profi bitte rüberschauen?
Code:
define sz_Beschattung at *19:16 {Log 1, "Max ist ".ReadingsVal( "DoemitzWetter","fc1_high_c",0 )}
{if ((Value("sz_Beschattung_auto")) eq "Ein") && ( $month>4 ) && ( $month <10 ) && (ReadingsVal( "DoemitzWetter","fc1_high_c",0 )>23){fhem "set sz_Rollladen off" } }
Fehlermeldung:
2015.04.27 19:16:00 3: sz_Beschattung: syntax error at (eval 452) line 2, near ") &&"
syntax error at (eval 452) line 2, near "} }"
Vielen Dank dafür (y)
Gruß Dusti
Ich bin da jetzt nicht der Superfachmann aber ich hab das Gefühl da sind (mindestens) paar Klammern falsch verteilt. Versuch mal bitte:
Zitat... {if (Value("sz_Beschattung_auto") eq "Ein" && $month>4 && $month <10 && (ReadingsVal( "DoemitzWetter","fc1_high_c",0 )>23)) {fhem ("set sz_Rollladen off") } }
Danke :-)
Dann kommt dieser Fehler:
sz_Beschattung: syntax error at (eval 61) line 2, near ") &&"
syntax error at (eval 61) line 2, near "} }"
Was genau bedeuten eigentlich die verschiedenen Zahlen bei "eval"?
Gruß Dusti
sub test
{if ((Value("sz_Beschattung_auto") eq "Ein")&&($month>4)&&($month<10)&&(ReadingsVal("DoemitzWetter","fc1_high_c",0)>23)) {fhem "set sz_Rollladen off" } }
So wirfts bei mir keinen Fehler.
lg, Ici
Zitat von: dusti64 am 27 April 2015, 20:09:49
Dann kommt dieser Fehler:
sz_Beschattung: syntax error at (eval 61) line 2, near ") &&"
syntax error at (eval 61) line 2, near "} }"
Wäre nett, wenn Du wieder das komplette define angeben hättest, dass Du versucht hast.
Auch nicht der Fachmann, aber sollten die zwei Befehle
...{Log 1,...}{if...}...
beim Definieren des notifys nicht durch ;; getrennt sein?
s. "Notify als Makro" im Einsteiger-PDF.
Also probiere es bitte so:
define sz_Beschattung at *19:16 {Log 1, "Max ist ".ReadingsVal( "DoemitzWetter","fc1_high_c",0 )};;
{if (Value("sz_Beschattung_auto") eq "Ein" && $month>4 && $month <10 && (ReadingsVal( "DoemitzWetter","fc1_high_c",0 )>23)) {fhem ("set sz_Rollladen off") } }
Beim Bearbeiten des notifys über das DEF reicht dann ein ;
Andreas
Vielen Dank für eure Hilfe (y) unten jetzt mal der vollständige Code:
define sz_Beschattung at *09:47 {Log 1, "Max ist ".ReadingsVal( "DoemitzWetter","fc1_high_c",0 )}
{if ((Value("sz_Beschattung_auto") eq "EIN")&&($month> 3)&&($month< 10)&&(ReadingsVal("DoemitzWetter","fc1_high_c",0)>10)) { fhem("set sz_Rollladen off");; } }
Und es funktioniert :)
Jetzt werde ich noch versuchen, "ReadingsVal("DoemitzWetter","fc1_condition"" mit einzubauen und dann schauen wir mal :)
So etwa:
http://forum.fhem.de/index.php/topic,12548.msg289761.html#msg289761 (http://forum.fhem.de/index.php/topic,12548.msg289761.html#msg289761)
Schon komplizierten Kram, wenn man keine Ahnung hat ;)
Gruß Dusti
Zitat von: dusti64 am 28 April 2015, 10:08:48
Und es funktioniert :)
Wundert mich. Ich hätte auf den ; (Web-Editor) bzw. ;; hinter dem Log-Befehl, wie scooty sagt, bestanden. Dafür halte ich die ;; am Ende für nutzlos (aber nicht schädlich).
Zitat von: Pfriemler am 28 April 2015, 11:45:00
Wundert mich. Ich hätte auf den ; (Web-Editor) bzw. ;; hinter dem Log-Befehl, wie scooty sagt, bestanden. Dafür halte ich die ;; am Ende für nutzlos (aber nicht schädlich).
Das stimmt wohl, sie stammen aus einem Beispiel hier im Forum und bevor ich wieder etwas verkehrt mache und es nicht geht, hab ich es einfach drin gelassen, auf die Funktion hat es wohl wirklich keinen Einfluss, jetzt sind sie raus :)
Zitat von: scooty am 28 April 2015, 08:49:24
...{Log 1,...}{if...}...
beim Definieren des notifys nicht durch ;; getrennt sein?
s. "Notify als Makro" im Einsteiger-PDF.
Das in dem PDF hatte ich auch gelesen, doch es wird richtig geloggt und der Befehl ausgeführt - oder nicht, wenn ich an den Bedingungen schraube. Ich denke, dass es mit dem direkten Perl-Code zu tun hat...weiß es aber nicht genau...
Gruß Dusti