Benutzer-Werkzeuge

Webseiten-Werkzeuge


telegram:start

Telegram Nachrichten

Um Nachrichten oder Alarmierungen per Telegram zu versenden braucht man die Erweiterung CUXD, einen Telegram Account, einen sogenannten Telegram Bot, eine Systemvariable und ein Programm auf der CCU.

Zum Einrichten des Bots gibt es eine exzellente Anleitung von Erhard Simdorn so dass ich das hier nicht wiederholen werde. Folgt einfach der Anleitung hinter dem Link und dann geht es auf der CCU weiter:

Als erstes brauchen wir eine Systemvariable in die wir Texte schrieben koennen die dann wiederum per Telegram versendet werden. Dazu wird unter Einstellungen→Systemavriable eine Variable namens Telegram vom Typ Zeichenkette angelegt.

Als naechstes brauchen wir dann das Programm um Telegram Nachrichten zu versenden. Dazu wird ein neues Programm angelegt welches auf die Aenderung bzw. Aktualisierung der oben angelegten Systemvariable reagiert:

Das Skript welches in der letzten zeile einzutragen ist sieht folgerdermassen aus:

! HomeMatic-Script
! TELEGRAM-FRAMEWORK
! http://www.christian-luetgens.de/homematic/telegram/telegramframework/T-Framework.htm


object o = dom.GetObject ("Telegram");
string s = o.Value();

if (s != "") {
  string s_cmd = "wget --no-check-certificate --quiet -O /dev/null \"https://api.telegram.org/bot[API-Key]/sendMessage?chat_id=[BOT-ID)&text=" # s.ToUTF8().UriEncode() # "\"";
  dom.GetObject("CUxD.CUX2801001:5.CMD_EXEC").State (s_cmd);
  o.State ("");
}

API-Key und BOT-ID sind ohne die rechteckigen Klammern einzutragen. Woher und wie man diese bekommt steht in der verlinkten Anleitung oben.

Danach kann man per Programm einfach einen Text in die Systemvariable schreiben und dieser wird dann per Telegram versand. Ich finde diese Loesung etwas besser als die o.a. da man, bei Aenderung des Telegram Bots nur an einer Stelle etwas anpassen muss und nicht in jedem Programm in dem man den Telegram Versand benutzt.

telegram/start.txt · Zuletzt geändert: 2022/10/25 18:42 (Externe Bearbeitung)