FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: joachimm am 15 Januar 2015, 16:32:51

Titel: sprintf - ich sehe den Fehler nicht!
Beitrag von: joachimm am 15 Januar 2015, 16:32:51
ich verzweifle langsam. Damit keine 16 Nachkommastellen geloggt werden wollte ich die Sache abkürzen. Der erste Teil will partout nicht... Wäre nett, wenn mir jemand helfen könnte?

1h-strom-differenz difference {sprintf("%.2f",(ReadingsVal("DS2423_A2D98A000002","counters.A",0) + ReadingsVal("DS2423_A2D98A000002","counters.B",0))/1000);}, Stromkosten {sprintf("%.2f",ReadingsVal("dmy4","1h-strom-differenz",0)*0.24);}

Vielen Dank
Titel: Antw:sprintf - ich sehe den Fehler nicht!
Beitrag von: nesges am 15 Januar 2015, 16:37:13
Wie sieht denn das falsche Ergebnis aus? Zum Rechnen mit Readings evlt. besser ReadingsNum() statt ReadingsVal() verwenden.
Titel: Antw:sprintf - ich sehe den Fehler nicht!
Beitrag von: betateilchen am 15 Januar 2015, 16:40:16
Was steht denn in den Readings als Wert? Sind das Werte mit Einheiten?
Wenn ich die Readings durch feste Zahlen ersetze, funktioniert es korrekt.
Titel: Antw:sprintf - ich sehe den Fehler nicht!
Beitrag von: joachimm am 15 Januar 2015, 16:46:28
das sieht dann so aus...

hab's auch mit ReadingsNum versucht..

Das Reading sind nur die Werte aus dem 1w Zähler
Titel: Antw:sprintf - ich sehe den Fehler nicht!
Beitrag von: joachimm am 15 Januar 2015, 16:59:20
ich habe mal den Zusatz "difference" rausgenommen. Dann funktioniert's.  Hmmm... Den brauch ich aber. Dazu möchte ich auch was wissen, mache ich aber im extra Thread.

Dann habe ich nocht das Modul Math::Rounded installiert - gleiches Problem. Das Difference mag irgendwas nicht...