Werbung
Hinweis: Diese Seite enthält Werbelinks

Smart Home – openHAB 2 Push Benachrichtigungen – Installation Telegram unter openHAB 2

Dieser Beitrag erklärt Schritt für Schritt wie Ihr openHAB 2 Push Benachrichtigungen per Telegram nutzt. Telegram ist nur eine der Möglichkeiten. Wer bereits Prowl oder Pushover nutzt, auch hierfür sind die nötigen Bindings bereits verfügbar. Ich nutze diese Möglichkeit, da Telegram die meisten Applikationen für Endgeräte und Betriebssysteme bietet. Es gibt nicht nur Apps für Android, Apple, Windows Phone, sondern auch für Windows, Mac, Linux. Darüber hinaus auch Web Applikationen. So habt ihr die Möglichkeit Euch über Push Benachrichtigungen wichtige Infos aus Eurem Smart Home (Fenster auf, Licht aus vergessen…) anzeigen zu lassen.

Smart Home – openHAB 2 Push Benachrichtigungen – openHAB 2 Telegram Action installieren

Zu Beginn ruft ihr wieder die Paper UI auf und wählt den Menüpunkt Extensions. Dies mal wählt ihr aber nicht den Eintrag Bindings, sondern klickt auf Actions. Unter „T“ findet ihr Telegram und könnt ihr die Action über den Knopf „Install“ installieren. Das Binding / die Action ist nun aktiviert.

OpenHAB-2-Push-Benachrichtigumg-Telegram

Ihr habt kein openHAB 2 Server? Lest Euch den Beitrag Smart Home – openHAB 2 Installation und Konfiguration durch. Hier findet ihr alles von der Hardware bis zur Installation.

Smart Home – openHAB 2 Push Benachrichtigungen  – Telegram Bot erstellen

Anschließend müsst ihr einen Bot erstellen, den ihr für die Benachrichtigungen verwenden wollt. Installiert vorher die Telegram App und meldet Euch direkt bei Telegram an. Die Screenshots unten sind von Windows. In der App läuft es analog.

Beginnt einen Chat mit BotFather. Hierfür ruft die Kontakt auf uns sucht nach BotFather. Nachdem ihr den Kontakt ausgewählt habt öffnet sich das Chatfenster.

OpenHAB-2-Push-Benarchtigung-Telegram-Botfather

Ihr gebt nun im Chat hintereinander die folgenden Anweisungen an „/newbot“, den Botnamen (bei mir „onesmarthome“) und den User (bei mir „onesmarthome_bot“). Das war es auch schon auf Seiten von Telegram. Ihr erhaltet als letzten Schritt den HTTP API Token. Am besten sichert ihr diesen direkt in einer Textdatei.

OpenHAB-2-Push-Benachrichtigung-Telegram-Bot-erstellen

Ihr könnt nun noch den Bot testen. Klickt hierfür auf den Link telegram.me/EUERBOTNAME und startet einen Chat.

OpenHAB-2-Push-Benachrichtigung-Telegram-Bot-chatten

Im Anschluss ruft die folgende Adresse auf https://api.telegram.org/botAPI/getUpdates. Den roten Text API ersetzt ihr einfach durch Eure API aus dem Chat mit BotFather. Hat alles funktioniert, seht ihr folgende Infos.

OpenHAB-2-Push-Benachrichtigung-Telegram-Bot-GetUpdate

Hier habt ihr die Bestätigung, dass die Nachricht „hallo bot“ auch angekommen ist. Weiterhin bekommt ihr hier die Chat ID (blauer Rahmen). Diese braucht ihr neben dem API Token für die Konfiguration des Bindings.

Smart Home – openHAB 2 Push Benachrichtigungen  – opeHAB Designer Telegram Konfigurieren

Nun geht in den openHAB Designer und konfiguriert das Telegram Binding, indem ihr den Services Ordner öffnet und die telegram.cfg öffnet.

OpenHAB-2-Push-Benachrichtigung-Designer-Telegram

Entfernt die # vor dem Befehl „bots=“ und gebt so viele Namen von Personen an, die ihr per Nachricht informieren wollt. Ich meine hier wirklich Namen von Personen. Dies ist für mich verständlicher, da man so gleich weiß wer welche Infos über Telegram per openHAB erhalten soll. Ihr braucht nämlich nicht einen Bot für jeden Nutzer. Es reicht der eine angelegte Bot. Ihr müsst nur den Bot auf den anderen Endgeräten anschreiben. telegram.me/<bot_username> und starten um die Chat ID zu erhalten. Dafür geht wie oben angegeben wieder auf Adresse https://api.telegram.org/botAPI/getUpdates. Und notiert Euch die Chat ID der weiteren Person. So lassen sich alle Personen aus dem Haushalt über einen Bot benachrichtigen.

