Gerne, wenn ich helfen kann

Gerne, wenn ich helfen kann
Nein
Moin Udo (da zitiert) aber auch alle anderen
Code: Alles auswählen
rule Feiertage
when
Time cron "5 0 0 * * ?" or
Item vSystemRestart changed to ON or
System started
then
val String strHoliday = '/etc/openhab/services/holidays_de.xml'
val String strSpecialday = '/etc/openhab/services/specialdays.xml'
val dtDate = new DateTimeType().zonedDateTime.plusDays(0)
var String strToday = "regular"
if (Ephemeris.isBankHoliday(dtDate, strHoliday)) {
strToday = Ephemeris.getHolidayDescription(Ephemeris.getBankHolidayName(dtDate, strHoliday))
Holiday.postUpdate(ON)
} else {
Holiday.postUpdate(OFF)
if (Ephemeris.isBankHoliday(dtDate, strSpecialday))
strToday = Ephemeris.getBankHolidayName(dtDate, strSpecialday)
}
TodayIs.postUpdate(strToday)
logInfo("Ephemeris", "Heute ist: {}", strToday)
logInfo("Ephemeris", "Feiertag: {}", Holiday.state.toString)
end
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<tns:Configuration hierarchy="de" description="Germany" xmlns:tns="http://www.example.org/Holiday"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/Holiday /Holiday.xsd">
<tns:Holidays>
<tns:ChristianHoliday type="CARNIVAL"/> <!-- dayOfYear==easterSunday.getDayOfYear-48 -->
<tns:ChristianHoliday type="MAUNDY_THURSDAY"/> <!-- dayOfYear==easterSunday.getDayOfYear-3 -->
<tns:Fixed day="29" month="JUNE" descriptionPropertiesKey="ST_PETER_PAUL"/>
<!-- dayOfYear==stAdvent.getDayOfYear-14 // "remembrance_day" // Volkstrauertag -->
<!-- dayOfYear==stAdvent.getDayOfYear-7 // "sunday_in_commemoration_of_the_dead" // Totensonntag -->
<tns:Fixed day="04" month="DECEMBER" descriptionPropertiesKey="ST_BARBARAS_DAY"/> <!-- Barbara Tag -->
<tns:Fixed day="06" month="DECEMBER" descriptionPropertiesKey="ST_NICHOLAS"/> <!-- Nicolaus Tag -->
<tns:FixedWeekdayRelativeToFixed which="FIRST" weekday="SUNDAY" when="BEFORE" descriptionPropertiesKey="FOURTH_ADVENT" localizedType="OFFICIAL_HOLIDAY">
<tns:day month="DECEMBER" day="25"/>
</tns:FixedWeekdayRelativeToFixed>
<tns:FixedWeekdayRelativeToFixed which="SECOND" weekday="SUNDAY" when="BEFORE" descriptionPropertiesKey="THIRD_ADVENT" localizedType="UNOFFICIAL_HOLIDAY">
<tns:day month="DECEMBER" day="25"/>
</tns:FixedWeekdayRelativeToFixed>
<tns:FixedWeekdayRelativeToFixed which="THIRD" weekday="SUNDAY" when="BEFORE" descriptionPropertiesKey="SECOND_ADVENT" localizedType="UNOFFICIAL_HOLIDAY">
<tns:day month="DECEMBER" day="25"/>
</tns:FixedWeekdayRelativeToFixed>
<tns:FixedWeekdayRelativeToFixed which="FOURTH" weekday="SUNDAY" when="BEFORE" descriptionPropertiesKey="FIRST_ADVENT" localizedType="UNOFFICIAL_HOLIDAY">
<tns:day month="DECEMBER" day="25"/>
</tns:FixedWeekdayRelativeToFixed>
</tns:Holidays>
</tns:Configuration>
Code: Alles auswählen
holiday.description.FIRST_ADVENT = 1. Advent
holiday.description.SECOND_ADVENT = 2. Advent
holiday.description.THIRD_ADVENT = 3. Advent
holiday.description.FOURTH_ADVENT = 4. Advent
Code: Alles auswählen
strToday = Ephemeris.getHolidayDescription(Ephemeris.getBankHolidayName(dtDate, strSpecialday))
Code: Alles auswählen
strToday = transform("MAP", "holidays_DE.map", Ephemeris.getBankHolidayName(dtDate, strHoliday).toString)
Code: Alles auswählen
ALL_SAINTS = Allerheiligen
ALL_SOULS = Aller Seelen
ASSUMPTION_DAY = Mari\u00E4 Himmelfahrt
ASSUMPTION_MARY = Mari\u00E4 Himmelfahrt
BANK_HOLIDAY = Bank Feiertag
BEER_DAY = Bier Tag
CHRISTMAS = Weihnachten
CHRISTMAS_EVE = Heiligabend
CONSOLIDATION = Tag der Einheit
CONSTITUTION_DAY = Tag der Verfassung
CYBER_MONDAY = Cyber Monday
DAY_AFTER_NEW_YEAR = Tag nach Neujahr
EUROPE_DAY = Europatag
LABOUR_DAY = Tag der Arbeit
MAY_DAY = Mai-Tag
MOTHERS_DAY = Muttertag
NATIONAL_DAY = Nationalfeiertag
NEW_YEAR = Neujahr
NEW_YEARS_EVE = Silvester
REFORMATION_DAY = Reformationstag
REGIONAL = Regionaler Feiertag
THREE_HIERARCHS = Die 3 Heiligen
UNIFICATION = Tag der Wiedervereinigung
UNIFICATION_GERMANY = Tag der Deutschen Einheit
christian.ASCENSION_DAY = Christi Himmelfahrt
christian.ASH_WEDNESDAY = Aschermittwoch
christian.CARNIVAL = Karneval
christian.CLEAN_MONDAY = Aschermontag
christian.CORPUS_CHRISTI = Fronleichnam
christian.EASTER = Ostern
christian.EASTER_MONDAY = Ostermontag
christian.EASTER_SATURDAY = Ostersamstag
christian.EASTER_TUESDAY = Fastnachtdienstag
christian.GENERAL_PRAYER_DAY = Allg. Bettag
christian.GOOD_FRIDAY = Karfreitag
christian.MAUNDY_THURSDAY = Gr\u00FCndonnerstag
christian.PENTECOST = Pfingsten
christian.PENTECOST_MONDAY = Pfingstmontag
christian.SHROVE_MONDAY = Aschermontag
christian.WHIT_MONDAY = Pfingstmontag
christian.WHIT_SUNDAY = Pfingstsonntag
FIRST_CHRISTMAS_DAY = 1. Weihnachtsfeiertag
SECOND_CHRISTMAS_DAY = 2. Weihnachtsfeiertag
-=-
undefined=-
no_holiday=kein Feiertag
UNDEF=-
NULL=-
kein Feiertag=kein Feiertag