Puh. Auf Anhieb sehe ich jetzt keinen Fehler. Du könntest versuchen, die Fehlerursache etwas einzukreisen, z.B. indem Du nicht now.withDate() verwendest, sondern new DateTime.withDate(). Notfalls könntest Du diesen Faktor in eine Konstante auslagern, also so:
Sollte eigentlich beides gehen. Unter OH3 sieht das anders aus, wie ich gestern gelesen habe - ausprobiert habe ich noch nicht... unter OH3 gibt es eh kein joda...
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte
rule "Weihnachtsbeleuchtung Anfang November bis Mitte Januar test if-Bedingung"
when
Item Dummy_4 changed to ON
then
var vDayOfYear = now.getDayOfYear
var vYear1 = now.year() // auch ohne Klammern das gleiche Ergebnis
var vYear2 = now.withDate(now.getYear,11,26).getDayOfYear //.toString("yy.mm.dd")
logInfo("datumtest1", "day of the year is {} - vYear2 {} ", vDayOfYear, vYear2)
logInfo("datumtest1", "day of the year is vYear1 {} ", vYear1)
end
2020-11-07 12:59:10.887 [INFO ] [se.smarthome.model.script.datumtest1] - day of the year is 312 - vYear2 331
2020-11-07 12:59:10.890 [INFO ] [se.smarthome.model.script.datumtest1] - day of the year is vYear1 Property[year]
Die Variable "vYear1 bringt als Ergebnis "Property[year]". gibt's da noch etwas, was man machen muss ?
Da ich ja Dank deiner Hilfe auch mal in OH3 reingeschnuppert habe und auch eine kleine Rule zum Umwandeln eines Datums erstellt habe, habe ich das auch feststellen dürfen, dass es keine Joda-Time mehr gibt. Aber mehr dazu (vor allem Fragen) an anderer Stelle.