Seite 5 von 5
Re: OH3 Rules now(DateTimeZone...
Verfasst: 9. Jan 2021 22:32
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
Re: OH3 Rules now(DateTimeZone...
Verfasst: 9. Jan 2021 23:56
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.
Re: OH3 Rules now(DateTimeZone...
Verfasst: 10. Jan 2021 17:28
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??
Re: OH3 Rules now(DateTimeZone...
Verfasst: 10. Jan 2021 17:39
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)
Re: OH3 Rules now(DateTimeZone...
Verfasst: 10. Jan 2021 20:16
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
liefert
2021-01-10T00:00:00.000+01:00
Unter OH3 von mir gefunden aber noch nicht getestet
liefert
2021-01-10T00:00
Von PeterPan
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