Code: Alles auswählen
val nAdvStart = new DateTime.withDate(now.year,11,26).getDayOfYear
Du könntest natürlich auch direkt das DateTime Objekt füllen:
Code: Alles auswählen
val nAdvStart = new DateTime(now.year,11,26,0,0).getDayOfYear
Code: Alles auswählen
val nAdvStart = new DateTime.withDate(now.year,11,26).getDayOfYear
Code: Alles auswählen
val nAdvStart = new DateTime(now.year,11,26,0,0).getDayOfYear
Ich hatte grad etwas Zeit
Code: Alles auswählen
now.withDate(now.getYear,11,26).getDayOfYear
Code: Alles auswählen
rule "Weihnachtsbeleuchtung Anfang November bis Mitte Januar"
when
Item ws_daemmerung changed
then
if((now.getDayOfYear > now.withDate(now.getYear,11,26).getDayOfYear || now.getDayOfYear < 16)) {
if(ws_daemmerung.state == OPEN) {
au_terrasse_st.sendCommand(ON)
au_eingang_st.sendCommand(ON)
au_garten_brightness.sendCommand(70)
au_vorgarten_brightness.sendCommand(70)
} else {
au_eingang_st.sendCommand(OFF)
au_terrasse_st.sendCommand(OFF)
}
}
end
Hab's mit einer kleinen Rule ausprobiert. Aber irgendwie will's nicht klappen.
Code: Alles auswählen
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
Code: Alles auswählen
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]