Rundung unter userReadings "%.3f" funktioniert nicht

Begonnen von Burny4600, 05 September 2026, 10:38:35

Vorheriges Thema - Nächstes Thema

Burny4600

Ich habe eine Definition inklusive Rundung unter userReadings angelegt.
Dabei wird die Rundung nicht übernommen.

Active_Energy_Imp__kWh:Active_Power_Total_Imp__W.* integral {sprintf("%.3f", ReadingsNum("$NAME","Active_Power_Total_Imp__W",0) / 3600000 )},
Active_Energy_Exp__kWh:Active_Power_Total_Exp__W.* integral {sprintf("%.3f", ReadingsNum("$NAME","Active_Power_Total_Exp__W",0) / 3600000 )}

Ich habe eine Anpassung vorgenommen damit auch die Rundung funktioniert.
AEI:Active_Power_Total_Imp__W.* integral {ReadingsNum("$name","Active_Power_Total_Imp__W",0) / 3600000 },
Active_Energy_Imp__kWh:AEI.* {sprintf("%.3f",ReadingsNum("$name","AEI",0))},

AEE:Active_Power_Total_Exp__W.* integral {ReadingsNum("$name","Active_Power_Total_Exp__W",0) / 3600000 },
Active_Energy_Exp__kWh:AEE.* {sprintf("%.3f",ReadingsNum("$name","AEE",0))}

Entweder übersehe ich etwas, oder es gibt dazu keine andere Lösung.
LG Chris

Raspberry Pi 2-5 => Jessie, Bullseye, Bookworm, Trixie
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Davis, Eastron, FS20, Homematic, IT, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, SkyWind, TEK603

betateilchen

Zitat von: Burny4600 am 05 September 2026, 10:38:35Entweder übersehe ich etwas

Vermutung:
Deine Rundung innerhalb des perl codes funktioniert wahrscheinlich einwandfrei. Aber durch das "integral" wird der gerundete Wert fürs Weiterrechnen verwendet und dann wieder verhunzt.

Leg doch mal testweise ein userReading mit dem perl code ohne das integral an und schaue, ob dann ein dreistelliger Wert im userReading steht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!