Diese Website verwendet Cookies und ähnliche Technologien!

Falls Sie die damit nicht einverstanden sind, ändern Sie bitte die Einstellungen Ihres Browsers. Mehr erfahren

Ich bin damit einverstanden

 Wir nutzen Cookies um Ihnen das beste Surferlebnis auf unserer Website bieten zu können.

  • Falls Sie dies bestätigen und fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass sie einverstanden sind alle Cookies unserer Seite zu erhalten:
  • Falls Sie Ihre Einstellung ändern möchten, so finden Sie eine Anleitung dazu hier.

Wieder eine Kurzanleitung, die diesesmal das Erstellen und Einrichten eines Telegram-Bots in openHAB2 dokumentiert.

Binding installieren

Die Installation des Bindings erfolgt wie gewohnt über das PaperUI unter "Action" oder über die conf/services/addons.cfg Datei:
Hier wird der Binding Name telegram in der folgender Zeile hinzugefügt. Stehen hier mehrere Bindings so sind diese mit Komma zu separieren. Ist bereits das Twitter Binding eingerichtet, so würde diese Zeile also folgendermaßen aussehen:

# A comma-separated list of actions to install (e.g. "mail,pushover")
action = twitter, telegram

Durch die Installation wird dir conf/services/telegram.cfg Datei erstellt. In dieser wird ein Telegram-Bot mit Chat-ID und Token definiert. Im nächsten Schritt geht es um das Erstellen eines Bots.

Bot erstellen

Bots werden über den BotFather in Telegram erstellt. Starte dazu einfach einen Chat mit @BotFather und schicke ihm den Command /newbot
Dann legst du gemäß der Nachricht des BotFathers den Anzeigenamen des Bots fest und anschließend Botnamen. Dieser muss übrigens ohne Leerzeichen gewählt werden und auf bot enden.

Habt ihr alle Namen korrekt gewählt bestätigt der BotFather den Vorgang mit einem Done! und spuckt außerdem einen Token aus. Diesen benötigen wir für unsere Konfigurationsdatei und für die API um die ChatID herauszufinden. Dies ist im nächsten Schritt beschrieben:

ChatID herausfinden

Ein Bot kann mehrere Gespräche gleichzeitig führen. Um also openHAB2 mitzuteilen, in welches (Gruppen-)Gespräch eine Nachricht gesendet werden soll, benötigen wir die ChatID. Diese findet man z.B. über die API heraus, sobald der Bot schon eine Nachricht vom gewünschten Gesprächspartner erhalten hat.

Dazu genügt ein Aufruf der URL https://api.telegram.org/bot<token>/getUpdates, wobei <token> mit dem vom BotFather mitgeteilten Token ersetzt wird.
In der Ausgabe werden nun die vom Bot erhaltenen Nachrichten aufgelistet. Die ChatId ist dabei unter "id" herauszulesen. In folgendem Beispiel lautet sie z.B. 191342985 für den Chat mit terramultimedia.

{"id":191342985,"first_name":"terramultimedia"...

Bots konfigurieren

Abschließend muss jetzt nur noch die im vorherigen Schritt ermittelte ChatID zusammen mit der Bot-API in der Konfigurationsdatei conf/services/addons.cfg hinterlegt werden.
Zwei unterschiedliche Gepräche über den gleichen Bot(-Token) konfiguriert man dann z.B. so:

bots=terra, groupchat

terra.chatId=191342985
terra.token=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

groupchat.chatId=185639485
groupchat.token=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Eine Nachricht wird nun ganz einfach mit dem Befehl sendTelegram("Bot", "Nachricht") in den zugehörigen Chatverlauf gesendet. Wobei "Bot" dem Namen entspricht, der in der telegram.cfg festgelegt wurde.
Eine Regel, die per Telegram über den Start von openHAB informiert würde dann so aussehen:

rule "System start Message"
when
System started
then
sendTelegram("groupchat", "openHAB startet ...")
end

Kommentar schreiben

Sicherheitscode
Aktualisieren