Seite 14 von 14

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Verfasst: 15. Okt 2025 00:09
von TomW80
udo1toni hat geschrieben: 14. Okt 2025 11:43 Ja, die Syntax ist fehlerhaft :)

Korrekt sieht das so aus:

Code: Alles auswählen

    logInfo("Stromverbrauch","Test 1: {}", WEZ_Gesamtenergie.persistedState(now.minusDays(1)))
    logInfo("Stromverbrauch","Test 2: {}", WEZ_Gesamtenergie.lastChange("influxdb"))
    logInfo("Stromverbrauch","Test 3: {}", WEZ_Gesamtenergie.deltaSince(start_of_day))
Trotzdem liefert mir Test 1 und Test 3 keinen Wert.
info_circle 23:21:55.395 INFO org.openhab.core.model.script.Stromverbrauch Test 1: {}
info_circle 23:21:56.174 INFO org.openhab.core.model.script.Stromverbrauch Test 2: 2025-10-14T09:52:00.497+02:00[Europe/Berlin]
info_circle 23:21:56.180 INFO org.openhab.core.model.script.Stromverbrauch Test 3: {}
Das würde doch bedeuten, dass mit der Persistrierung was nicht stimmt oder?
Aber in Grafana sehe ich die Werte!?

Jetzt habe ich weitere Tests gemacht und siehe da jetzt kommt ein Wert. Aber nur wenn ich den Persistence Service mit angebe.
Also so:

Code: Alles auswählen

logInfo("Stromverbrauch","Test 4: {}", WEZ_Gesamtenergie.deltaSince(now.minusMinutes(60), "influxdb"))
Aber warum muss ich das jetzt auf einmal angeben?

WEZ_Gesamtenergie ist ganz normal in der influxdb.persist eingetragen:

Code: Alles auswählen

WEZ_Gesamtenergie : strategy = everyMinute, restoreOnStartup
Der Standard Persistence Service steht allerdings auf "RRD4j", aber eigentlich schon immer so.
Oder hat sich mit einer der letzten Versionen was geändert?
Bin aktuell auf Version 5.0.1

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Verfasst: 15. Okt 2025 13:42
von udo1toni
Vermutlich hast Du den default Service nicht explizit gesetzt.

Main UI->Adminstration->Einstellungen->Configuration (linke Spalte) Persistence->General Settings->Standard Persistence Service.

Dies ist der aktuelle Ort für diese Einstellung :) ist etwas abhängig von der Version, ob, und wenn ja wo Du die Einstellung über die UI vornehmen kannst.

Die Standard Persistence ist diejenige, welche abgefragt wird, wenn kein Persistence Service angegeben wird. Es geht hier ausschließlich um das Lesen der Daten, wie, wann und welche Daten geschrieben werden, wird pro Persistence Service konfiguriert. Man kann "beliebig viele" Persistence Services parallel nutzen und individuell konfigurieren, allerdings sollte man restoreOnStartup pro Item nur bei einem Persistence Service setzen, wenn überhaupt. (Vorzugsweise liest man den Zustand eines Items über das zuständige Addon aus).

Es ist darauf zu achten, dass es (soweit ich weiß immer noch) ein paar Stellen in openHAB gibt, wo man nicht vorgeben kann, aus welcher Persistence die Daten gelesen werden. Entsprechend muss man die Default Persistence an diesen Stellen ausrichten :) und an anderen Stellen dann die zu verwendende Persistence angeben.

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Verfasst: 15. Okt 2025 23:42
von TomW80
Doch der Default Service ist auf RRDJ4 gesetzt.
Ich weiß jetzt aber woher mein Problem kam.
Vor kurzem hatte ich das Item geändert und das neue nur bei influxdb.persist eingetragen.

Es ist schon besser wenn man den Service immer gleich mit angibt, da weiß man auch woher der Wert kommt.

Danke für deine Unterstützung!