Ein Schaltbefehl in meinem Script führt zu einer Fehlermeldung und wird nicht ausgeführt.
Ein gleichlautender Befehl mit einem anderem Datum funktioniert.
Befehl:
#--------------- LAUSSEN an einem bestimmten Tag einmalig einschalten
define LichtAn at *16:00:00 {if($year==2014 && $month==11 && $mday==08) {fhem("set LAUSSEN on")} }
erzeugt folgende Fehlermeldung im Logfile:
2014.11.08 16:00:00 3: LichtAn: Illegal octal digit '8' at (eval 7253) line 1, at end of line
dieser Befehl funktioniert:
#--------------- Heizung an einem bestimmten Tag einmalig einschalten
define HeizungEin at *18:00:00 {if($year==2014 && $month==11 && $mday==07) {fhem("set TS_Climate_off einschalten")} }
habe in einem externen Editor geprüft ob unsichtbare Zeichen enthalten sind , nichts gefunden
Die Fehlermeldung kann ich leider nicht interpretieren
kann mir jemand helfen?
Danke Dolfi
lass die 0 bei 08 weg.
Bevor jetzt die Frage kommt, warum bei 08 ein Fehler kommt und bei 07 nicht, möchte ich auf die eigentlich doch sehr klare und unmissverständliche Fehlermeldung hinweisen:
Illegal octal digit '8'
- Du vergleichst einen numerischen (!) Wert gegen 08
- Perl interpretiert numerische Werte, die mit Null beginnen, generell als Oktalzahl
- Im oktalen Zahlensystem gibt es nur die Ziffern 0 bis 7
- Deshalb ist 07 zulässig und 08 nicht.
Alles klar?
vielen Dank, da wäre ich nie drauf gekommen, hab den Code übernommen