Ich möchte den Readingwert wind_dir 247 WSW
eines Windsensors für die weitere Verwendung in einen zusätzlichen Readingwert der nur die Zahl der Windrichtung enthält abändern.
In der vorhanden Form 247 WSW
bekomme ich immer Pearl Warningen da dieser Wert nicht rein nummärisch ist.
Wie muss ich vorgehen?
Wo bekommst Du denn PERL Warnungen. Wo willst du es weiter verarbeiten. Plot oder Notify?
Im Log befindet sich diese Perl Warnung.
2016.05.20 18:49:03 1: PERL WARNING: Argument "0 N" isn't numeric in sprintf at (eval 472) line 1.
Dem Plot ist es zu ziemlich egal, da der Eintrag im Filelog für ein Plot verarbeitet wird.
Zum Verarbeiten mit DOIF ist es aber notwendig diese Argument der Windrichtung vorher zu zerlegen.
Das stimmt nicht. Es ist nicht notwendig. Informiere Dich über ReadingsNum und dem zum DOIF äquivalenten Parameter. Man kann auch bei DOIF nur nach Zahlen Filtern.
Habe den Fehler mit Unterstützung gefunden.
Dank an @ernst1024.
Der Fehler lag im stateFormat.
Richtung: %1.f ° musste in Richtung: %s ° geändert werden.
{
sprintf
(
"Richtung: %s ° | Geschwindigkeit: %1.f km/h | mittlere Geschwindigkeit: %1.f km/h",
ReadingsVal($name,"wind_dir",0),
ReadingsVal($name,"wspeed",0),
ReadingsVal($name,"wavspeed",0)
)
}