Dzisiaj chciałbym Wam przedstawić sposób na integrację z Kalendarzem Google, a wszystko po to aby przekazać do naszego domu zarządzanie zadaniami. Może zarządzanie to trochę szumne określenie ale dzięki tej integracji będziemy mogli wprowadzić różnego rodzaju automatyzacje bazujące na naszym kalendarzu.

Jednak tradycyjnie już zanim zaczniemy coś automatyzować to musimy połączyć to z naszym HA. Dlatego nie ma co już przedłużać tego wstępu przejdźmy do integracji.

Integracje zaczynamy od mocno nietypowego miejsca ponieważ startujemy w konsoli programistycznej. Następnie postępujemy zgodnie z kreatorem jaki nam się pojawi:

W pierwszym kroku musimy wyrazić zgodę na korzystanie z usługi i utworzyć nowy projekt klikając przycisk Zgadzam się i chcę przejść dalej. Okno powinno wyglądać podobnie do poniższego.

Po chwili powinien pojawić się ekran z przyciskiem Przejdź do danych logowania, który oczywiście wciskamy.

Na kolejnym ekranie wybieramy Anuluj

W kolejnym kroku w menu po lewej stronie wybieramy pozycję Dane logowania. Następnie z centralnej części wybieramy przycisk Utwórz dane logowania i z rozwiniętego menu wybieramy pozycję Identyfikator klienta OAuth. Tak jak to widać na poniższym obrazku.

Następnie włączamy przycisk Skonfiguruj ekran akceptacji.

W sekcji User Type wybieramy opcję Zewnętrzny i wciskamy przycisk Utwórz jak poniżej.

Wyświetlony formularz uzupełniamy tylko nazwę aplikacji np. Home-Assistant

I wciskamy przycisk Zapisz na samym dole formularza.

Później kolejny raz klikamy pozycję Dane logowania. Następnie z centralnej części przycisk Utwórz dane logowania i z rozwiniętego menu wybieramy pozycję Identyfikator klienta OAuth. Tak jak to robiliśmy wcześniej.

Na ekranie który się pojawi wybieramy typ aplikacji Inna (jeżeli brak opcji Inna na liście to nalezy wybrać TV i urządzenia z ograniczoną możliwością wpisywania) i podajemy nazwę np. Home Assistant Credentials, a następnie wciskamy utwórz.

Po chwili pojawi nam się okno o tytule Klient OAuth został utworzony, a w nim będą dwie najważniejsze informacje:

  • Twój identyfikator klienta
  • Twój tajny klucz klienta

Obie te informacje musimy sobie gdzieś zanotować jeśli nie chcemy wracać po nie do konsoli. Będą one wymagane w konfiguracji HA.

Ostatnim krokiem jest włączenie API kalendarza. W tym celu z menu po lewej wybieramy pozycję Biblioteka na liście wyszukujemy Google Calendar API.

Wybieramy je i upewniamy się, że jest włączone.

Jeżeli nie jest to wciskamy przycisk zarządzaj i tam dokonujemy włączenia.

Po tych krokach powinniśmy mieć ogarnięte API po stronie Google Calendar i stworzone dane logowania. Nie pozostaje nam nic innego jak teraz z HA się do tego podłączyć. W tym celu musimy edytować plik configuration.yaml. Oczywiście używamy do tego wybranego przez siebie narzędzia. Przykład był opisywany w jednym z pierwszych artykułów.

Do pliku konfiguracyjnego dodajemy następujące wpisy:

google:
  client_id: <wklejamy identyfikator klienta z danych wcześniejszych>
  client_secret: <wklejamy tajny klucz klienta z danych wcześniejszych>
  track_new_calendar: <true lub false - ustala czy nowo dodane kalendarze do konta mają być synchronizowane z HA>

Po takiej konfiguracji restartujemy nasz HA oczywiście wcześniej sprawdzając czy nie ma błędów w plikach konfiguracyjnych.

Czasami powyższe kroki w konsoli Google mogą się trochę różnić w zależności co już wcześniej na koncie robiliśmy ale generalnie efektem końcowym powinno być utworzenie danych logowania i włączenie API do kalendarza. Część w HA zawsze przebiega identycznie.

Po restarcie (przy pierwszym uruchomieniu) dostaniemy powiadomienie z linkiem i kodem aktywacyjnym. Należy ten link uruchomić, a w odpowiednim oknie podać kod z powiadomienia. Jeżeli wszystko zrobimy poprawnie to w powiadomieniach powinien pojawić się następujący komunikat:

Jakość integracji możemy zweryfikować przez wyszukanie encji zaczynających się od calendar.<nazwa kalendarza>. Oczywiście bazując na wcześniejszej wiedzy wyszukanie encji robimy w narzędziach deweloperskich.

Dodatkowo przy pierwszym uruchomieniu powinien powstać plik w katalogu konfiguracyjnym o nazwie google_calendars.yaml. Zastosowanie tego pliku wyjaśniam w dołączonym do artykułu filmie.

To tyle na ten moment. Mamy już HA podłączonego do naszego kalendarza. W następnym artykule dowiemy się jak wykorzystać nową integrację w automatyzacji. Tym czasem do następnego artykułu, cześć.