OH3 Rules now(DateTimeZone...

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

LCN-User
Beiträge: 17
Registriert: 29. Dez 2020 10:36
Answers: 1

Re: OH3 Rules now(DateTimeZone...

Beitrag von LCN-User »

int5749 hat geschrieben: 9. Jan 2021 22:01 Hast Du evtl. einen Link, wo dies im Detail beschrieben ist? Meine Suche war da nicht zielführend :-/
Ich suche einfach nach "Java 8 java.time" oder "Java 11 java.time" und lande dann z. B. hier
Java8-java.time

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

Re: OH3 Rules now(DateTimeZone...

Beitrag von udo1toni »

Tipp: Statt secondOfDay durch 60 zu teilen, solltest Du lieber pro Stunde 3600 Sekunden und pro Minute 60 Sekunden hinzurechnen, also aus 1015 (16*60 + 55) wird entsprechend 60900 (16* 3600 + 55 * 60 - oder 1015 * 60). secondOfDay ist mit Sicherheit ein Integer Wert, beim Teilen müsste openHAB dann daraus ein Float machen, das geht gerne mal schief.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: OH3 Rules now(DateTimeZone...

Beitrag von int5749 »

udo1toni hat geschrieben: 9. Jan 2021 23:56 beim Teilen müsste openHAB dann daraus ein Float machen, das geht gerne mal schief.
Thanks for this note! ICh prüfe somit einfach direkt auf die Sekunde.

Aber schon kommt das nächste Problem, beim durchforsten der Rules.

Code: Alles auswählen

House_EnergyIn.deltaSince(now.withTimeAtStartOfDay, "jdbc")
Dies nutze ich zum Berechnen der verbrauchten Strommenge, aber "now.withTimeAtStartOfDay" gibt es ja auch nocht mehr.
Ich finde derzeit aber auch keine vergleichebare Funktion bei Java.time :(

Hat dies noch jemand benutzt und evtl. schon umgestellt??
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: OH3 Rules now(DateTimeZone...

Beitrag von peter-pan »

int5749 hat geschrieben: 10. Jan 2021 17:28 Hat dies noch jemand benutzt und evtl. schon umgestellt??
...probier mal das:

Code: Alles auswählen

var vStartOfDay = ZonedDateTime.now().with(LocalTime.MIDNIGHT)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: OH3 Rules now(DateTimeZone...

Beitrag von int5749 »

peter-pan hat geschrieben: 10. Jan 2021 17:39 ...probier mal das:

Code: Alles auswählen

var vStartOfDay = ZonedDateTime.now().with(LocalTime.MIDNIGHT)
Danke, scheint zu funktioren, auch wenn die Funktion nicht die millisekunden liefert ;)

Nur mal als Vergleich:

Werte in Datenbank im Format
2020-02-10 12:45:01.200
Funktion unter OH2

Code: Alles auswählen

now.withTimeAtStartOfDay
liefert
2021-01-10T00:00:00.000+01:00
Unter OH3 von mir gefunden aber noch nicht getestet

Code: Alles auswählen

LocalDate.now().atStartOfDay()
liefert
2021-01-10T00:00
Von PeterPan

Code: Alles auswählen

ZonedDateTime.now().with(LocalTime.MIDNIGHT)
liefert
2021-01-10T00:00+01:00[Europe/Berlin]
Da dort auch die Zeitdifferenz mit dabei ist, ist dies bisher am nächsten an OH2
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Antworten