Im Anschluss entfernt wieder die # Zeichen und legt entsprechend der Anzahl der Personen Zeilen von <botname>.chatID= und <botname>.token= an. In die Zeilen <botname>.chatID= tragt die unterschiedlichen Chat IDs ein. In den Zeilen <botname>.token= tragt den gleichen Token von oben ein.

// Bot Nachrichten
 bots=thomas,harry
 
// Thomas  Handy
thomas.chatId=25XXXXXXX
thomas.token=23XXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXSU

// Harrys Handy
harry.chatId=24XXXXXXX
harry.token=23XXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXSU

Im Anschluss geht ihr in den Rules Ordner und öffnet Eure *.rules Datei. Hier tragt ihr nun die Regel ein. Ich habe hier das Beispiel der Raumfeld Musik Wiedergabe gewählt.

/* Telegram */

/* Dachgeschoss Musik */ 
rule "DG_MUSIK_AN"
when
    Item Musik_Raumfeld_Buero received update ON
then
    sendTelegram("thomas", "Die Musik läuft!")
    sendTelegram("harry", "Die Musik läuft!")
end

rule "DG_MUSIK_AUS"
when
    Item Musik_Raumfeld_Buero received update OFF
then
    sendTelegram("thomas", "Die Musik ist aus!")
    sendTelegram("harry", "Die Musik ist aus!")
end

Diese Regel sorgt nun dafür, dass beide Personen (thomas und harry) eine Nachricht bekommen, wenn die Musik eingeschaltet wird „Die Musik läuft!“ oder ausgeschaltet wird „Die Musik ist aus!“Dabei ist ist völlig unerheblich welche App der Nutzer verwendet.

Harry kriegt die Nachricht per Windows App:

OpenHAB-2-Push-Benachrichtigung-Windows-App

Thomas kriegt die Nachrichten per Web App:

OpenHAB-2-Push-Benachrichtigung-Web-App

Ich denke die Möglichkeiten sind klar und schier unerschöpflich. Ein Beispiel, welches ich Euch bald beschreiben werde, ist die Nachricht bei Abwesenheit über aktives Licht oder geöffnete Fenster.

Interesse geweckt? Tragt Euch gerne in den Newsletter ein. Ein Mal im Monat geballtes Smart Home Know How =).

8 Comments
  1. Hat einwandfrei bei mir funktioniert. Vielen Dank.

    Ich möchte über Telegram Informationen über die Statusänderung von meinen Rauchmeldern verteilen, wenn ich nicht im Haus bin. Bin mal gespannt, ob das mit der HomeMatic und den Endgeräten so funktioniert 🙂

  2. Hallo Zusammen,
    bei mir hat das alles geklappt, bis zur Rule. Der Rule Editor sagt mir das die method“sendTelegram“ undefined. Den Service hab ich aber aktiviert und auch im telegram.cfg konfiguriert

    rule „Licht Büro an“
    when
    Item Buero_Deckenlicht received update ON
    then
    sendTelegram(„christian“, „Das Buerolicht ist an“)

    end

    jemand eine Idee warum es nicht geht ?
    OpenHab habe ich auch schon rebooted nach der Instalation vom Telegramservice

  3. Ich hab den Fehler gefunden. Im telegram.cfg hatte ich vergessen bots=christian zu setzten. Jedoch habe ich in einem anderen Forum gelesen, das die Darstellung mit der method undefined ein „BUG“ ist, es funktioniert trotzdem

  4. Hallo zusammen
    Habt ihr auch das Problem dass manche Nachrichten doppelt ankommen ? Sieht man auch im Screenshot weiter oben … hab alles überprüft aber finde den Fehler nicht :/

  5. Hallo Thomas,
    Push per Telegram funktioniert super. Geht das auch in die andere Richtung?
    Das ich eine Nachricht an openHAB sende und löse damit eine Regel aus.
    Z.B. Heizung von Frostschutz auf Komfort stellen.
    Beste Grüße
    Ralf

  6. […] 5.4 openHAB Push Benachrichtigungen (Telegram) […]

    Hinterlasse einen Kommentar

    Smarthome Training and Tutorials
    Logo