📅 Annuals – Geburtstage, Jahrestage, Feiertage, Ferien & mehr in Home Assistant

Hallo zusammen! :waving_hand:

Ich möchte euch heute meine Home-Assistant-Integration Annuals vorstellen.

Angefangen hat alles mit einem einfachen Wunsch: Geburtstage und Jahrestage vernĂŒnftig in Home Assistant verwalten – mit Countdown, Alter/Jahren und einer schönen Darstellung im Dashboard.

Inzwischen ist daraus einiges mehr geworden. :grinning_face_with_smiling_eyes:

:birthday_cake: Alles, was irgendwann wiederkommt – und mehr

Mit Annuals könnt ihr unter anderem verwalten:

:birthday_cake: Geburtstage – inklusive Alter und nĂ€chstem Geburtstag
:ring: Jahrestage – inklusive Anzahl der Jahre
:tada: Eigene jÀhrliche Events
:clipboard: Wiederkehrende Aufgaben & To-dos
:date: Einmalige und mehrtĂ€gige Events – z. B. den nĂ€chsten Urlaub
:globe_showing_europe_africa: Feiertage fĂŒr 250+ LĂ€nder und Regionen
:school: Schulferien – inklusive regionaler Unterschiede
:globe_with_meridians: 15 unterstĂŒtzte Sprachen – sowohl in der Integration als auch in der Annuals Card

Alle EintrĂ€ge stehen als normale Home-Assistant-EntitĂ€ten zur VerfĂŒgung und können damit natĂŒrlich auch in Automationen und eigenen Karten verwendet werden.

:globe_showing_europe_africa: Feiertage – einmal einrichten und fertig

Land und gegebenenfalls Bundesland auswĂ€hlen – den Rest ĂŒbernimmt Annuals.

Die Feiertage werden automatisch fĂŒr die kommenden Jahre aktualisiert. Ihr mĂŒsst also nicht jedes Jahr neue Termine importieren oder eure Automationen anpassen.

Auch die Namen der Feiertage können in unterschiedlichen Sprachen importiert oder individuell angepasst werden.

:school: Schulferien – und zwar die Tage, die wirklich zĂ€hlen

Auch Schulferien werden automatisch von Jahr zu Jahr aktualisiert und regionale Unterschiede berĂŒcksichtigt.

Eine Besonderheit: Offizielle Feriendaten entsprechen nicht immer dem tatsÀchlichen Zeitraum, in dem Familien unterwegs sein können.

Beginnen die Ferien offiziell beispielsweise am Montag und enden am Freitag, kann Annuals daraus automatisch den tatsÀchlichen Zeitraum Samstag bis Sonntag berechnen.

Das kann nicht nur fĂŒr Countdowns interessant sein, sondern beispielsweise auch fĂŒr Reise- und Verkehrsplanung oder entsprechende Automationen.

Ihr könnt außerdem entscheiden, ob ihr Ferienbeginn, Ferienende oder jeden einzelnen Ferientag als Event benötigt.

:beach_with_umbrella: Und der eigene Urlaub?

NatĂŒrlich darf der wichtigste Urlaub nicht fehlen. :wink:

Mit einmaligen und mehrtÀgigen Events könnt ihr beispielsweise euren nÀchsten Urlaub hinterlegen:

:italy: Italien · 22. August – 5. September

Annuals zÀhlt die Tage bis zur Abreise und zeigt auch laufende mehrtÀgige Events entsprechend an.

:desktop_computer: Eine Karte fĂŒr alles

Dazu gibt es eine eigene Annuals Lovelace Card mit verschiedenen Layouts, Filtern und Darstellungsoptionen.

Wer bereits eine andere Kalenderkarte verwendet, muss aber nicht wechseln: Annuals stellt Kalender-EntitÀten bereit und bestehende Home-Assistant-Kalender können umgekehrt auch direkt in die Annuals Card integriert werden.

Weitere Screenshots findet ihr hier:
GitHub

