Hauptmenü

Syntax Error Beschattung

Begonnen von dusti64, 27 April 2015, 19:22:47

Vorheriges Thema - Nächstes Thema

dusti64

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
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht+Rollläden, Alexa, Homebridge, Hue, Instar, Merros, Shelly

Zrrronggg!

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") } }
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

dusti64

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
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht+Rollläden, Alexa, Homebridge, Hue, Instar, Merros, Shelly

Icinger

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
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

scooty

#4
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
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

dusti64

#5
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

Schon komplizierten Kram, wenn man keine Ahnung hat ;)

Gruß Dusti
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht+Rollläden, Alexa, Homebridge, Hue, Instar, Merros, Shelly

Pfriemler

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).
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

dusti64

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
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht+Rollläden, Alexa, Homebridge, Hue, Instar, Merros, Shelly