Ich bekomme seit gestern, glaube ich zumindest, im FHEM Log folgenden Hinweis:
Argument "3.64 W" isn't numeric in numeric le (<=) at (eval 2643) line 1.
Das kommt von meiner DETC200 Fritz Steckdose und einer Verbrauchsabfrage (groesser und kleiner Watt). Der Wert wird
von einem ReadingsVal geliefert.
Frage: Kann man bei einem ReadingsVal die Einheit, in meinem Fall ein "W" am Ende, ersetzen (RegEX?)?
Hier noch der LogAuszug
2014.03.01 15:12:40 4: UG.WK.WaschmaschineBetriebAn exec {fhem ("set UG.WK.WaschmaschineBetrieb on;; setstate UG.WK.WaschmaschineAutoOff defined") if (ReadingsVal("UG.WK.SchalterWaschmaschine","power","") >= 30 && Value("UG.WK.WaschmaschineBetrieb") ne "on")}
2014.03.01 15:12:40 5: Cmd: >{fhem ("set UG.WK.WaschmaschineBetrieb on; setstate UG.WK.WaschmaschineAutoOff defined") if (ReadingsVal("UG.WK.SchalterWaschmaschine","power","") >= 30 && Value("UG.WK.WaschmaschineBetrieb") ne "on")}<
Argument "0.00 W" isn't numeric in numeric ge (>=) at (eval 3855) line 1.
Danke im Voraus!
my ($val,undef) = split(/ /, ReadingsVal(...));
In $val hast Du dann den Wert ohne Leerzeichen und Einheit.
UG.WK.SchalterWaschmaschine:* {fhem ("set UG.WK.WaschmaschineBetrieb on; setstate UG.WK.WaschmaschineAutoOff defined") if (my ($val,undef) = split(/ /, ReadingsVal("UG.WK.SchalterWaschmaschine","power","")) >= 30 && Value("UG.WK.WaschmaschineBetrieb") ne "on")}
Du bist mein Held! Danke betateilchen!