:backhand_index_pointing_right: https://github.com/somansch/annuals

Ich freue mich ĂŒber Feedback, Ideen und Bug Reports. Gerade bei Feiertagen und Schulferien gibt es international erstaunlich viele SonderfĂ€lle – falls euch etwas auffĂ€llt, gerne melden!

:star: Und wenn euch Annuals gefĂ€llt, wĂŒrde ich mich sehr ĂŒber einen Star auf GitHub freuen. Das hilft dem Projekt, sichtbarer zu werden und motiviert natĂŒrlich auch fĂŒr die nĂ€chsten Features. :folded_hands:

Vielen Dank vorab und viele GrĂŒĂŸe

Andreas

9 „GefĂ€llt mir“

Herzlich Willkommen bei uns im Forum.

3 „GefĂ€llt mir“

Mit dieser Integration lÀsst sich dann auch der heutige Feiertag international in einem Eintrag abbilden :wink:

2 „GefĂ€llt mir“

Willkommen im Forum. Ich habe deine Integration bei mir schon ein paar Wochen am Laufen. GefÀllt mir sehr gut :+1:

4 „GefĂ€llt mir“

Und Österreich.

Ich fĂŒhle mich diskriminiert!

7 „GefĂ€llt mir“

Das darf natĂŒrlich nicht sein :laughing:. Habe jetzt bei mir noch die Feiertage des befreundeten Nachbarlands hinzugefĂŒgt.

7 „GefĂ€llt mir“

GrĂŒĂŸ dich Andreas und willkommen in dieser Gemeinschaft. :+1: :waving_hand:

3 „GefĂ€llt mir“

Herzlich Willkommen somansch

3 „GefĂ€llt mir“

Hier die FeiertagsĂŒbersetzungen fĂŒr die Schweiz, Italien, Spanien, Frankreich, UK und die Niederlande. Sorry, Österreich ist nicht dabei :wink:

country,subdivision,category,holiday_key,observed,language,name
CH,,public,Neujahrstag,,de,Neujahr
CH,,public,Auffahrt,,de,Christi Himmelfahrt
CH,,public,Weihnachten,,de,Erster Weihnachtstag
CH,ZH,public,Tag der Arbeit,,de,Erster Mai
CH,ZH,public,Stephanstag,,de,Zweiter Weihnachtstag
IT,,public,Capodanno,,de,Neujahr
IT,,public,Epifania,,de,Heilige Drei Könige
IT,,public,Pasqua,,de,Ostersonntag
IT,,public,LunedĂŹ dell'Angelo,,de,Ostermontag
IT,,public,Festa del Lavoro,,de,Erster Mai
IT,,public,Assunzione della Beata Vergine Maria,,de,MariÀ Himmelfahrt
IT,,public,Giorno dell'unitĂ  nazionale; Ognissanti,,de,Allerheiligen
IT,,public,Natale,,de,Erster Weihnachtstag
IT,,public,Santo Stefano,,de,Zweiter Weihnachtstag
FR,,public,Jour de l'an,,de,Neujahr
FR,,public,Lundi de PĂąques,,de,Ostermontag
FR,,public,Lundi de PentecĂŽte,,de,Pfingstmontag
FR,,public,FĂȘte du Travail,,de,Erster Mai
FR,,public,Ascension,,de,Christi Himmelfahrt
FR,,public,Assomption,,de,MariÀ Himmelfahrt
FR,,public,Toussaint,,de,Allerheiligen
FR,,public,Noël,,de,Erster Weihnachtstag
ES,,public,Año Nuevo,,de,Neujahr
ES,,public,Epifanía del Señor,,de,Heilige Drei Könige
ES,,public,Viernes Santo,,de,Karfreitag
ES,,public,Fiesta del Trabajo,,de,Erster Mai
ES,,public,Asunción de la Virgen,,de,MariÀ Himmelfahrt
ES,,public,Natividad del Señor,,de,Erster Weihnachtstag
ES,MD,public,Jueves Santo,,de,GrĂŒndonnerstag
ES,MD,public,Lunes siguiente a Todos los Santos,,de,Allerheiligen
GB,,public,Good Friday,,de,Karfreitag
GB,,public,May Day,,de,Erster Mai
GB,,public,New Year's Day,,de,Neujahr
GB,,public,New Year's Day,1,de,Neujahr
GB,,public,Christmas Day,,de,Erster Weihnachtstag
GB,,public,Christmas Day,1,de,Erster Weihnachtstag
GB,,public,Boxing Day,,de,Zweiter Weihnachtstag
GB,,public,Boxing Day,1,de,Zweiter Weihnachtstag
GB,ENG,public,Easter Monday,,de,Ostermontag
NL,,public,Nieuwjaarsdag,,de,Neujahr
NL,,public,Goede Vrijdag,,de,Karfreitag
NL,,public,Eerste paasdag,,de,Ostersonntag
NL,,public,Tweede paasdag,,de,Ostermontag
NL,,public,Hemelvaartsdag,,de,Christi Himmelfahrt
NL,,public,Tweede Pinksterdag,,de,Pfingstmontag
NL,,public,Eerste Kerstdag,,de,Erster Weihnachtstag
NL,,public,Tweede Kerstdag,,de,Zweiter Weihnachtstag

