FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Knuttel am 23 Juni 2013, 11:56:59

Titel: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: Knuttel am 23 Juni 2013, 11:56:59
Hallo,

sorry,als ich den Artikel schrieb hatte ich die Fehlermeldung auf die schnelle nicht zur Hand. Hier ist sie:

FS20_S20_T8Notify return value: Can't find string terminator '"' anywhere before EOF at (eval 150570) line 1.

bei der ersten Funktion:
define Funksteckdose at +*00:10:00 {if (ReadingsVal("CUL_WS_1","temperature",50) >18 ) { fhem ("set Funksteckdose_3 on")}}
habe ich schon alles probiert(Leehzeichen gelöscht,abgespeckte Variante,Text in des DEF-Fenster eintippen....)brachte alles keine Änderung.Leider kann ich aus den Fehlermeldung die Bedeutung nicht entnehmen.
Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: UliM am 23 Juni 2013, 13:13:33
Hi,
perl (fhem) behauptet, es würde ein Anführungszeichen fehlen.
Das was Du gepostet hast sieht aber richtig aus. Ist da vll irgendwo ein Zeilenumbruch drin den Du nicht gepostet hast?
Gruß, Uli
Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: Puschel74 am 23 Juni 2013, 13:40:48
Hallo,

Achtung Uli - es gibt jetzt hier 2 Beiträge (warum eigentlich?).

Beim ersten Code

define Funksteckdose at +*00:10:00 {if (ReadingsVal("CUL_WS_1","temperature",50) >18 ) { fhem ("set Funksteckdose_3 on")}}

beschwert sich FHEM mit

ZitatUnrecognized character \xE2; marked by <-- HERE after adingsVal(<-- HERE near column 18 at (eval 126267) line 1

Bei zweitem

define FS20_S20_T8Notify notify FS20_S20_T8 {if (Value("FS20_S20_T8") eq "on") {fhem(" set Funksteckdose_3 on")}}

mit

ZitatFS20_S20_T8Notify return value: Can't find string terminator '"' anywhere before EOF at (eval 150570) line 1.

Und hier tippe ich immer noch auf das Leerzeichen nach " und vor set.

Grüße
Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: rudolfkoenig am 23 Juni 2013, 13:52:01
Ich habe jetzt beide ausprobiert, und ich bekomme keine Fehler...
Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: Knuttel am 23 Juni 2013, 17:59:23
Hallo,

danke erstmal für die ausfühliche Hilfe. Das Problem in der zweiten Befehlszeile konnte
gelöst werden. Es war tatsächlich das blöde Leerzeichen.
Nur mit der ersten Befehlszeile:
define Funksteckdose at +*00:10:00 {if(ReadingsVal("CUL_WS_1","temperature",50)>18){fhem("set Funksteckdose_3 on")}}
komme ich nach wie vor nicht weiter.
Ich habe jetzt nochmal alles neu und ohne Leerzeichen eingegeben und immer wieder kommt die Fehlermeldung:
2013.06.23 17:46:20 3: Unrecognized character \xE2; marked by <-- HERE after adingsVal(<-- HERE near column 17 at (eval 153438) line 1.
Es ist zum verzweifeln.
Rudolf Koenig hatt die Befehlszeile fehlerfrei getestet. Was ist bei der Zeile anders als bei meiner?

Gruß Knuttel

Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: Puschel74 am 23 Juni 2013, 18:10:17
Hallo,

evtl. das " bei
Zitat("CUL_WS_1

da das das erste fehlende Zeichen in der Fehlermeldung ist

ZitatHERE after adingsVal(<--

Ich weiß ja nicht wie du das " eingibst - bei mir ist das <Shift-2>.

Ist aber auch nur eine Vermutung das es am " liegt.

So wie die Zeile von dir gepostet ist muss sie aus alle Fälle funktionieren wenn FHEM jedes Zeichen "versteht".

Nicht immer ist für uns alles gleich sichtbar worüber sich FHEM beschwert ;-)

Grüße
Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: rudolfkoenig am 23 Juni 2013, 18:17:36
\xE2 klingt nach UTF-8 Editor.
Titel: Aw: Komplexere Befehlszeilen werden nicht ausgeführt
Beitrag von: Knuttel am 23 Juni 2013, 20:20:29
Ein Hallo in die Runde,

Heureka ich habe den Fehler gefunden.
Was bei der einen Zeile zuviel war hatte bei der anderen gefehlt, und zwar das
Leerzeichen an der richtigen Stelle.Das war eine schwere Geburt.
Vielen Dank an Euch für die Denkanstöße.

Gruß Knuttel