[gelöst] Bezug auf persistierte Daten - Differenz zwische Wert Mitternacht und jetzt

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Benutzeravatar
Florian.Reinartz
Beiträge: 106
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

[gelöst] Bezug auf persistierte Daten - Differenz zwische Wert Mitternacht und jetzt

Beitrag von Florian.Reinartz »

Moin Zusammen,

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)
Aber diese Methode scheint in OH3 nicht mehr anwendbar zu sein...
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)
Anpassung an OH3:

Code: Alles auswählen

val vDiffNext_Tasmota033 = LocalDate.now.getDayOfYear() - (Tasmota033_Trockner_Messbeginn.state as DateTimeType).getZonedDateTime.getDayOfYear()
Tasmota033_Trockner_Messdauer.postUpdate(vDiffNext_Tasmota033)
hilft mir hier aber - glaube ich - nicht weiter...

Danke und Gruß in die Nacht
Florian
Zuletzt geändert von Florian.Reinartz am 10. Jul 2022 20:41, insgesamt 1-mal geändert.
openHAB 4.1.0 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

Benutzeravatar
udo1toni
Beiträge: 13980
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Bezug auf persistierte Daten - Differenz zwische Wert Mitternacht und jetzt

Beitrag von udo1toni »

Genau. openHAB3 verwendet JavaTime, welches kein now.timeAtStartOfDay kennt, dafür aber z.B. now.with(LocalTime.MIDNIGHT)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Florian.Reinartz
Beiträge: 106
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

Re: Bezug auf persistierte Daten - Differenz zwische Wert Mitternacht und jetzt

Beitrag von Florian.Reinartz »

Moin Zusammen,
um die Sache hier zu Ende zu bringen...

OH2:

Code: Alles auswählen

Verbrauch_Strom_Tag.postUpdate((Zaehlerstand_Strom_1_0_1_8_0.deltaSince(now.withTimeAtStartOfDay)) / 1000.0)
OH3:

Code: Alles auswählen

val dMidnight = ZonedDateTime.now().with(LocalTime.MIDNIGHT)
val Number nDelta = Zaehlerstand_Strom_1_0_1_8_0.deltaSince(dMidnight) as Number
Verbrauch_Strom_Tag.postUpdate(nDelta / 1000.0)
So ist es gut nachzuvollziehen allerding glaube ich, dass man es in OH3 auch zusemmanfassen könnte.
OH3:

Code: Alles auswählen

Verbrauch_Strom_Tag.postUpdate((Zaehlerstand_Strom_1_0_1_8_0.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT)) as Number) / 1000.0)
Danke und Gruß
Florian
Zuletzt geändert von Florian.Reinartz am 19. Jul 2022 22:19, insgesamt 1-mal geändert.
openHAB 4.1.0 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

Benutzeravatar
udo1toni
Beiträge: 13980
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: [gelöst] Bezug auf persistierte Daten - Differenz zwische Wert Mitternacht und jetzt

Beitrag von udo1toni »

Ja, das Zusammenfassen geht genauso. Aber Obacht, Du hast im Beispiel ein / gelöscht (/ 1000)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Florian.Reinartz
Beiträge: 106
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

Re: [gelöst] Bezug auf persistierte Daten - Differenz zwische Wert Mitternacht und jetzt

Beitrag von Florian.Reinartz »

Danke für den Hinweis.
Habe ich korrigiert.
openHAB 4.1.0 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

Antworten