Rule - Xmas-Beleuchtung
- udo1toni
- Beiträge: 15476
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rule - Xmas-Beleuchtung
Immer gerne 
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)
-
EMaster
- Beiträge: 111
- Registriert: 13. Dez 2018 21:02
Re: Rule - Xmas-Beleuchtung
Hallo udo1toni,
die Zeitschaltung hatte ja im letzten Jahr super funktioniert.
Um es zu verstehen, habe ich doch noch mal eine Frage.
Dieses Jahr wäre ja der erste Advent am 29.11..
Wie müsste ich denn die Regeln zum Ein- bzw. Ausschalten anpassen?
Bisher wurde ja nur der Monat 12 & 1 in Betracht gezogen und am 30.11. wurde manuell eingeschaltet.
Vielen herzlichen Dank
die Zeitschaltung hatte ja im letzten Jahr super funktioniert.
Um es zu verstehen, habe ich doch noch mal eine Frage.
Dieses Jahr wäre ja der erste Advent am 29.11..
Wie müsste ich denn die Regeln zum Ein- bzw. Ausschalten anpassen?
Bisher wurde ja nur der Monat 12 & 1 in Betracht gezogen und am 30.11. wurde manuell eingeschaltet.
Code: Alles auswählen
rule "Xmas-Beleuchtung (Innen) EIN"
when
Time cron "0 30 05 ? 12,1 MON,TUE,WED,THU,FRI" or // 05:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 00 16 ? 12,1 MON,TUE,WED,THU,FRI" or // 16:00:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 00 05 ? 12,1 SAT,SUN" or // 05:00:00 Uhr Samstag + Sonntag, Dezember und Januar
Time cron "0 00 15 ? 12,1 SAT,SUN" // 15:00:00 Uhr Samstag + Sonntag, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //1. Dezember + 31 Tage = 1. Januar = 1. Tag... (1. Dezember - 6. Januar = 38 Tage)
Xmas.sendCommand(ON)
end
rule "Xmas-Beleuchtung (Innen) AUS"
when
Time cron "0 59 23 30 11 ?" or // 23:59:00 Uhr 30.11. erster Schaltpunkt AUS
Time cron "0 30 07 ? 12,1 MON,TUE,WED,THU,FRI" or // 07:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 45 23 ? 12,1 MON,TUE,WED,THU,FRI" or // 23:45:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 00 10 ? 12,1 SAT,SUN" or // 10:00:00 Uhr Samstag + Sonntag, Dezember und Januar
Time cron "0 59 23 ? 12,1 SAT,SUN" // 05:00:00 Uhr Samstag + Sonntag, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //1. Dezember + 31 Tage = 1. Januar = 1. Tag... (1. Dezember - 6. Januar = 38 Tage)
Xmas.sendCommand(OFF)
endVielen herzlichen Dank
openHAB 5.0.3 im Docker@Synology
- udo1toni
- Beiträge: 15476
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rule - Xmas-Beleuchtung
Na, das Eine sind die Time cron Ausdrücke, da muss das 12,1 gegen 11,12,1 getauscht werden, das Zweite ist das plusDays, da muss die 31 gegen eine 33 getauscht werden (29.11. + 33 Tage = 1. Januar), das Dritte ist dann der Vergleich <38, da muss dann logischerweise < 40 stehen (6.1. + 33 = 39. Tag).
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)
-
EMaster
- Beiträge: 111
- Registriert: 13. Dez 2018 21:02
Re: Rule - Xmas-Beleuchtung
Hat wieder perfekt funktioniert. Danke.
Ich glaube, jetzt habe ich es auch verstanden.
Gibt eigentlich eine Website, wo das alles dokumentiert ist oder wo bekommt man das (dein) ganzes Wissen her?
Ich glaube, jetzt habe ich es auch verstanden.
Gibt eigentlich eine Website, wo das alles dokumentiert ist oder wo bekommt man das (dein) ganzes Wissen her?
openHAB 5.0.3 im Docker@Synology
-
EMaster
- Beiträge: 111
- Registriert: 13. Dez 2018 21:02
Re: Rule - Xmas-Beleuchtung
Alle Jahre wieder.
Nein, die letzten Jahre hat immer alles super funktioniert, nur dieses Jahr ist der Wurm drin.
Ich habe die Rule angepasst, aber sie wird trotzdem seit heute ausgelöst. - Kann mir das evtl. jemand erklären???
***Dieser Teil scheint nach einem Neustart von OH zu funktionieren! In der UI hat es mir noch alte, nicht mehr gültige Rules angezeigt.***
Aktuell passe ich die Rule für jedes Jahr manuell an. Gibt es vielleicht eine elegantere Lösung, den Start der Rule zu berechnen?
Was ich noch seltsam finde ist, dass im UI die Rules alle doppelt stehen.
Ich habe die Rule angepasst, aber sie wird trotzdem seit heute ausgelöst. - Kann mir das evtl. jemand erklären???
***Dieser Teil scheint nach einem Neustart von OH zu funktionieren! In der UI hat es mir noch alte, nicht mehr gültige Rules angezeigt.***
Aktuell passe ich die Rule für jedes Jahr manuell an. Gibt es vielleicht eine elegantere Lösung, den Start der Rule zu berechnen?
Code: Alles auswählen
// Schaltet die Weihnachtsbeleuchtung (Aussen) vom 01. Dezember bis 6. Januar
rule "Xmas-Beleuchtung (Aussen) EIN 01.12-06.01"
when
Time cron "0 00 06 ? 12,1 MON,TUE,WED,THU,FRI" or // 06:00:00 Uhr Montag-Freitag, November, Dezember und Januar
Time cron "0 00 06 ? 12,1 SAT,SUN" or // 06:00:00 Uhr Samstag + Sonntag, November, Dezember und Januar
Time cron "0 30 16 ? 12,1 MON,TUE,WED,THU,FRI" or // 16:30:00 Uhr Montag-Freitag, November, Dezember und Januar
Time cron "0 00 16 ? 12,1 SAT,SUN" // 16:00:00 Uhr Samstag + Sonntag, November, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //01. Dezember + 31 Tage = 1. Januar = 1. Tag... (01.Dezember - 6. Januar = 38 Tage)
Xmas_Aussen.sendCommand(ON)
end
rule "Xmas-Beleuchtung (Aussen) AUS 01.12-06.01"
when
Time cron "0 30 07 ? 12,1 MON,TUE,WED,THU,FRI" or // 07:30:00 Uhr Montag-Freitag, November, Dezember und Januar
Time cron "0 00 08 ? 12,1 SAT,SUN" or // 08:00:00 Uhr Samstag + Sonntag, November, Dezember und Januar
Time cron "0 30 23 ? 12,1 MON,TUE,WED,THU,FRI" or // 23:30:00 Uhr Montag-Freitag, November, Dezember und Januar
Time cron "0 30 23 ? 12,1 SAT,SUN" or // 23:30:00 Uhr Samstag + Sonntag, November, Dezember und Januar
Time cron "0 30 23 6 1 ?" // 23:30:00 Uhr 06.01. letzter Schaltpunkt AUS
then
if(now.plusDays(31).getDayOfYear < 38) //01. Dezember + 31 Tage = 1. Januar = 1. Tag... (01.Dezember - 6. Januar = 38 Tage)
Xmas_Aussen.sendCommand(OFF)
end
//
//
// Schaltet die Weihnachtsbeleuchtung (Innen) vom 28. November bis 6. Januar
rule "Xmas-Beleuchtung (Innen) EIN 01.12-06.01"
when
Time cron "0 00 06 ? 12,1 MON,TUE,WED,THU,FRI" or // 06:00:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 30 15 ? 12,1 MON,TUE,WED,THU,FRI" or // 15:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 00 08 ? 12,1 SAT,SUN" or // 08:00:00 Uhr Samstag + Sonntag, Dezember und Januar
Time cron "0 03 15 ? 12,1 SAT,SUN" // 15:30:00 Uhr Samstag + Sonntag, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //01. Dezember + 31 Tage = 1. Januar = 1. Tag... (01.Dezember - 6. Januar = 38 Tage)
Xmas.sendCommand(ON)
end
rule "Xmas-Beleuchtung (Innen) AUS 01.12-06.01"
when
Time cron "0 30 07 ? 12,1 MON,TUE,WED,THU,FRI" or // 07:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 30 23 ? 12,1 MON,TUE,WED,THU,FRI" or // 23:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 30 09 ? 12,1 SAT,SUN" or // 09:30:00 Uhr Samstag + Sonntag, Dezember und Januar
Time cron "0 30 23 ? 12,1 SAT,SUN" // 23:30:00 Uhr Samstag + Sonntag, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //01. Dezember + 31 Tage = 1. Januar = 1. Tag... (01.Dezember - 6. Januar = 38 Tage)
Xmas.sendCommand(OFF)
end
//
//
// Schaltet die Weihnachtsbeleuchtung (Kids) vom 28. November bis 6. Januar
rule "Xmas-Beleuchtung (Kids) EIN 01.12-06.01"
when
Time cron "0 30 06 ? 12,1 MON,TUE,WED,THU,FRI" or // 06:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 30 15 ? 12,1 MON,TUE,WED,THU,FRI" or // 15:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 30 07 ? 12,1 SAT,SUN" or // 07:30:00 Uhr Samstag + Sonntag, Dezember und Januar
Time cron "0 00 16 ? 12,1 SAT,SUN" // 16:00:00 Uhr Samstag + Sonntag, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //01. Dezember + 31 Tage = 1. Januar = 1. Tag... (01.Dezember - 6. Januar = 38 Tage)
Xmas_Kids.sendCommand(ON)
end
rule "Xmas-Beleuchtung (Kids) AUS 01.12-06.01"
when
Time cron "0 30 07 ? 12,1 MON,TUE,WED,THU,FRI" or // 07:30:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 00 22 ? 12,1 MON,TUE,WED,THU,FRI" or // 22:00:00 Uhr Montag-Freitag, Dezember und Januar
Time cron "0 00 08 ? 12,1 SAT,SUN" or // 08:00:00 Uhr Samstag + Sonntag, Dezember und Januar
Time cron "0 00 22 ? 12,1 SAT,SUN" // 22:00:00 Uhr Samstag + Sonntag, Dezember und Januar
then
if(now.plusDays(31).getDayOfYear < 38) //01. Dezember + 31 Tage = 1. Januar = 1. Tag... (01.Dezember - 6. Januar = 38 Tage)
Xmas_Kids.sendCommand(OFF)
end
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB 5.0.3 im Docker@Synology
- udo1toni
- Beiträge: 15476
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rule - Xmas-Beleuchtung
Gewöhnlich sollte die Weihnachtsbeleuchtung abhängig vom ersten Advent geschaltet werden, je nach Gegend entweder ab Montag nach dem Totensonntag oder eben direkt ab dem ersten Advent.
Code: Alles auswählen
var Integer intStAdvent = 0
rule "Berechnung nach Mitternacht"
when
Time cron "5 0 0 * * ?" or
System started
then
val firstAdvent = LocalDate.of(now.getYear,12,25).minusDays(LocalDate.of(now.getYear,12,25).getDayOfWeek.getValue + 21)
intStAdvent = firstAdvent.getDayOfYear
logInfo("holiday","Der erste Advent ist am {}", firstAdvent)
end
rule "Weihnachtslicht ein"
when
Time cron "0 0 6 * * ?" or // morgens 6 Uhr
Time cron "0 30 16 * * ?" // nachmittags 16:30 Uhr
then
if (now.getDayOfYear < 7 || now.getDayOfYear > intStAdvent) {
logDebug("x-mas","Weihnachtsbeleuchtung ein.")
NOutBalkonSteckdose.sendCommand(ON)
}
end
rule "Weihnachtslicht aus"
when
Time cron "0 0 9 * * ?" or // morgens 9 Uhr
Time cron "0 30 22 * * ?" // abends 22:30 Uhr
then
if (now.getDayOfYear < 7 || now.getDayOfYear > intStAdvent) {
logDebug("x-mas","Weihnachtsbeleuchtung aus.")
NOutBalkonSteckdose.sendCommand(OFF)
}
end
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)
-
EMaster
- Beiträge: 111
- Registriert: 13. Dez 2018 21:02
Re: Rule - Xmas-Beleuchtung
Hallo Udo,
vielen Dank erstmal für das Skript.
Im LOG steht jetzt folgendes.
Das heißt quasi, dass der 1. Advent für den 03. Dezember berechnet wird.
Was muss jetzt angepasst werden, dass die Beleuchtung am 01. Dezember oder/und wie Du geschrieben hast, am Montag nach dem Totensonntag einschalten soll?
Danke
vielen Dank erstmal für das Skript.
Im LOG steht jetzt folgendes.
Code: Alles auswählen
023-11-30 00:00:05.821 [INFO ] [rg.openhab.core.model.script.holiday] - Der erste Advent ist am 2023-12-03Was muss jetzt angepasst werden, dass die Beleuchtung am 01. Dezember oder/und wie Du geschrieben hast, am Montag nach dem Totensonntag einschalten soll?
Danke
openHAB 5.0.3 im Docker@Synology
- udo1toni
- Beiträge: 15476
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rule - Xmas-Beleuchtung
Für den ersten Dezember prüfst Du einfach, ob der erste Dezember erreicht ist
Für den Montag nach Totensonntag prüfst Du, ob 1. Advent minus 6 Tage erreicht ist.
Prüfung ob vor dem 7.1. oder schon Dezember:
Prüfung ob vor dem 7.1. oder nach Totensonntag:
Prüfung ob vor dem 7.1. oder schon Dezember:
Code: Alles auswählen
if (now.getDayOfYear < 7 || now.getMonthValue == 12) {Code: Alles auswählen
if (now.getDayOfYear < 7 || now.getDayOfYear > intStAdvent - 7) {openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)
-
EMaster
- Beiträge: 111
- Registriert: 13. Dez 2018 21:02
Re: Rule - Xmas-Beleuchtung
Hallo Zusammen,
es ist wieder Mal Advent und nichts geht mehr.
Der 1. Advent wird richtig auf den 30.11.25 berechnet, aber die Folgeregeln werden weder zur Uhrzeit, noch manuell über die GUI ausgeführt.
Es wird auch kein Eintrag in den LOG-Dateien gesetzt.
Hier zunächst die alte Version.
Hier habe ich mal ausnahmsweise ChatGPT befragt und das ist dabei rausbekommen.
(Auch hier keine Einträge in den LOGs.)
Hat jemand ne Idee, wie ich die Rule(s) noch genauer analysieren könnte (Im Moment sehe ich gar nichts.), oder evtl. eine Lösung?
Aktuell schalte ich alles auf die alte Art und Weise mit manuell angepassten Daten, für den 1. Advent, die man jedes Jahr austauschen muss.
Danke
Gruß
Nico
es ist wieder Mal Advent und nichts geht mehr.
Der 1. Advent wird richtig auf den 30.11.25 berechnet, aber die Folgeregeln werden weder zur Uhrzeit, noch manuell über die GUI ausgeführt.
Es wird auch kein Eintrag in den LOG-Dateien gesetzt.
Hier zunächst die alte Version.
Code: Alles auswählen
var Integer intStAdvent = 0
rule "Berechnung nach Mitternacht"
when
Time cron "5 0 0 * * ?" or
System started
then
val firstAdvent = LocalDate.of(now.getYear,12,25).minusDays(LocalDate.of(now.getYear,12,25).getDayOfWeek.getValue + 21)
intStAdvent = firstAdvent.getDayOfYear
logInfo("holiday","Der erste Advent ist am {}", firstAdvent)
end
rule "Weihnachtslicht ein"
when
Time cron "0 0 6 * * ?" or // morgens 6 Uhr
Time cron "0 30 16 * * ?" // nachmittags 16:30 Uhr
then
if (now.getDayOfYear < 7 || now.getDayOfYear > intStAdvent) {
logDebug("x-mas","Weihnachtsbeleuchtung ein.")
Swi_Weihnachtsbaum.sendCommand(ON)
}
end
rule "Weihnachtslicht aus"
when
Time cron "0 0 8 * * ?" or // morgens 8 Uhr
Time cron "0 45 23 * * ?" // abends 23:45 Uhr
then
if (now.getDayOfYear < 7 || now.getDayOfYear > intStAdvent) {
logDebug("x-mas","Weihnachtsbeleuchtung aus.")
Swi_Weihnachtsbaum.sendCommand(OFF)
}
end(Auch hier keine Einträge in den LOGs.)
Code: Alles auswählen
var Integer intStAdvent = 0
var Integer intEndeWeihnachten = 6 // 6. Januar
// Berechnung des ersten Advents und Steuerung der Beleuchtung
rule "Berechnung des ersten Advents"
when
System started or
Time cron "5 0 0 * * ?" // Wird bei Systemstart und täglich um Mitternacht ausgeführt
then
// Berechne den ersten Advent
val firstAdvent = (LocalDate.of(now.getYear, 12, 25) // Weihnachten am 25. Dezember
.minusDays(LocalDate.of(now.getYear, 12, 25).getDayOfWeek().getValue() + 21)) // Erster Advent ist 3-4 Wochen vor Weihnachten
intStAdvent = firstAdvent.getDayOfYear // Speichern des ersten Advents als Tag des Jahres
logInfo("holiday", "Der erste Advent ist am {}", firstAdvent)
end
// Regel für das Einschalten der Weihnachtsbeleuchtung
rule "Weihnachtslicht ein"
when
Time cron "0 0 6 * * ?" or // Morgens um 6 Uhr
Time cron "0 30 16 * * ?" // Nachmittags um 16:30 Uhr
then
// Prüfen, ob der aktuelle Tag des Jahres zwischen dem ersten Advent und dem 6. Januar liegt
if (now.getDayOfYear >= intStAdvent && now.getDayOfYear <= intEndeWeihnachten) {
logDebug("x-mas", "Weihnachtsbeleuchtung ein.")
Swi_Weihnachtsbaum.sendCommand(ON)
}
end
// Regel für das Ausschalten der Weihnachtsbeleuchtung
rule "Weihnachtslicht aus"
when
Time cron "0 0 8 * * ?" or // Morgens um 8 Uhr
Time cron "0 45 23 * * ?" // Abends um 23:45 Uhr
then
// Prüfen, ob der aktuelle Tag des Jahres zwischen dem ersten Advent und dem 6. Januar liegt
if (now.getDayOfYear >= intStAdvent && now.getDayOfYear <= intEndeWeihnachten) {
logDebug("x-mas", "Weihnachtsbeleuchtung aus.")
Swi_Weihnachtsbaum.sendCommand(OFF)
}
end
Aktuell schalte ich alles auf die alte Art und Weise mit manuell angepassten Daten, für den 1. Advent, die man jedes Jahr austauschen muss.
Danke
Gruß
Nico
openHAB 5.0.3 im Docker@Synology
- peter-pan
- Beiträge: 2819
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Rule - Xmas-Beleuchtung
Ich habe ein ähnliche Wihnachtsschaltung, auch hier aus dem Forum, die ich zwar im Moment nicht benutze, aber die zu funktionieren scheint, wenn ich sie mit einem Dummy-Item (Dummy_1) steuere.
Ich werde es aber nachher (16:30) nochmal "live" testen.
Was mir allerdings aufgefallen ist, dass du als LogLevel "logDebug" verwendest. Das habe ich auch mal mit meiner Regel probiert und keine Log-Ausgabe erhalten.
.rules
Das Test-Item, welches ich für das An- und Ausschalten benutze, heisst "Dummy_5".
Ich werde es aber nachher (16:30) nochmal "live" testen.
Was mir allerdings aufgefallen ist, dass du als LogLevel "logDebug" verwendest. Das habe ich auch mal mit meiner Regel probiert und keine Log-Ausgabe erhalten.
.rules
Code: Alles auswählen
rule "Weihnachtsschaltung1"
when
Item Dummy_1 changed to ON
or Time cron "0 0 16 * * ? *" or
Time cron "0 30 20 * * ? *"
then
var vXMasDayNumber = LocalDate.of(now.year,12,24).getDayOfYear() // Heiligabend - Tag des Jahres - Day of the Year
var vWeekDayXMAS = LocalDate.of(now.year,12,24).getDayOfWeek().getValue // Heiligabend - Christmas eve - Wochentag - Day of the Week
if (vWeekDayXMAS == 7) {
vWeekDayXMAS = 0 // Wenn Sonntag, dann Heiligabend und 4.Advent gleich - if Christmas eve is Sunday it equals to 4. Advent
logInfo("advent1", "Heiligabend und 4 Advent sind gleich {} ", vWeekDayXMAS)
} // Wenn Sonntag, dann Heiligabend und 4.Advent gleich - if Christmas eve is Sunday it equals to 4. Advent
else {
logInfo("advent1", "Heiligabend und 4 Advent sind nicht gleich {} ", vWeekDayXMAS)
}
var vFirstAdventDate = LocalDate.of(now.year,12,24).withDayOfYear(vXMasDayNumber - vWeekDayXMAS - 21) // 1. Advent
var vFirstAdventDay = vFirstAdventDate.getDayOfYear // Tag-Nr. 1. Advent
logInfo("advent1_1", "1.Advent ist am {}, der {} Tag des Jahres", vFirstAdventDate, vFirstAdventDay)
var vMemorialDayDate = LocalDate.of(now.year,12,24).withDayOfYear(vXMasDayNumber - vWeekDayXMAS - 28) // Totensonntag
var vMemorialDayDay = vMemorialDayDate.getDayOfYear // Tag-Nr. des Totensonntag
logInfo("advent1_2", "Totensonntag ist am {} Tag des Jahres", vMemorialDayDay)
val vHourMinute = Integer::parseInt(now.toLocalTime().getHour.toString + now.toLocalTime().getMinute.toString) // Stunde + Minute für Vergleich ob Ein- oder Ausschaltzeit (Minute kann ggf. weggelassen werden)
// val vHourMinute1 = Integer::parseInt((now.toLocalTime().getHour * 60).toString + now.toLocalTime().getMinute.toString) // Minuten seit Tagesanfang - auch eine Möglichkeit
val vDateOfDayOfYear = ZonedDateTime.now.with(LocalTime.of(0,0,0,0)).withDayOfYear(vFirstAdventDay) // Umrechnung Tag des Jahres in ein Datum, in diesem Falle Tag des 1. Advents
val vDateOfDayOfYear1 = ZonedDateTime.now.withDayOfYear(vFirstAdventDay) // Umrechnung Tag des Jahres in ein Datum, in diesem Falle Tag des 1. Advents mit al#ktueller Uhrzeit
logInfo("advent1_3", "1.Advent ist am: {} {} {}", vDateOfDayOfYear, vDateOfDayOfYear1, vHourMinute)
Date1stAdvent.postUpdate(new DateTimeType(vDateOfDayOfYear))
// 1 Advent Berechnung von udo1toni
val firstAdvent = LocalDate.of(now.getYear,12,25).minusDays(LocalDate.of(now.getYear,12,25).getDayOfWeek.getValue + 21)
val intStAdvent = firstAdvent.getDayOfYear
logInfo("advent1_4","Der erste Advent ist am {}, der {} Tag im Jahr", firstAdvent, intStAdvent)
// Ist es Weihnachtszeit ?
if (now.getDayOfYear < 7 || now.getDayOfYear > vMemorialDayDay) {
logInfo("advent1_4a", "Status Dummy_5 {}", Dummy_5.state)
// Ist es Einschaltzeit ? -> an Cron anpassen
if (vHourMinute >= 1600 && vHourMinute <= 2029) {
if (Dummy_5.state != ON) {
Dummy_5.sendCommand(ON)
logInfo("advent1_5", "Beleuchtung eingeschaltet {}", Dummy_5.state)
}
}
// Ist es Ausschaltzeit ? -> an Cron anpassen
if (vHourMinute >= 2030) {
if (Dummy_5.state != OFF) {
Dummy_5.sendCommand(OFF)
logInfo("advent1_6", "Beleuchtung ausgeschaltet {}", Dummy_5.state)
}
}
}
else {
logInfo("advent1_7", "Es ist keine Weihnachtszeit")
return;
}
endPi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.3 openhabian