userReadings integral auf Tagesbasis

Begonnen von Gisbert, 05 August 2024, 10:29:52

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo zusammen,
ich habe einen Leistungswert und möchte gerne die Energie auf Tagesbasis ermitteln.
Prinzipiell geht das mit dem modifier integral, dann allerdings fortlaufend:
attr device userReadings energy:power.* integral {ReadingsVal($name,'power','')}Gibt es bereits eine Lösung, wie ich den fortlaufenden Wert auf Tagesbasis ermitteln kann, so dass das Reading bei jedem neuen Tag bei Null beginnt und bis Mitternacht aufsummiert wird?

Viele Grüße Gisbert

Ergänzung:
power [W]
energy [kWh]
Dann muss die Definition wie folgt lauten:
attr device userReadings energy:power.* integral {ReadingsVal($name,'power','')/3600/1000}Zusatzfrage: Wie kann ich den Wert auf eine Nachkommastelle runden? Mit round scheint es nicht zu funktionieren.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Otto123

Zitat von: Gisbert am 05 August 2024, 10:29:52Zusatzfrage: Wie kann ich den Wert auf eine Nachkommastelle runden? Mit round scheint es nicht zu funktionieren.
Hallo Gisbert,

es erscheint nicht logisch, aber wenn Du vor dem integral rundest kommt hinten wieder bloß beliebig Gleitkomma raus. Durch interne "Ungenauigkeiten" in der Arithmetik kann es wieder zu mehr Stellen kommen.
Du musst final mit einem weiteren Reading runden z.B. energy2:energy.* {sprintf "%.2f",ReadingsVal($name,'energy','')} zumindest ist mir noch nichts besseres eingefallen :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gisbert

#2
Hallo Otto,

ich stimme dir 100%ig zu - Runden muss man in einem weiteren Schritt.

Die eigentliche Frage war ja, wie ein Tages-Integralwert zu bekommen ist. Ich versuche es jetzt mit einem at kurz nach Mitternacht, bei dem ich den Wert des Integral-Readings auf null setze. Gibt es eine bessere Lösung, oder ist diese Lösung bereits ok?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Otto123

Zitat von: Gisbert am 05 August 2024, 15:12:38bei dem ich den Wert des Integral-Readings auf null setze.
wäre auch meine Idee, aber ich war mir unsicher was die integralfunktion damit macht. Sonst hätte ich auch auf Deine eigentliche Frage geantwortet ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz