FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Burny4600 am 20 Mai 2016, 19:25:17

Titel: [gelöst] Wie kann ich den Readingwert wind_dir 247 WSW abändern
Beitrag von: Burny4600 am 20 Mai 2016, 19:25:17
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 WSWbekomme ich immer Pearl Warningen da dieser Wert nicht rein nummärisch ist.

Wie muss ich vorgehen?
Titel: Antw:Wie kann ich den Readingwert wind_dir 247 WSW abändern
Beitrag von: CoolTux am 20 Mai 2016, 19:59:58
Wo bekommst Du denn PERL Warnungen. Wo willst du es weiter verarbeiten. Plot oder Notify?
Titel: Antw:Wie kann ich den Readingwert wind_dir 247 WSW abändern
Beitrag von: Burny4600 am 20 Mai 2016, 20:33:28
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.
Titel: Antw:Wie kann ich den Readingwert wind_dir 247 WSW abändern
Beitrag von: CoolTux am 20 Mai 2016, 20:45:03
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.
Titel: Antw:Wie kann ich den Readingwert wind_dir 247 WSW abändern
Beitrag von: Burny4600 am 01 Juni 2016, 17:29:14
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)
)
}