Ephemeris - neue OpenHAB Funktion - Brainstorming

  • Hmmm
    okay Wecker am 25.12. Vielleicht habe ich mich da vertan.

    gibt doch den gewünschten Alarm

    Code
    2022-12-18 11:58:10.597 [INFO ] [org.openhab.core.model.script.Info  ] - Nächster Wecker ist in 7Tagen
    2022-12-18 11:58:10.603 [INFO ] [org.openhab.core.model.script.Info  ] - Nächster Feiertag ist FIRST_CHRISTMAS_DAY in 7Tagen
    2022-12-18 11:58:10.666 [INFO ] [org.openhab.core.model.script.Info  ] - Wecker am Feiertag


    Aber die 2. Regel mit den eigenen Feiertagen verhält sich seltsam:
    Heilig Abend am 24.12. wird gefunden, aber warum ist die Differenz -1?

    Code
    2022-12-18 12:01:34.506 [INFO ] [org.openhab.core.model.script.Info  ] - Nächster Wecker ist in 6Tagen
    2022-12-18 12:01:34.508 [INFO ] [org.openhab.core.model.script.Info  ] - Nächster Feiertag ist in -1Tagen
    2022-12-18 12:01:34.511 [INFO ] [org.openhab.core.model.script.Info  ] - Nächster Feiertag ist Heilig Abend
    2022-12-18 12:01:34.513 [INFO ] [org.openhab.core.model.script.Info  ] - alles gut
  • Das wäre einen Versuch wert.

    ich dachte (und wenn ein Satz schon so beginnt.... )
    das

    Code
    val telegramAction = getActions("telegram","telegram:telegramBot:bot")
    val String FeiertagName2 = Ephemeris.getNextBankHoliday('/srv/openhab-conf/services/mehrfeiertage.xml')
    val long TagebisFeiertag2 = Ephemeris.getDaysUntil(FeiertagName2)
    //val heuteWochenende = Ephemeris.isWeekend(0)

    dann in Zeile 3 die Tage bis zum Feiertag2, der aus der eigenen xml kommt, berechnet wird.

    Ich frage mich ausserdem, ob man das ganze nicht irgendwie eleganter in eine Regel packen kann die dann auf die System Feiertage und die eigenen zugreift?
    Weiter habe ich noch nicht verstanden wie man die Feirtage dann übersetzen lässt.
    Ich habe die https://github.com/svendiedrichse…s_de.properties nach in den services-ordner gepackt. aber das reicht wohl nicht.

  • Das funktioniert so, wie ich geschrieben habe. Ich hatte es vorher ausprobiert.
    Du musst die Datei angeben, weil die Methode ja sonst nicht weiß, in welcher Datei sie nach dem Namen suchen soll.

    Wenn deine zwei Rules oben nicht nur für einen Test gedacht ist, würde ich das auf jeden Fall anders machen. Es ist nicht so gut, wenn man mehr als eine Rule hat mit dem selben Trigger. Das kann ggf. zu komischen Effekten führen, spätestens wenn dann noch irgendwelche Abhängigkeiten auftauchen.
    Wenn du das in einer Rule machst, musst du halt prüfen, welcher Feiertag zu erst kommt und den dann benutzen.

  • Weiter habe ich noch nicht verstanden wie man die Feirtage dann übersetzen lässt.
    Ich habe die https://github.com/svendiedrichse…s_de.properties nach in den services-ordner gepackt. aber das reicht wohl nicht.

    Ich habe mir das gerade noch einmal angeschaut. Du musst dafür die Funktion Ephemeris.getHolidayDescription(FeiertagName2) benutzen.

    Also z.B. so:
    val String deutsch = Ephemeris.getHolidayDescription(FeiertagName2)

  • Man könnte sich natürlich ein Script schreiben, dass über die Kalender API die "Feiertage" bezieht und die in eine XML schreibt… vielleicht wenn ich mal langeweile habe… :D

    Hab mal was mit Node.js gebastelt…

    Link zur ICS-Datei der Stadt rein und raus kommt:


    :thumbup:

    Hattest Du schon Langeweile??

    Es sieht für mich so aus, als würde mein Entsorger auch was verwertbares bereit stellen.

  • Das kann man allerdings auch über das Bindung "iCalendar" machen. Anders als der Name vermuten lässt, ist das nicht (nur) für Apples iCloud Kalender. Ich frage damit einen Google Kalender ab, um den Ladebeginn meines E-Autos zu setzen.

    Aber mal eine Frage am Rande. Ist so etwas den ganzen Aufwand wert? Mein Handy erinnert mich sehr zuverlässig an die Müllabfuhr. Ich wüsste nicht, was ich mit diesen infos zusätzlich in OH anfangen sollte ...

  • Das kann man allerdings auch über das Bindung "iCalendar" machen. Anders als der Name vermuten lässt, ist das nicht (nur) für Apples iCloud Kalender. Ich frage damit einen Google Kalender ab, um den Ladebeginn meines E-Autos zu setzen.

    Aber mal eine Frage am Rande. Ist so etwas den ganzen Aufwand wert? Mein Handy erinnert mich sehr zuverlässig an die Müllabfuhr. Ich wüsste nicht, was ich mit diesen infos zusätzlich in OH anfangen sollte ...

    Viele Wege führen nach Rom......

    Danke für den Tipp mit iCalendar.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!