[Gelöst] Probleme mit sprintf

Begonnen von hermann1514, 01 August 2017, 10:55:27

Vorheriges Thema - Nächstes Thema

hermann1514

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

Frank_Huber

mach aus ReadingsVal ein ReadingsNum
Dann nimmt er nur die Zahlen.

hermann1514

Na toll...das ist ja einfach ;-)

Geht nun.

Vielen Dank.

Gruß
Hermann



Amenophis86

Manchmal ist es so einfach :) Bitte die Überschrift noch auf [Gelöst] ändern. Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...