In diesem Beitrag zeige ich dir, wie du einen oder mehrere Apple iCloud Kalender in Home Assistant integrieren kannst. Die Integration ist per CalDav möglich. Leider erlaubt die Integration nur das Anzeigen der Termine. Die Bearbeitung, wie bei der Google Kalender Integration, ist aktuell nicht möglich. Trotz allem kann die iCloud Kalender Integration zur besseren Übersicht aller Kalender in einem System genutzt werden.
Apple Kalender Passwort
Zur Kalender Integration in Home Assistant benötigt es als Vorbereitung ein Passwort, welches den Zugriff oder die Kalender in der iCloud ermöglicht. Dazu einmal im Apple Account einloggen:
Im Menü Anmelden und Sicherheit auf Anwendungsspezifisches Passwort klicken.
Als nächstes auf das + klicken und einen Namen für den Eintrag / Zweck festlegen.
Zuletzt wird vor der Erstellung noch mal das Passwort der Apple-ID abgefragt. Danach sollte das Passwort generiert werden. Dieses Passwort wird nun in Home Assistant verwendet. Im nächsten Abschnitt zeige ich dir welcher Code in der configuration.yaml hinzugefügt werden muss damit der Zugriff auf Apple iCloud Kalender möglich wird.
iCloud Kalender integrieren
Es braucht nur wenig Code in der configuration.yaml damit die iCloud Kalender im Bereich der Kalender angezeigt werden.
calendar:
- platform: caldav
username: deine@apple-id
password: dein Anwendungsspezifisches Passwort
url: https://caldav.icloud.com
calendars:
- Familie
- Kalender
Mit dem Attribut calendars lassem sich Kalender filtern, sodass nicht alle iCloud Kalender sondern nur die gewünschten Kalender angezeigt werden.
icloud ID und Passwort in secrets.ymal speichern
Alternativ kann username und password auch in der secrets.yaml gespeichert werden, was zu empfehlen ist. Dann lautet der Code zum Beispiel wie folgt:
calendar:
- platform: caldav
username: !secret userIcloud
password: !secret passIcloud
url: https://caldav.icloud.com
calendars:
- Familie
- Kalender
Username und Passwort muss dann natürlich in der secrets.yaml ergänzt werden. Das geht leicht mit dem File Editor. Wie du den File Editor installierst erfährst du in diesem Video. Die secrets.yaml findet du hier:
/config/secrets.yaml
Der Code bezogen auf das obere Beispiel ist dann wie folgt:
#icloud Kalender
userIcloud: deine@apple-id
passIcloud: dein Anwendungsspezifisches Passwort
iCloud Kalender als Dashboard Karte
Über die Kalender Karte können Termine im Dashboard zeitlich gefiltert angezeigt werden.
In der Karte lassen sich sowohl die Kalender auswählen als auch der Zeitraum, der angezeigt werden soll. Ich nutze in der Übersicht den 7 Tage Zeitraum, um nur die bevorstehenden Termine zu sehen.
Kalender Automation erstellen
Ich habe mir auf Basis des Kalenders eine Automation erstellt, welche mich per Benachrichtigung am Tag des Ereignisses an den Geburtstag erinnert.
alias: "Benachrichtigung: Geburtstag"
description: ""
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: state
entity_id: calendar.kalender
state: "on"
action:
- service: notify.persistent_notification
data:
message: Heute hat {{state_attr("calendar.kalendar", "message") }}
- service: tts.cloud_say
data:
entity_id: media_player.media_player_all
message: Heute hat {{state_attr("calendar.kalender", "message") }}
mode: single
Fazit
Die Kalender Integration lässt leider das bearbeiten von Terminen nicht zu. Dafür können die Termine in Automationen genutzt werden, sodass durch die Integration ein Mehrwert entsteht.
Bei Interesse schau dir auch gerne meine anderen Apple Integrationen an:
- Apple Health Daten in Home Assistant
- iCloud3 als Device Tracker