Diese kann man ĂŒber „Feiertags-Übersetzungen“ als CSV importieren.

4 „GefĂ€llt mir“

:artist_palette: Annuals v3.1.0 – eure Card, euer Layout

Mit Annuals v3.1.0 lag der Fokus ganz klar auf einem Thema: noch mehr Freiheit bei der Gestaltung der Annuals Card. :rocket:

Statt euch auf ein bestimmtes Layout festzulegen, könnt ihr jetzt noch stÀrker selbst entscheiden, wie eure Events dargestellt werden sollen.

:artist_palette: Mehr FlexibilitÀt

Die einzelnen Elemente der Card lassen sich noch umfangreicher kombinieren, anordnen und gestalten.

Date Block, Icon, Accent Bar, Name, Countdown, Timeline, Badges und weitere Elemente können individuell konfiguriert werden.

Auch Farben lassen sich gezielt nach Event-Typ und Status vergeben – beispielsweise fĂŒr Geburtstage, Feiertage, Ferien oder externe Kalender sowie fĂŒr Events, die heute stattfinden oder kurz bevorstehen.

Damit kann dieselbe Annuals Card je nach Konfiguration komplett unterschiedlich aussehen.

:sparkles: Neue Presets

Damit ihr nicht bei jeder Card bei null anfangen mĂŒsst, gibt es jetzt drei Presets:

Default · Agenda · Minimal

Ein Klick genĂŒgt fĂŒr ein komplettes Grundlayout – danach könnt ihr es natĂŒrlich beliebig weiter anpassen.

Die neue Agenda-Ansicht ist dabei von der großartigen Calendar Card Pro inspiriert und bringt eine kompakte, kalenderĂ€hnliche Darstellung zu Annuals.

:gear: Ein aufgerÀumterer Card Editor

Mehr Optionen sollten nicht automatisch einen komplizierteren Editor bedeuten.

Deshalb wurde auch der visuelle Editor ĂŒberarbeitet:

Ihr seht nur noch Konfigurationsmöglichkeiten fĂŒr Elemente, die in eurem aktuellen Layout tatsĂ€chlich aktiv sind.

Kein Date Block? → Keine Date-Block-Einstellungen.
Keine Timeline? → Keine Timeline-Einstellungen.

Dadurch bleibt der Editor trotz der deutlich grĂ¶ĂŸeren Gestaltungsmöglichkeiten ĂŒbersichtlich.

:tear_off_calendar: Neue Trennlinien

FĂŒr lĂ€ngere Eventlisten gibt es außerdem neue Tag-, Wochen- und Monats-Trennlinien.

Gerade bei vielen Feiertagen, Ferien, Geburtstagen und Kalenderterminen macht das die Card deutlich leichter lesbar.

Ich bin gespannt, welche Layouts ihr mit den neuen Möglichkeiten baut – zeigt gerne eure Cards in den Kommentaren! :smiling_face_with_sunglasses:

Feedback, Ideen und Bug Reports sind natĂŒrlich ebenfalls jederzeit willkommen.

:star: Und wenn euch Annuals gefĂ€llt, freue ich mich sehr ĂŒber einen Star auf GitHub. Das hilft dem Projekt, sichtbarer zu werden und motiviert fĂŒr die nĂ€chsten Features. :folded_hands:

Viele GrĂŒĂŸe
Andreas

4 „GefĂ€llt mir“


und wie immer alles direkt per Karteneditor anpassbar „bis der Arzt kommt“ :laughing:
annuals-card-presets-custom

5 „GefĂ€llt mir“

Ein riesiges Dankeschön an alle, die Annuals nutzen, Feedback geben und das Projekt unterstĂŒtzen! :folded_hands:

Inzwischen sind es ĂŒber 300 Downloads und mehr als 50 Stars auf GitHub – großartig zu sehen, wie die Community wĂ€chst! :rocket:

5 „GefĂ€llt mir“

:date: Annuals v3.2.0 – erst die Art, dann die Details

Mit Annuals v3.2.0 Ă€ndert sich, wie ein Event entsteht – und wie viel Platz die Card auf eurem Dashboard braucht. :rocket:

Zwei der grĂ¶ĂŸten Neuerungen kommen dabei direkt aus dem Issue-Tracker. Genau dafĂŒr ist er da!

:birthday_cake: Erst die Frage, dann das passende Formular


Beim Anlegen fragt Annuals jetzt zuerst, worum es ĂŒberhaupt geht: ein jĂ€hrliches Ereignis fĂŒr jemanden, ein einmaliges oder ein frei wĂ€hlbares.

Danach bekommt ihr nur noch die Felder, die zu dieser Art gehören – statt eines langen Formulars mit Hinweisen, welches Feld fĂŒr welchen Typ nicht gilt. Beim Bearbeiten entfĂ€llt die Frage: Das Event hat seine Art ja schon gewĂ€hlt.

:spiral_calendar: Termine, die eine Regel sind – kein Datum

Manche Tage sind kein Datum. Muttertag ist der zweite Sonntag im Mai, in Australien ist Vatertag der erste Sonntag im September. Ein festes Datum wÀre in einem Jahr richtig und in jedem anderen falsch.

Ein frei wĂ€hlbares Event kann deshalb jetzt einer Regel folgen: Ersten / Zweiten / Dritten / Vierten / Letzten + Wochentag + Monat. Damit sind Muttertag, Vatertag, Großelterntag und all die Gedenktage abgedeckt, die die Feiertags-Datenbank gar nicht kennt.

Eure importierten Feiertage bleiben davon unberĂŒhrt – die rechnen ihr Datum ohnehin jedes Jahr selbst aus.

:triangular_ruler: Die Card passt sich jeder GrĂ¶ĂŸe an


In der Sections-Ansicht lĂ€sst sich die Card jetzt richtig in der GrĂ¶ĂŸe verĂ€ndern – der Hinweis „This card does not fully support resizing yet" ist Geschichte. Bis hinunter auf eine einzige Zeile, wenn ihr wollt: oben links eine volle Liste, rechts oben eine Timeline und darunter eine Card mit genau einem Event.

Dazu zwei neue Schalter:

  • Rest einklappen – die Liste zeigt nur die ersten Events, der Rest liegt hinter einem Pfeil. Wie viele sichtbar bleiben, bestimmt ihr ĂŒber Sichtbare Ereignisse.
  • Minimal (eine Zeile, schmaler Rand) – schmalere RĂ€nder, damit ein Event wirklich in eine Zeile passt.

