smarthome-tricks.de

ioBroker – Auf Telegram-Nachrichten reagieren

In diesem Artikel zeige ich Dir, wie Du auf Telegram-Nachrichten mittels Schaltflächen reagieren kannst.

In einem vorherigen Artikel habe ich Dir bereits gezeigt, wie Du Dein Smart-Home z.B. von unterwegs aus mit der Telegram-App steuern kannst. Hierfür hatten wir den Telegram-Bot um Schaltflächen zur Steuerung erweitert. In diesem Artikel zeige ich Dir jetzt, wie Du automatische Nachrichten Deines Smart-Homes mit Schaltflächen beantworten kannst. Hier erstellen wir uns ein Script, welches zu einer festen Uhrzeit eine Telegram-Nachricht mit Schaltflächen verschickt.

Im ersten Schritt wechseln wir nun in den Script-Bereich Deiner ioBroker Installation. Über die Plus-Schaltfläche kannst Du hier ein neues Script erstellen.

Auf dem Auswahl-Dialog der Script-Art wählen wir hier JavaScript aus.

Im nächsten Schritt übernehmen wir das folgende Script in unser neu angelegtes Script.

Im Script wird ein Schedule (zeitlich gesteuerte Ausführung) definiert, welche das Script um 06:12 startet. Dabei wird eine normale Telegram-Nachricht mit einem reply_markup erstellt. Im reply_markup werden über das inline_keyboard die entsprechenden Schaltflächen mit Ja und Nein sowie dem callback_data hinterlegt. Auf das gewählte callback_data können wir dann im Antwort-Bereich entsprechend reagieren. In meinem Beispiel wird hier dann eine Antwort mit Ja oder Nein per Telegram versandt. Das Script zeigt somit wirklich sehr rudimentär wie eine entsprechende Nachricht mit Antwort-Schaltflächen mittels Telegram aufgebaut werden kann.

schedule({hour: 6, minute: 12}, async function(){
  sendTo('telegram.0', 'ask', {
    text: 'Möchtest Du das Licht einschalten?',
    reply_markup: {
        inline_keyboard: [
            [{ text: 'Ja',  callback_data: 'y' }, { text: 'Nein', callback_data: 'n' }]
        ]
    }
  }, msg => {	
    // Auf die Antwort reagieren
    if ( msg.data == 'y' ) {
        sendTo("telegram", "send", { text: "Die Antwort war Ja!" });
    } else {
        sendTo("telegram", "send", { text: "Die Antwort war Nein!" });
    }       
  });
});

Nach dem wir das Script nun erstellt und gespeichert haben, müssen wir im nächsten Schritt das Script aktivieren. Klicke dazu auf den Pfeil neben der Script-Bezeichnung. Das Script sollte dann wie folgt dargestellt werden.

Das Script wird dann zur hinterlegten Uhrzeit ausgeführt und wie folgt in der Telegram-App dargestellt. Über die beiden Schaltflächen kannst Du dann z.B. Aktoren steuern.

Ich hoffe Dir gefällt der Artikel. Über Kommentare, Anregungen oder Ideen freue ich mich wie immer. Lass mir dazu gerne einen Kommentar unterhalb des Artikels da.

Die mobile Version verlassen