Google Kalender in Home Assistant einbinden
Man kann seine Google Kalender in Home Assistant einbinden. Klar, eine einfache Erinnerung den Müll am Vortag rauszustellen, kann der Kalender natürlich auch direkt selbst. Aber wenn man das mit bestimmten Wenn – Dann Funktionen triggern will, macht es schon sinn, die Integration aufzusetzen. Ganz unten findet ihr ein paar Anwendungsideen.
Google Oauth Credentials
Damit wir unseren Google Kalender integrieren können, müssen wir in der Google cloud console ein Projekt erstellen und uns Zugangsdaten für Drittanwendungen erstellen.
Oben neben dem Google Cloud Logo seht ihr den Button mit der Dropdownliste eurer Projekte. Darauf klicken wir und können im Pop-Up oben rechts ein neues Projekt erstellen. Hab ich natürlich schon gemacht, deshalb seht ihr das schon in der Liste.
Wir vergeben einen für uns eindeutigen Namen, eine Organisation müssen wir nicht zuweisen. Weiter geht es mit Erstellen.
Dies führt uns auf die folgende Seite:
Oben gibt es einen Button mit der Beschriftung „Anmeldedaten erstellen“. Hier wählen wir OAuth Client ID. Hier kommt eine Warnung, wir brauchen noch den Zustimmungsbildschirm. Also klicken uns weiter.
Als nächstes wählen wir Extern und klicken auf Erstellen.
Wir vergeben wieder einen eindeutigen Namen und tragen zweimal unsere E-mail adresse in den mit * markierten Feldern ein. Ganz unten geht es weiter.
Die nächsten Seiten können wir einfach überspringen und mit Speichern und Fortfahren weiter durch den Dialog düsen.
Jetzt können wir auf Anwendung Veröffentlichen klicken.
Nun gehen wir zurück und erstellen unsere OAUth Client-ID. Wir wählen im Dropdown den Unterpunkt mit „Frnsehgeräte und Geräte mit begrenzter Eingabe“ und vergeben wieder einen Namen. Weiter geht es mit Erstellen.
Nun kommt ein Pop-Up mit eurer Client ID und dem zugehörigen Key, welche ihr am besten irgendwo abspeichert.
Als nächstes können wir in die API Bibliothek wechseln und hier nach calendar suchen. Diese können wir dann Aktivieren. Wenn dann der kleine Grüne haken „APi aktiviert“ sichtbar wird, passt alles.
Home Assistant
Wir können wieder unter Einstellungen – Integrationen mit unserm blauen Button den Dialog öffnen und nach Google suchen.
Hier versteckt sich auch die Calendar Integration:
Hier kommen nun die eben genannten Credentials zum Einsatz. Der Name sollte dem in der Cloud Console entsprechen.
Jetzt gibt es noch ein Sicherheitsfeature, kopiert euch den Verifizerungscode, klickt auf den Link und navigiert durch den Dialog auf der Google Seite.
Wenn alles geklappt hat, kommt im Home Assistant die Erfolgsmeldung.
Und wir können im Home Assistant Kalender die Einträge aus Google sehen.
Und so sehen die Termine als Entitäten aus:
Anwendungen
Jemand Zuhause Fake
Eine Anwendung ist beispielsweise eure Beleuchtung mit Terminen im Kalender zu steuern. Das macht z.B. Sinn, falls ihr nicht über Nabu Casa oder ähnliches mit eurem Home Assistant verbunden seid, wenn ihr im Urlaub seid und so tun wollt, als ob jemand zuhause ist.
Reisezeit
Man kann auch die Location der Termine aus den Attributen abfragen und die Reisezeit mit Google Maps abfragen. Dazu könnt ihr <hier/> was lesen.
Automatische Termine
Ihr könnt euch auch eure Mails aus Gmail scrapen und bestimmte Dinge automatisch als Termine erstellen lassen, z.B. wenn ihr Konzerkarten gekauft habt, oder einen Slot für Sport.
Bitte nicht Stören
Eine andere Idee wäre, wenn ihr im HomeOffice seid, eine Art „On-Air“ Schild zu basteln und bei Online-Terminen automatisch anzuschalten. So weiß die Familie, dass die aktuell bitte nicht stören soll. Oder man schließt automatisiert die Tür ab, um auf Nummer sicher zu gehen ;). Man kann auch Lautstärken automatisiert je nach Termin anpassen, oder seine Internetgeschwindigkeit bei Unliebsamen Terminen drosseln. Oder einfach vorher Kaffee kochen lassen.
Videokonferenzlicht
Man kann analog zum Do Not Disturb auch sein Büro anders ausleuchten, so dass man gescheiter auf Videokonferenzen zu sehen ist.
Ihr seht, es gibt viele Möglichkeiten, Kalenderevents für sein Smart Home zu nutzen. Wenn euch noch was einfällt, gern in die Kommentare.
Viel Spaß beim Einrichten!
$ Die mit einem $ gekennzeichneten Links, sind Affiliate Links. Wenn du über diese in den Shop gelangst und etwas kaufst, bekomme ich eine kleine Provision
5 Kommentare
[…] Im vorherigen Post haben wir gelernt wie wir den Google Kalender in HomeAssistant einbinden. Eine praktische Funktion mit dieser Integration ist, sich mit der Google Maps Distance Matrix API die Reisezeit zum nächsten Termin im Kalender als Push Notification rausgeben zu lassen. Auch dazu gibt es eine Integration. Um diese einzurichten, brauchen wir einen API-Key. […]
Hallo Daniel,
cool, dass du hier sehr anschaulich erklärst!
Ich bin nur durch Zufall auf deine Seite gestoßen da ich irgendwie auf dem Schlauch stehe und mir nicht sicher bin was zu tun ist und nach Lösungen suche.
Ich habe die Kalender bereits integrieren können und wollte die Termindetails per mqtt senden aber irgendwie wird nur der Status 1/0 übermittelt.
Weißt du ob das überhaupt geht und wie man das hinbekommen kann?
Ich habe in der config.yaml den mqtt_statestream hinzugefügt und per „include: entities: – calendar.geburtstage“ eingetragen und bekomme per mqtt lediglich den Status 1/0 übermittelt (homeassistant_calendar_geburtstage_state 1/0).
Kann man das das einfach erweitern um die message, start/end_time zu übermitteln? hatte es erfolglos mit der Erweiterung „_attributes“ versucht.
Vielleicht hast du ja eine Idee/Hinweis oder sogar die Lösung parat.
LG Christian
Hallo Christian,
was hast du denn konkret vor? Vll ist der StateStream nicht der richtige Ansatz?!
Ansonsten:
Publish Attributes muss true sein (siehe Dokumentation)
So oder so ähnlich:
mqtt_statestream:
base_topic: Geburtstage
include:
entities:
– calendar.geburtstage
publish_attributes: true
publish_timestamps: true
Dann werden alle Attribute als eigene topics veröffentlicht. (Unter Operation auf der gleichen Seite zu finden) Mit mqtt Lens oder Ähnlichem kannst du dann ja genau das topic raussuchen, dass du brauchst. Vll war es da ja schon was dir fehlt?
Sollte dann irgendwie so ähnlich rauskommen:
Geburtstage/calendar/geburtstage/start_time/payload
LG!
Hi, vielen Dank für diesen Super Beitrag!
Hat mir sehr geholfen und hat auch geklappt.
Nur kommt nun die Frage auf, wie man einen weiteren Account in den Kalender bekommt?
Hier gibts dazu was: https://community.home-assistant.io/t/google-calendar-multiple-accounts/647931/2