:tear_off_calendar: MehrtÀgige Events aus euren Kalendern

MehrtĂ€gige Ereignisse gilt jetzt auch fĂŒr eingebundene Kalender, nicht mehr nur fĂŒr einmalige Events mit Enddatum. Eine Urlaubswoche aus dem Familienkalender könnt ihr als ersten Tag, letzten Tag, beides oder als eine Zeile pro Tag anzeigen – und jede Zeile sagt dazu, welcher Teil sie ist: Skiurlaub (Start), (Ende), (Tag 3).

:bug: Außerdem behoben

  • Die Card erschien gelegentlich erst nach einem Seiten-Reload.
  • Beim erneuten Import von Feiertagen entstehen keine Duplikate mehr, wenn die Bibliothek einen Namen umbenannt hat – und mehrere Kategorien ergeben jetzt einen Eintrag pro Feiertag.

:folded_hands: Danke!

Ein riesiges Dankeschön an alle, die Annuals nutzen, Feedback geben und Ideen einbringen! Inzwischen sind es 689 Downloads des letzten Releases und ĂŒber 70 Stars auf GitHub – großartig zu sehen, wie es weitergeht. :tada:

:open_book: Release Notes · Changelog · GitHub

Kleiner Hinweis: HACS bietet euch bereits v3.2.1 an – ein reiner Validierungs-Fix, an dem ihr nichts merkt.

5 „GefĂ€llt mir“

:date: v3.3.0 – eine Card, mit der ihr jetzt interagiert

Bisher hat die Annuals Card gezeigt, was kommt. Jetzt könnt ihr durch sie blÀttern, in ihr suchen und eure Events direkt aus ihr heraus anlegen, Àndern und löschen. :rocket:

:spiral_calendar: BlĂ€ttern wie im Kalender – und suchen

Kalendernavigation und Suche in Aktion
Kalendernavigation macht aus der Liste einen Zeitraum nach dem anderen – Tag, Woche, Monat oder Jahr, mit Pfeilen, DatumswĂ€hler und Wisch auf dem Handy; ein Tipp auf den Zeitraum fĂŒhrt zurĂŒck zu heute. Das Suchfeld darunter filtert beim Tippen nach Name, Typ, Feiertagskategorie und Ort.

:pencil: Events direkt in der Card pflegen

Ein + neben dem Titel öffnet das Formular der Integration in einem Dialog ĂŒber dem Dashboard – dieselben Felder wie unter Einstellungen → GerĂ€te & Dienste. Ereignis bearbeiten und löschen legt Stift und Papierkorb ans Zeilenende, ohne eigenen Platz zu brauchen; Beim Klick einblenden holt sie auf Handy und Tablet per Klick hervor. Nur fĂŒr Administratoren, jeder Knopf einzeln abschaltbar und im Editor frei gestaltbar.

:sparkles: Außerdem neu

  • :slightly_smiling_face: Personenbild statt Icon, wenn das Ereignis eine Person hat – auch in der Push-Nachricht des Blueprints.
  • :repeat_button: Alle 6 Monate, alle 2 Jahre – Intervall statt einmal im Jahr: Zahnarzt, TÜV, Reisepass.
  • :hourglass_not_done: Vorbei ist vorbei – ein Termin von 14 bis 15 Uhr ist um 15 Uhr aus der Card. GanztĂ€gige bleiben bis Mitternacht.
  • :straight_ruler: Countdown in Wochen und Monaten – in 3 Monaten statt in 87 Tagen.
  • :high_voltage: Rund dreimal schneller aufgebaut, und der Editor baut sich nicht mehr bei jeder ZustandsĂ€nderung im Haus neu.

:open_book: Release Notes · Changelog · GitHub

5 „GefĂ€llt mir“

Super Integration. :+1:

Mit der Aussicht, keine Geburtstage und Àhnliche AnlÀsse mehr zu vergessen, wÀre meine holde Gattin sogar damit einverstanden, ein Dashboard im Flur aufzuhÀngen. :slightly_smiling_face:

