Telegram - old API method

Aus FHEMWiki
Wechseln zu: Navigation, Suche
Telegram - old API method
Zweck / Funktion
Senden und Empfangen von Nachrichten (Text und Fotos) mit dem freien Messagingdienst Telegram
Allgemein
Typ Inoffiziell
Details
Dokumentation Thema
Support (Forum) Unterstützende Dienste
Modulname 70_Telegram.pm
Ersteller Viegener (Forum /Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


X mark.svg Achtung: Für Telegram wird empfohlen das offizielle TelegramBot Modul zu verwenden, das auch Teil der Fhem-Distribution ist. Nur TelegramBot wird weiterentwickelt und benötigt auch anders als dieses Modul keine zusätzliche Software zum Betrieb.

Das Telegram-Modul ermöglicht das Senden und Empfangen von Nachrichten über den Telegram-instant messaging Dienst (https://telegram.org/). Es entsteht eine Möglichkeit Benachrichtungen aus FHEM zu versenden, zum Beispiel Alarmmeldungen. Ausserdem können auch Kommandos über Telegram an FHEM gesendet werden um Steuerungsbefehle in FHEM auszulösen.

Für den Betrieb des Telegram Moduls ist eine funktionsfähige Installation des inoffiziellen telegram command-line clients für Linux, telegram-cli (https://github.com/vysheng/tg), erforderlich.

Für die Unterstützung des Messengers WhatsApp siehe Modul yowsup.

Über Telegram Instant Messaging

Telegram-IDs und Versand/Empfang von Nachrichten sind kostenfrei. Clients sind für gängige Smartphonesysteme erhältlich (iOS iPhone und Tablet, Android, Windows Phone) und können auch aus dem WebBrowser verwendet werden. Es gibt auch einen Kommandozeilen-Client für Linux, der die Grundlage dieses Moduls darstellt. Mehrfachanmeldungen, auch parallel mit verschiedenen Geräten (z.B. Tablet und Smartphone), sind möglich. Gruppenchats und Chats mit End-2-End-Verschlüsselung werden ebenfalls unterstützt.

Features

Unterstützt werden:

  • Versand von Textnachrichten an einen vordefinierten Kontakt (default peer)
  • Versand von Textnachrichten an einen vordefinierten Kontakt als verschlüsselter Chat (secret chat)
  • Versand von Bildern
  • Empfang von Textnachrichten von beliebigen Kontakten
  • Direkte Befehle an den telegram-client

Eine detaillierte Beschreibung des Moduls ist im FHEM Forum in diesem Diskussionsthread zu finden, die jeweils aktuelle Version des Moduls ist im ersten Beitrag als Anhang verfügbar.

Hinweise zum Betrieb mit FHEM

Emblem-question-yellow.svg Achtung: telegram-cli wird momentan NICHT aus FHEM heraus gestartet, sondern muss separat gestartet werden. Ausserdem muss telegram-cli bereits angemeldet sein und entsprechende Kontakte müssen eingerichtet werden. Generell ist auch die Verwendung einer existierenden telegram, empfohlen wird aber die Verwendung einer getrennten ID, zum Beispiel für die eigene Festnetznummer.

telegram-cli kann generell auch auf einem anderen Host betrieben werden, da die Kommunikation mit telegram-cli über Netzwerkprotokolle erfolgt.

Das Telegram-Modul basiert auf einem im Hintergrund laufenden telegram-cli (https://github.com/vysheng/tg).

Informationen zu Einrichtung und Betrieb von telegram-cli finden sich im Readme in obigem Repository. Weitere Informationen finden sich auch im Wiki des github Repositories: https://github.com/vysheng/tg/wiki

Hinweise zum Start von telegram-cli mit fhem finden sich in der Commandref / Doku zum Modul.

X mark.svg Es gibt keine Beschreibung eines Moduls Telegram bzw. Hinweise zu telegram-cli in der FHEM-commandref


Hier eine Kurzanleitung zur Installation und zum Ausführen auf einem RaspberryPI:

  1. Notwendige Pakete installieren mittels sudo apt-get install libreadline-dev libconfig-dev libssl-dev libjansson-dev python-dev lua5.2 liblua5.2-dev libevent-dev lua-lgi
  2. telegram-cli vom Repository laden: git clone --recursive https://github.com/vysheng/tg.git && cd tg
  3. Konfigurieren mittels ./configure und anschließend mit make erstellen. Das dauert ggf ziemlich lange >>20min
  4. zum Einrichten einmal Telegram starten: bin/telegram-cli -k tg-server.pub . Dabei wird die eigene Telefonnummer im Format +49301234567 verlangt. Der Bestätigungscode muss eingegeben werden und evtl der eigene Name. Eventuell mal mit msg <Emfänger> <Nachrichttext> testen ob alles funktioniert. Telegram beenden.
  5. telegram im Hintergrund starten: bin/telegram-cli -k tg-server.pub -W -C -d -P <portnummer> -l 20 -N & dabei beliebige freie Portnummer vergeben
  6. Neuestes FHEM Modul in den /opt/fhem/FHEM Ordner kopieren und mit den nötigen Rechten versehen, FHEM neu starten
  7. Telegram in FHEM definieren: define myTelegram Telegram <portnummer>
  8. das Attribut defaultPeer setzten damit Messages verschickt werden können (über den set msg Befehl)

Links