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.
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.
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.
Ihr könnt nun noch den Bot testen. Klickt hierfür auf den Link telegram.me/EUERBOTNAME und startet einen Chat.
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.
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.
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:
Thomas kriegt die Nachrichten per 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 =).
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 🙂
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
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
Hallo Christian,
Danke für die Info und die Kaffeespende =)
BG
Thomas
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 :/
Poste mal deine Regel
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
Hallo Ralf,
ich kann das nur per Mail aus OH1. Dies ist aber ein Legacy Binding und ich denke, da gibt es inzwischen besser Möglichkeiten.
https://docs.openhab.org/addons/bindings/mailcontrol1/readme.html
Ich würde dann eher VPN oder myopenhab.org und HA Bot nehmen.
https://github.com/ghys/habot
Beste Grüße
Thomas
[…] 5.4 openHAB Push Benachrichtigungen (Telegram) […]