ich lasse einige Daten persistieren und möchte bei einigen die Differenz zwischen dem Wert um 0:00 Uhr und dem aktuellen Wert berechnen bzw. anzeigen.
Z.B. um aussagen zu können wieviel Wasser oder Strom ich am heutigen Tag everbraucht habe. Peristiert wird dann der Zählerstand (Gesamt).
In OH2 ging es immer so:
Code: Alles auswählen
Verbrauch_Strom_Tag.sendCommand((Zaehlerstand_Strom_1_0_1_8_0.deltaSince(now.withTimeAtStartOfDay)) / 1000.0)
In den Foren kann ich nichts explizites finden...
Das Problem tritt bei mir in über 20 Rules auf...
Ich würde mich über eine Hilfestellung echt freuen.
Einen ähnliche Fall hatte ich schon mal:
OH2:
Code: Alles auswählen
var dtStart = new DateTime((Tasmota033_Trockner_Messbeginn.state as DateTimeType).zonedDateTime.toInstant.toEpochMilli)
val Diff = now.millis - dtStart.millis
val iDays = (Diff / 1000 / 60 / 60 / 24).intValue // volle Tage
Tasmota033_Trockner_Messdauer.postUpdate(iDays)
Code: Alles auswählen
val vDiffNext_Tasmota033 = LocalDate.now.getDayOfYear() - (Tasmota033_Trockner_Messbeginn.state as DateTimeType).getZonedDateTime.getDayOfYear()
Tasmota033_Trockner_Messdauer.postUpdate(vDiffNext_Tasmota033)
Danke und Gruß in die Nacht
Florian