FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hermann1514 am 01 August 2017, 10:55:27

Titel: [Gelöst] Probleme mit sprintf
Beitrag von: hermann1514 am 01 August 2017, 10:55:27
Hallo,

ich habe ein Reading "Power_now" bei dem der Wert folgendermaßen angezeigt wird: z.B. 40 W
Dieses Reading wird leider  nicht in die INFLUXDB geschrieben da dort ein Buchstabe vorhanden ist.

Ich habe nun ein Userreading erstellt mit folgender Systax: power {sprintf ("%d",ReadingsVal("$NAME","power_now",0))}

Nun wird ein Reading Power erstellt bei dem der Wert korrekt angezeigt wird und auch in die DB geschrieben wird. Aber im LOG von FHEM habe ich nun folgenden Fehler:

2017.08.01 09:38:53 eval: {sprintf ("%d",ReadingsVal("$NAME","power_now",0))}
2017.08.01 09:38:53 1: PERL WARNING: Argument "0 W" isn't numeric in sprintf at (eval 385) line 1.


Hängt wohl mit dem "%d" zusammen. Aber wie ist die richtige Syntax damit nur die Zahlen ausgegeben werden?

Danke.
Gruß
Hermann
Titel: Antw:Probleme mit sprintf
Beitrag von: Frank_Huber am 01 August 2017, 10:58:53
mach aus ReadingsVal ein ReadingsNum
Dann nimmt er nur die Zahlen.
Titel: Antw:Probleme mit sprintf
Beitrag von: hermann1514 am 01 August 2017, 12:03:57
Na toll...das ist ja einfach ;-)

Geht nun.

Vielen Dank.

Gruß
Hermann


Titel: Antw:Probleme mit sprintf
Beitrag von: Amenophis86 am 01 August 2017, 12:41:06
Manchmal ist es so einfach :) Bitte die Überschrift noch auf [Gelöst] ändern. Danke