Seit Openhab 2.5 ist die Funktion Ephemeris in OpenHAB integriert.
Ephemeris kann den Status von Feiertagen, Wochenende und selbst definierten Daten ermitteln, darstellen und in Rules verarbeiten.
Bei Feiertagen werden sogar die Unterschiede der verschiedenen Bundesländer berücksichtigt.
Ephemeris schreit gerade förmlich nach einer Integration in Licht/Jalousie/Heizungsrules, da bspw eure smarte Heizung sich tagsüber so an einem Feiertag der in der Woche liegt nicht runterregelt.
Bei Jalousien ist eine spätere Öffnung an Feiertagen und Wochenenden (ging vorher auch etwas umständlicher) ebenso möglich....genau wie das spätere automatisierte schließen, wenn am nächten Tag ein Feiertag oder Wochenende ist.
Geburtstage, Hochzeitstage usw usw sind natürlich auch möglich. Das stärkt eure Position beim WAF
Ich hab mich gestern abend das erste mal an Ephemeris rangesetzt.
Wer Lust hat, der kann sich ja an diesem Thread beteilligen um optimale Rules zu erstellen.
Vorbereitung:
1. Datei /srv/openhab2-conf/services/runtime.cfg öffnen und die ggf. vorhandenen Zeilen
org.openhab.ephemeris:dayset-weekend=[SATURDAY,SUNDAY] sowie org.openhab.ephemeris:dayset-school=[MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY] löschen.
2. eine Datei erstellen sudo nano /srv/openhab2-conf/services/ephemeris.cfg. Folgendes in die Datei rein:
country=de
region=be
dayset-weekend = [SATURDAY,SUNDAY]
dayset-school = [MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY]
Den Regionscode bitte auf Euren Wert anpassen....be steht in meinem Beispiel für Berlin.
Regionscodes findet ihr hier https://github.com/svendiedrichse…Holidays_de.xml immer unter dem Punkt hierarchy
Alles abspeichern und OpenHAB neustarten
Folgende Sachen hab ich mir bisher per Rule zusammengestellt. Das ganze könnte eine Rule für abends werden, da ich berechne ob am kommenden Tag ein Feiertag oder Wochenende ist :
Items Datei (den Dummy nutzen wir temporär als Rule Trigger, später übernimmt das natürlich ein cron):
Switch Dummy
Sitemap Datei:
Switch item=Dummy
Rules Datei:
rule "dummy"
when
Item Dummy received update
then
val String FeiertagName = Ephemeris.getNextBankHoliday()
val long TagebisFeiertag = Ephemeris.getDaysUntil(FeiertagName)
val String morgenWochenende = Ephemeris.isWeekend(1)
if (TagebisFeiertag < 2 || morgenWochenende == true) {
logInfo("Info","Morgen ist Wochenende oder Feiertag")
}
else {
logInfo("Info","Morgen ist kein Wochenende und Feiertag ist erst in " + TagebisFeiertag + " Tagen")
}
end
Alles anzeigen
was mich irritiert, das es keine Ephemeris Variable für getNextWeekend zu geben scheint....find ich doof.
Verbesserungsvorschläge zur Errechnung für eine Abendrule @TehTux oder @Momo90 ?