die-eggerts@SmartHome – Teil 12: Benachrichtigungen mit Telegram

Nachdem wir nun eine ganze Menge hingekriegt haben, wollen wir jetzt mal in das Thema „Benachrichtigungen“ einsteigen. Auch hier gibt es eine ganze Menge Möglichkeiten – von „der Plattenplatz auf dem NAS geht zur Neige“ über „die Heizungsanlage hat eine Störung“ bis „das Dachfenster ist noch auf, und in ein paar Minuten fängt es an zu regnen“ sind der Fantasie keinerlei Grenzen gesetzt.

Auch dieses Thema ist – wie so ziemlich alles andere an Home Assistant – Neuland für mich. Wenn ich es richtig verstanden habe, unterscheidet Home Assistant hier mehrere Ebenen: Da ist zum einen die Benachrichtigungsplattform, so etwas wie das Medium, das die Nachricht zustellt.

Zum anderen ist da die Nachricht selbst; und die kann auf verschiedenen Wegen generiert werden (über Events, Automatisierungen, Sensoren etc.).

In diesem Artikel gucken wir uns mal eine Plattform an: Telegram. Das ist ein Messengerdienst wie Signal oder WhatsApp. Den einzurichten, hat sich als nicht ganz trivial herausgestellt. Wenn er aber erstmal läuft, ist er aber total cool…

Los geht’s – diesmal nicht in der Weboberfläche, sondern am Smartphone (oder an der Webkonsole von Telegram). Hier suchen wir einen Kontakt namens BotFather – das ist der „Oberbot“, der sie alle steuert (so ähnlich wie der Eine Ring).

Den müssen wir starten:

/start

Er begrüßt uns dann mit einem längeren Text, in dem ein paar Befehle vorgestellt werden. Uns interessiert nur einer:

/newbot

Wir werden dann aufgefordert, unserem neuen Bot einen Namen zu geben – die Konventionen sind recht großzügig (zumindest Leerzeichen sind zugelassen), daher ist etwas wie „Ansage vom Hausmeister“ durchaus möglich. Das ist der Name, der in der Kontaktliste von Telegram angezeigt wird.

Danach müssen wir einen Benutzernamen angeben – hier gibt es ein paar Regeln zu beachten:

  • Er muss auf „bot“ enden
  • Bindestriche sind verboten
  • Leerzeichen sicherlich auch (getestet habe ich das nicht, aber es würde mich wundern, wenn Leerzeichen erlaubt wären)

Danach werden wir informiert, dass unser Bot erzeugt wurde. In dieser Info steckt auch das API-Token, mit dem wir gleich arbeiten müssen:

12-01_botfather

Wenn wir dann auf den Link klicken, den der BotFather uns geschickt hat (der mit t.me/ losgeht), landen wir bei unserem erstellten Bot, den wir mit einem Klick auf die Schaltfläche am unteren Rand starten. Um nun damit arbeiten zu können, müssen wir ihm eine Nachricht schicken (das kann ein einfacher „.“ Sein oder ein „Hallo“ oder der Anfang von „De Bello Gallico“).

Dann rufen wir die folgende Webadresse auf:

https://api.telegram.org/bot<API-Key>/getUpdates

Wenn alles geklappt hat (hat es bei mir nur beim ersten Mal, und davon habe ich keine Screenshots), erhalten wir ein JSON-Objekt, das unter anderem eine Chat-ID preisgibt. Die benötigen wir jetzt im Home Assistant: Dort schreiben wir folgendes in die configuration.yaml:

12-02_telegram

Damit haben wir den ersten Teil erledigt: Die Nachrichtenplattform ist eingerichtet. Um nun zu testen, ob das auch funktioniert, implementieren wir eine kleine Automation ein (zugegeben, das ist noch ausbaufähig, aber als Beispiel oder Proof of Concept soll es genügen):

12-03_testnachricht

Diese Automatisierung erinnert mich täglich um 15:10 Uhr daran, dass bald Feierabend ist – klar, das lässt sich noch ausbauen (z.B. Freitags eine Stunde früher und am Wochenende oder Feiertagen gar nicht), aber es funktioniert:

12-04_nachricht

Das ist natürlich nur ein kleiner Teil – umgekehrt funktioniert das nämlich auch (wie genau, weiß ich noch nicht, aber das kriege ich irgendwann hin): Dann ist es möglich, Home Assistant über Telegram zu steuern (also etwa eine Nachricht wie „Kaffee“ an den Bot zu schicken, damit der die Kaffeemaschine anschmeißt, damit das Gebräu fertig ist, wenn man nach Hause kommt).

Fürs Erste soll das hier genügen. Im nächsten Teil gucken wir uns die Bereiche etwas genauer an.

Copyright © 2020. Powered by WordPress & Romangie Theme.