in diesem Thread hatten Sillium und jmaus ja bereits auf die Möglichkeit hingewiesen, Push-Nachrichten recht komfortabel über so genannte Telegram-Bots zu versenden. Bots sind nichts anderes, als virtuelle User, von denen man Nachrichten erhalten und denen man auch Nachrichten senden kann. Mich würde jetzt mal interessieren, was man damit nun so alles machen kann und welche Einschränkungen es in Verbindung mit der CCU gibt. Daher soll das hier ein entsprechender Erfahrungs-Thread werden.
Aktuell nutze ich am häufigsten Pushover, um mir alle möglichen Infos von meiner CCU senden zu lassen. Zum Beispiel sämtliche Servicemeldungen über das Allinclusive-Skript von Alchy oder auch Meldungen darüber, dass die Waschmaschine oder der Trockner fertig sind, dass ein Einwurf in den Briefkasten erfolgte und dieser geleert wurde, wieviel Energie am zurückliegenden Tag verbraucht wurde, ob das Haus verlassen wurde, etc. pp. Im Moment sind es ca. 30 bis 40 verschiedene Skripte, die mir entsprechende Push-Nachrichten senden können. Pushover bietet viele Vorteile, wie z.B. die Möglichkeit, Texte per HTML-Tags formatieren zu können oder Push-Nachrichten gezielt mit dem Ereignis zuweisbaren Sounds an einzelne Geräte senden zu können. Was zum Beispiel nicht geht, ist das Senden von Bildern, Sounds und anderen Dateien. Und hier setzt Telegram mit seinen Bots an. Die können das nämlich alles und noch mehr.
Das Einrichten eines Bots gestaltet sich recht einfach.
- Sofern man noch keinen Telegram-Account hat, läd man sich die Telegram-App oder das Telegram-Programm für sein OS herunter (es werden eigentlich alle gängigen mobilen und Desktop-OS unterstützt), gibt eine Telefonnummer an, an die die SMS mit dem Freischaltcode geschickt werden soll und schaltet sich einen Account frei.
- In der InApp-Suche gibt man dann einfach BotFather ein und startet anschließend mit einen Chat mit ihm. Über
Code: Alles auswählen
/start
richtet man dann den Bot ein. Dazu fragt der Botfather nach einem Namen für den Bot (z.B. "HomeMatic") und anschließend nach einem Usernamen, der immer auf "bot" oder "Bot" enden muss (z.B. "MeinHMBot"). Das war's. Nun ist der Bot eingerichtet und man erhält vom BotFather eine Nachricht mit dem API-Schlüssel des Bots und mit einem Link (z.B. "telegram.me/MeinHMBot").Code: Alles auswählen
/newbot
- Damit der Bot Einem über die CCU eine Nachricht schicken kann, muss man noch die chat_id des Empfängers, also von sich selbst, herausfinden. Dazu geht man zunächst in der App auf den vom BotFather gesenden Link, gibt entweder "/start" ein oder drückt unten auf den Start-Button und sendet eine kleine Nachricht an ihn (z.B. "Hallo Bot"). Im Anschluss startet man einen Browser und gibt folgendes ein: Achtung, die "<>" dienen lediglich der optischen Abgrenzung und sind folglich wegzulassen. Unter Linux wäre die Eingabe übrigens
Code: Alles auswählen
https://api.telegram.org/bot<API-Schlüssel des Bots>/getUpdates
Nun sucht man in dem angezeigten String nach der ID des Chats. Diese steht in der Regel hinterCode: Alles auswählen
curl -s -X POST https://api.telegram.org/bot<API-Schlüssel des Bots>/getUpdates
Das war's.Code: Alles auswählen
"chat"; {"id":
Code: Alles auswählen
string message = "Dies ist ein Test";
string chatid = " "; ! chat_id des Empfängers
string botAPI = " "; ! API des eingerichteten Bots
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);
So, und nun bin ich mal über Eure Erfahrungen mit den Telegram-Bots gespannt. Was geht, was geht nicht?
Bis dann,
Thorsten