Gerne, wenn ich helfen kannPJH hat geschrieben: 22. Dez 2023 13:30 Peter, ich würde dann, wenn Du gestattest, noch einmal auf dich zukommen.
[solved] Ein Newbie benötigt Hife bei einer Rule
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian
-
PJH
- Beiträge: 135
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Hallo udo1toni,
ich habe mich mit Ephemeris ein bisschen umgesehen, richtig verstehen tue ich es (noch) nicht.
Ab er sehe ich es richtig, dass man für jedes Jahr die Holiday-Datei händisch anpassen muss?
ich habe mich mit Ephemeris ein bisschen umgesehen, richtig verstehen tue ich es (noch) nicht.
Ab er sehe ich es richtig, dass man für jedes Jahr die Holiday-Datei händisch anpassen muss?
openHAB 4.3 im Synology NAS Docker-Container.
- udo1toni
- Beiträge: 15440
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
NeinPJH hat geschrieben: 24. Dez 2023 13:58 sehe ich es richtig, dass man für jedes Jahr die Holiday-Datei händisch anpassen muss?
Du kannst selbstverständlich auch andere (bevorzugt wiederkehrende) Ereignisse hier einspeichern, z.B. Geburtstage oder Ferien.
Bei den Ferien ist es natürlich so, dass Du die pro Jahr händisch anpassen musst, weil es halt leider keine vernünftige Schnittstelle der Kultusministerien für die Ferientermine gibt (ist wohl auch zu viel verlangt - das Internet ist schließlich Neuland für uns alle...
Allerdings kannst Du einfach die Ferientermine für die nächsten Jahre eintragen, Du musst das also nicht jährlich anpassen, sondern nur dann, wenn die Termine ausgehen
Als Beispiel wäre in der verlinkten Datei der Reformationstag, der früher einmal Feiertag war, jetzt nur noch in einigen Bundesländern, aber zum 500. Jubiläum (Äh... Geburtstag von Luther) wurde er einmalig bundesweit begangen und ist auch so in der xml-Datei hinterlegt.
Auch der Tag der deutschen Einheit ist hier mit dem 17. Juni hinterlegt, halt nur bis 1990 und ab da war es dann der 3. Oktober. Interessanterweise werden hier zwei unterschiedliche Namen verwendet, das ist aber nicht zwingend.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)
-
int5749
- Beiträge: 1185
- Registriert: 4. Nov 2019 22:08
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Moin Udo (da zitiert) aber auch alle anderenudo1toni hat geschrieben: 22. Dez 2023 14:55 Man kann in dieser Datei auch die Adventssonntage mit abbilden.
Erst einmal hoffe ich, dass Alle ein besinnliches Weihnachtsfest hatten.
Wie Du schreibst, habe ich die Extratage (nicht als Feiertag deklariert) bei Ephemeris eingearbeitet. Das funktioniert auch, bis auf die deutsche Übersetzung :-/ Hast Du damit schon weiter experimentiert?
Meine Rule dazu lautet
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
Evtl. liegt es daran, dass ich keinen Verweis auf meine lokale holiday_descriptions_de.properties angegeben habe? Jedoch hatte ich bisher keinen Hinweis gefunden, wo man das angeben müsste?
Viele Grüße
Jörg
openHAB Milestone 5.1.0.M1 mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 9.0.11
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
...müsstest du da nicht auch mit der Methode "Ephemeris.getHolidayDescription" im Else-Zweig arbeiten ? Also etwa so
Code: Alles auswählen
strToday = Ephemeris.getHolidayDescription(Ephemeris.getBankHolidayName(dtDate, strSpecialday))Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian
-
nw378
- Beiträge: 345
- Registriert: 22. Sep 2018 10:38
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Ich - und auch zuvor andere in diesem Forum - haben sich die Finger gebrochen an der deutschen Übersetzung mittels getHolidayDescription:
viewtopic.php?p=57463&hilit=getHolidayD ... ion#p57463
Was stattdessen funktioniert ist die MAP Transformation (MAP muss als Addon installiert sein):
Inhalt der holidays_DE.map Datei (gespeichert unter /etc/openhab/transform):
viewtopic.php?p=57463&hilit=getHolidayD ... ion#p57463
Was stattdessen funktioniert ist die MAP Transformation (MAP muss als Addon installiert sein):
Code: Alles auswählen
strToday = transform("MAP", "holidays_DE.map", Ephemeris.getBankHolidayName(dtDate, strHoliday).toString)
Inhalt der holidays_DE.map Datei (gespeichert unter /etc/openhab/transform):
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
Zuletzt geändert von nw378 am 29. Dez 2023 16:10, insgesamt 2-mal geändert.
openHAB 5.0.2 @ RPi 5 / M.2 SSD - openhabian/Debian 13.1 (trixie) - InfluxDB2 und Grafana @ Synology Docker - KNX, Viessmann vcontrol, u.v.m.
- udo1toni
- Beiträge: 15440
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Ich kann bestätigen, dass entgegen der Dokumentation die Datei mit der Übersetzung gar nicht verwendet wird, stattdessen übersetzt Ephemeris fröhlich, ohne dass die Datei überhaupt existiert.
Einen Hinweis, wie und wo man das fixen kann, suche ich aber auch gerade.
Einen Hinweis, wie und wo man das fixen kann, suche ich aber auch gerade.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Ich bin auch gerade am suchen. Ich habe auch die Bemühungen von Jörg in 12/2021 im internationalen Forum gesehen. Aber es ist wohl seither nichts passiert, oder es wurde nichts gemacht bzw. es wurde nicht darauf reagiert.
Es sollte ja eigentlich nicht nötig sein, "von hinten durch die Brust ins Auge" mit einer zusätzlichen Transformation zu arbeiten.
Es sollte ja eigentlich nicht nötig sein, "von hinten durch die Brust ins Auge" mit einer zusätzlichen Transformation zu arbeiten.
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian
-
int5749
- Beiträge: 1185
- Registriert: 4. Nov 2019 22:08
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
peter-pan hat geschrieben: 29. Dez 2023 16:12 Ich habe auch die Bemühungen von Jörg in 12/2021 im internationalen Forum gesehen. Aber es ist wohl seither nichts passiert, oder es wurde nichts gemacht bzw. es wurde nicht darauf reagiert.
Ich habe dazu mal ein neues Issue aufgemacht, mal sehen ob dort eine Reaktion kommt => Community
openHAB Milestone 5.1.0.M1 mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 9.0.11
- udo1toni
- Beiträge: 15440
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
So ist es
Noch dazu wo die Übersetzung ja sehr wohl funktioniert, nur halt nicht mit einer selbst angelegten Datei, sondern nur über den Cache, den jollyday selbst verwaltet (wenn ich den Code richtig interpretiert habe... da kein "ernsthaftes" Java Program ohne hundertfache Weiterleitung um tausend Ecken auszukommen scheint, ist das für Nicht-Programmierer etwas schwer zu verstehen.
Bei mir entsteht immer wieder mal der Eindruck, dass diese Art Code zu schreiben Selbstzweck ist - wäre ja noch schöner, wenn jeder Hans und Franz da eingreifen könnte...
Bei mir entsteht immer wieder mal der Eindruck, dass diese Art Code zu schreiben Selbstzweck ist - wäre ja noch schöner, wenn jeder Hans und Franz da eingreifen könnte...
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)