Wiedzieć o wszystkim - powiadomienia

Wiedzieć o wszystkim - powiadomienia

Na początku chciałbym wspomnieć, że ten artykuł powstał na prośbę jednego z czytelników. Gdyż ten blog jest właśnie dla Was i to Wasze potrzeby mają go kształtować. Dlatego naprawdę zachęcam do kontaktu.

Chcę w nim przedstawić jak możecie obsłużyć powiadomienia. Pokażę to na przykładzie Google Hangouts, Telegram oraz Google TTS.

Zatem pierwszy krok to integracja wspomnianych wyżej usług z HA. Zaczynamy!

Google Hangouts

Ta integracja składa się z dwóch części. Pierwsza, ta prostsza, definiowana jest przez dobrze nam znany moduł integracji. Wybieramy w nim usługę Google Hangouts i postępujemy zgodnie z instrukcjami na ekranie.

Kolejnym ruchem jest dodanie usługi notyfikacyjnej w pliku configuration.yaml. Przykładowy wpis może wyglądać następująco

notify:
  - name: moja-nazwa
    platform: hangouts
    default_conversations:
      - id: id-rozmowy-pobrane-z-encji-hangouts.conversations
      - id: inne-id-rozmowy-pobrane-z-encji-hangouts.conversations

Szczegółowo sposób integracji wyjaśniam w filmie dołączonym do tego artykułu.

Jednak to nie jest takie trudne. Najważniejsze to pamiętać o kilku rzeczach:

  • Integracja dla notyfikacji z GH składa się z dwóch części
  • Muszą istnieć rozmowy do których wyślemy powiadomienia
  • wszystkie dane dotyczące rozmów znajdziemy w szczegółach encji hangouts.conversations
  • jeżeli wpisujemy poprawny email i hasło, a system twierdzi, że jest złe to musimy wykonać tą instrukcję i użyć kodu autoryzacji

Google TTS

Integracja ta umożliwi wysłanie wiadomości tekstowej, a HA zamieni ją na komunikat głosowy i wypowie go na wskazanych urządzeniach multimedialnych (np.: głośnik firmy Sonos czy GoogleHome)

Do poprawnego działania wymagana jest modyfikacja pliku configuration.yaml. Należy w nim dodać poniższy wpis.

tts:
  - platform: google_translate
    service_name: google_say
    language: 'pl'

Telegram

Integracja z Telegramem nie jest tak prosta jak wcześniejsze. Jednak jest dobrze opisana na stronach HA. Dlatego pozwolę, sobie nie dublować wpisów tylko odeślę zainteresowanych pod ten adres.

W przypadku problemów i pytań piszcie w komentarzach postaram się pomóc.

Pamiętajcie, że wysyłanie powiadomień przez Telegram oprócz samej integracji wymaga również zdefiniowanej usługi notyfikacyjnej podobnej jak dla Google Hangouts. Wygląda ona następująco:

notify:
  - name: moja-nazwa
    platform: telegram
    chat_id: id-rozmowy-pobrane-z-https://api.telegram.org/botYOUR_API_TOKEN/getUpdates

Wysyłanie notyfikacji

Gdy już mamy zintegrowane usługi to nie pozostaje nam nic innego jak zacząć krok drugi. Czyli Zrobić proces wysyłający powiadomienia. Oczywiście użyjemy do tego Node-Red'a.

  1. Dodajemy node inject, który umożliwia wywołanie procesu jednym kliknięciem myszki (ten mały przycisk przy nodzie). Jest to idealne do wszelkich testów.
  2. Następnie dodajemy nod function w którym umieszczamy naszą treść wiadomości (format podany poniżej)
  3. Ostatnim krokiem jest dodanie nodu call service i odpowiednie jego skonfigurowanie (przykład poniżej)

Przykładowy proces zgodny z powyższym schematem może wyglądać tak:

I jeszcze konfiguracja poszczególnych nodów:

Pierwszy - inject - bez zmian

Drugi - Wiadomość:

Trzeci - powiadomienie tekstowe - wyśle wiadomość podaną w nodzie dwa na wybraną usługę notyfikacyjną (np.: Hangouts lub Telegram). W tym przypadku jest to usługa  o nazwie artur, która tak naprawdę kieruje do rozmowy na Hangouts. Pamiętacie jeszcze konfigurację z początku artykułu? Dla tego przypadku wygląda tak:

notify:
  - name: artur
    platform: hangouts
    default_conversations:
      - id: id-rozmowy

Natomiast konfiguracja samego nodu wygląda tak:

I to już wszystko. Oczywiście powyższy przykład wywołuje notyfikację tylko gdy ręcznie uruchomimy proces. Jednak zamiast nodu inject możemy podstawić dowolny inny wyzwalacz. Oczywiście takie notyfikacje możemy umieszczać w dowolnym momencie procesu. Zachęcam do testów i eksperymentów.

Zapraszam również do obejrzenia filmu, który jest integralną częścią tego artykułu wyjaśniam w nim bardziej szczegółowo powyższe zagadnienia jak również pokazuje przykłady dla innych typów powiadomień. W szczególności omawiam jak ogarnąć powiadomienia Google TTS.

Tradycyjnie, zachęcam do kontaktu. Komentarze są Wasze. Dajcie znać jak mogę Wam pomóc i co byście chcieli zobaczyć w następnym artykule.

Read more