Da man ics-files importieren kann, wÀre auch ein Abfallkalender realisierbar, oder?
Ich habe bereits eine Trash-Card, aber mit Annuals bieten sich evtl. mehr Möglichkeiten.

4 „GefĂ€llt mir“

@Schorsch , danke fĂŒr dein Feedback. Der ICS-Import von Annuals sucht nach ganztĂ€gigen Ereignissen und legt sie dann (natĂŒrlich nach PrĂŒfung durch dich) mit dem entsprechend gefundenem Datum an. Das bringt fĂŒr die Termine des Abfallkalenders nichts, da dort ja die Termine im nĂ€chsten Jahr nicht identisch sind. Ich habe bei mir einfach den Abfallkalender als zusĂ€tzlichen externen Kalender in die Karte aufgenommen. Er hat eine extra Farbe und Symbol

5 „GefĂ€llt mir“

v3.4.0 ist raus:

:check_box_with_check: Nur die Feiertage, die du willst. Der Feiertagsimport hat einen dritten Schritt: alle Feiertage, die Land, Region und Kategorien ergeben, jeweils mit dem nĂ€chsten Datum, in der Reihenfolge, in der sie anstehen – und ein HĂ€kchen fĂŒr jeden. Nur die angehakten werden zu Ereignissen. Kein Import von dreißig Feiertagen mehr, um drei zu behalten.

:chart_increasing: Börsentage. Ereignisse importieren → Börsen holt die Tage, an denen eine Börse geschlossen ist oder frĂŒher schließt, von 25 MĂ€rkten – New York, Nasdaq, London, Frankfurt, ZĂŒrich, Tokio, Hongkong, Sydney und weitere. Das sind keine Feiertage, deshalb sind sie ein eigener Ereignistyp, mit eigenem Kalender, eigenem Filter in der Karte und eigener Farbe – und sie sagen, was sie sind: New York Stock Exchange geschlossen ab 13:00, wegen Day after Thanksgiving Day.

:world_map: Eine Kategorie ohne Feiertage am gewĂ€hlten Ort meldet sich. Manche gibt es nur unterhalb der Landesebene – Schulferien in Deutschland je Bundesland, die Feiertage nur fĂŒr Frauen in Indien nur in Himachal Pradesh. Ohne die passende Region meldete der Import bisher nur 0 eingereiht; jetzt nennt er die Regionen, die welche haben.


:open_book: Alle Änderungen: CHANGELOG

:star: Wenn dir Annuals nĂŒtzt, freue ich mich sehr ĂŒber einen Stern fĂŒr das Repo – so finden andere es. Danke!

1 „GefĂ€llt mir“

Ich nutze dieses Programm auch schon seit Wochen und bin sehr zufrieden damit.

So nach und nach fliegen jetzt die alten Kalenderimporte (.ics Dateien) raus.

1 „GefĂ€llt mir“

Ich setze die Version 3.4 ein und möchte mich hier fĂŒr die tolle Anwendung bedanken. Sie hat nun meinen Google-Geburtstagskalender abgelöst.
Schön ist auch die Einbindung der Feiertage.
Ich möchte nun auch meinen Apple Terminkalender als Karte im Dashboard ablösen.
Obwohl ich die Anleitung rauf- und runterlesen habe, finde ich bei den Einstellungen keine Möglichkeit, einen externen Kalender einzubinden. Ich möchte die Termine weiterhin im Apple Kalender belassen, da sie ĂŒber mehrere Apple Devices “gefĂŒttert” werden.

Kann mir jemand hier kurz beschreiben, wie ich das umsetzen kann?

2 „GefĂ€llt mir“

Tolle Lösung, sehr einfach zu integrieren und da ich die Calendar Card Pro eh schon mit dem MĂŒllabfuhr-Kalender nutze eine super ErgĂ€nzug
 Danke!

2 „GefĂ€llt mir“