openHAB2: kostenfreie Push-Notifications via Telegram auf’s Smartphone

Es wäre ja schön, wenn man sich das Haus einfach per Messenger melden könnte, wenn was nicht passt oder wenn bestimmte Ereignisse eingetreten sind.

Um sich Nachrichten vom Smarthome-System auf’s Handy schicken zu lassen gibt es diverse Push-Notification-Anbieter, kostenfrei geht’s mit der App Telegram und dem dazugehörigen openhab2-Binding. Push-Notifications sind dann via rule-Befehl von openHAB problemlos möglich. Und einfach und schnell in max. 15 Minuten eingerichtet ist das Ganze auch noch.

Telegram App installieren

Zuerst die App Telegram am Handy installieren. Dann in der App auf das Suchen-Feld klicken und „botfather“ eintippen und den dann angezeigten so benannten Kontakt anklicken.

Nun muss ein Bot erstellt werden, dazu

  1. /newbot senden
  2. Namen für den gewünschten Bot senden
  3. Benutzernamen für den gewünschten Bot senden
  4. Raus aus dem Bothfather-Chat und einen neuen Chat starten, diesmal den oben vergebenen Benutzernamen suchen und einfach irgendeine Testnachricht schicken
  5. Nun im Webbrowser die URL https://api.telegram.org/bot[DEINAPIKEY]/getUpdates aufrufen und [DEINAPIKEY] durch den API-Schlüssel ersetzen, der in der Botfather-Nachricht genannt wurde
  6. Die Daten im Browser anzeigen lassen, Firefox zeigt das als JSON gleich ganz gut an, aus dem Ausschnitt mit der Testnachricht holen wir nun die „id“:

openHAB2 konfigurieren

Jetzt PaperUI aufrufen, unter Add-Ons / Actions die Telegram Action auswählen / installieren.

Dann unter /etc/openhabe/services/telegram.cfg die Konfigurationsdaten für die Telegram Action anpassen, anbei mein bot:

bots=bot1
bot1.chatId=[ID DES CHATS]
bot1.token=[DEINAPIKEY]

Soll es mehrere Bots geben diese hinter bots= kommasepariert aufführen. Wichtig dabei: Nur ein Komma, kein zusätzliche Leerzeichen.

Um die Änderungen wirksam zu machen muss der openHAB service neu gestartet werden:

sudo systemctl restart openhab2.service

Beim Hochfahren von openHAB ist die Konfiguration auch im Logfile zu sehen und wenn es wie folgt aussieht, ist die Konfig schon einmal syntaktisch korrekt:

2018-01-26 15:49:14.797 [INFO ] [egram.internal.TelegramActionService] – Bot bot1 loaded from config file

openHAB2 – Rules: Ansprechen des Bots

Um den Bot anzusprechen kann nun in beliebigen Rules der Bot angesprochen werden.

Zum Testen lasse ich mich mit folgender Rule über eine Veränderung des Lichts in meinem Büro informieren:

rule "Bot Test - Informiere über Lichtstatus"
when Item OG_LICHT_BUERO changed
then sendTelegram("bot1", "Licht hat Status geändert auf " + OG_LICHT_BUERO.state.toString())
end
Und das gibt dann folgendes Ergebnis:

4 Antworten auf „openHAB2: kostenfreie Push-Notifications via Telegram auf’s Smartphone“

  1. Hey danke für das Tutorial. Eine Frage habe ich. Wie kann ich mir eine Nachricht schicken lassen, wenn meine Bewässerung eingeschaltet wurde?

    .item sieht so aus:

    Group stations
    Switch Terrasse (stations) { channel=“opensprinkler:http:xxx:station01″ }
    Switch Seite (stations) { channel=“opensprinkler:http:xxx:station02″ }
    Switch Tropfbewaesserung (stations) { channel=“opensprinkler:http:xxx:station03″ }
    Switch RainSensor { channel=“opensprinkler:http:xxx:rainsensor“ }

    Bei den rules habe ich es so oder so probiert, was aber nicht funktioniert…

    rule „Bot Regnerkreis 1″
    when channel=“opensprinkler:http:xxx:station01“ changed
    then sendTelegram(„bot1“, „Regnerkreis Terrasse hat Status geändert auf “ + Terrasse.state.toString())
    end

    rule „Bot Regnerkreis 1“
    when Item Terrasse changed
    then sendTelegram(„bot1“, „Regnerkreis Terrasse hat Status geändert auf “ + Terrasse.state.toString())
    end

    1. Hallo Handi.
      Die Rule muss auf ein Item lauschen, also z.b. when Item Tropfbewaesserung (…)
      Für derartigen allgemeinen Support bitte die openhab Foren benutzen, individuellen, tiefer gehenden Support kann ich nicht leisten.
      Danke für das Verständnis!
      Florian

    1. Oh doch ja, das hatte ich falsch gelesen. Im Prinzip müsste es funktionieren. Wird Mal einen Blick ins Logfile, meist steht da ja dann etwas verwertbares drin.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Durch die weitere Nutzung der Seite wird der Verwendung von Cookies und den Inhalten der Datenschutzerklärung zugestimmt. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen