Rules now use Java Time API instead of Jodatime so some expressions need to be adapted:
getHourOfDay → getHour, getMinuteOfHour → getMinute, getMonthOfYear → getMonthValue
Some simple >and < comparisons may no longer work and you may need to use isAfter()/isBefore() instead.
See also this thread for more information.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
Ich bin jetzt nicht so der Java Mensch (deswegen tue ich mir mit OpenHAB etwas schwerer), aber gehe davon aus, dass sie jetzt ein anderes Time Library verwenden, deswegen ändern sich ein paar Dinge. In meinem speziellen Fall war es keine Timer, sondern einfache Zeitberechnungen in Rules (für die Pool Steuerung)
Hallo Harald,
ich bin auch kein IT-ler. Soweit ich das verstanden habe wird nicht mehr mit der Joda-Time-Funktion gearbeitet sondern mit einer Funktion, die sich ZonedDateTime nennt. Und in dieser Funktion lauten die Methoden zur Verarbeitung etwas anders und man muss halt etwas andere Parameter benutzen.
Leider ist es nicht immer so einfach, wie "aus getHourOfDay wird getHour" . Ich bin da eher der Praktiker und probier's dann halt mit "Trial and Error". Und wenn mich ein Problem eines "Mitstreiters" interessiert, ich vielleicht auch mal von der Lösung partizipieren kann und vor allem helfen kann(will), dann setz' ich mich auch mal 'ne Stunde oder zwei hin und tüftle an einer Lösung herum.
Viel Spass noch weiterhin.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
peter-pan hat geschrieben: ↑29. Dez 2020 01:24
Ich bin da eher der Praktiker und probier's dann halt mit "Trial and Error". Und wenn mich ein Problem eines "Mitstreiters" interessiert, ich vielleicht auch mal von der Lösung partizipieren kann und vor allem helfen kann(will), dann setz' ich mich auch mal 'ne Stunde oder zwei hin und tüftle an einer Lösung herum.
Ja das mit dem Trial an Error praktiziere ich auch sehr oft. Und als Programmiersprache spreche ich Copy and Paste
Vielen Dank für Deine Hilfe, hat mir echt sehr geholfen.
habe ein Problem mit der Zeitkonvertierung und leider zu wenig Ahnung von openhab 3 und java etc. Vielleicht kann mir jemand helfen.
In einer Mail möchte die letzte Statusveränderung eines items angeben.
Das funktioniert mit "item.lastUpdate" auch wunderbar. Das Ergebnis ist nur etwas unübersichtlich "2020-12-30T04:04:06.945+01:00[Europe/Berlin]" Gerne hätte ich "30.12.2020".
Iich habe nun schon Stunden gegoogelt und mit "Trial and Error" versucht, bekomme es aber nicht hin.
Hat hier jemand eine Lösung? Danke!
Chaosmax hat geschrieben: ↑30. Dez 2020 12:00Das funktioniert mit "item.lastUpdate" auch wunderbar. Das Ergebnis ist nur etwas unübersichtlich "2020-12-30T04:04:06.945+01:00[Europe/Berlin]" Gerne hätte ich "30.12.2020".
Ich habe gerade mein OH3-Testsystem nicht am Start, daher ungetestet. Aber versuch es mal mit einer Datumsformatierung:
Leider bringt das nicht das gewünschte Ergebniss, ist aber vielleicht ein kleiner Schritt in die richtige Richtung. Zumindest bricht die Regel nicht komplett ab.
Als Ergebniss kommt aber "null" (klein geschrieben) als Datum raus und im Log steht
Also, der Trick dürfte an dieser Stelle sein, die DateTime Antwort über den Formatter zu setzen. Das Problem dabei ist, dass sich ja gerade im Zusammenhang mit DateTime erhebliche Änderungen ergeben haben...
Im Zweifel müsste es aber in diese Richtung gehen:
2021-01-01 19:31:57.097 [INFO ] [org.openhab.core.model.script.test ] - last Update war um: Letzte Änderung am: 01.01.2021
2021-01-01 19:31:57.108 [INFO ] [org.openhab.core.model.script.test ] - last Update war um: Letzte Änderung am: 01.01.2021
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian