Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Auf Telegram Nachricht reagieren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Auf Telegram Nachricht reagieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MrSnatz last edited by

      Hallo,

      Ich komme nicht weiter und vllt kann mir jemand einen Tipp geben.

      Ich möchte via Telegram eine Uhrzeit z.B. 04:00 Uhr an meinen Raspberry schicken. Dieser soll dann das nächste mal wenn es vier Uhr Morgens ist etwas ausführen z.b. Lampe an.

      In FHEM konnte ich das ganz gut mit einem notify machen aber wie geht es beim ioBroker und Blockly???

      Ich muss doch auf das object „request“ von „Telegram.0“ reagieren, oder?

      Also:

      Falls object (Last Received request) Text = 04:00 Uhr

      Schalte Lampe an um 04:00 Uhr.

      Was muss ich in Text to Command einstellen? Und wie bekomme ich die Zeit ( wenn das nächste mal 04:00 Uhr) rein?

      Wäre schön für Ansätze oder gute Links hilfreich. Habe in der suche nur etwas über versenden von Nachrichten oder zeitverzögert gefunden.

      Vielen Dank für eure Hilfe

      1 Reply Last reply Reply Quote 0
      • D
        dpt last edited by

        ich habe es in zwei Schritten gemacht:

        1. die Telegram Meldung im iobroker zerlegen in User und "Befehl"

        var input;
        var field;
        var user;
        on({id: 'telegram.0.communicate.request'}, function (obj) {
        input = getState('telegram.0.communicate.request').val;
        fields = input.split(']');
        user = fields[0];
        setState('variablen.0.telegram.befehl', fields[1]);
        fields = user.split('[');
        user = fields[1];
        setState('variablen.0.telegram.user', user);
        });
        
        

        variablen.0.telegram.befehl

        variablen.0.telegram.user

        Sind zwei variablen wo ich unter Objekte erstellt habe, dass sie von jedem Program aus zugänglich sind.

        2. auf Befehle reagieren

        var Datensetzen = 0; // Punkt für 2 Antwort / 1 Abwesenheit / 2 Programm an aus / 3 Weihnachstbeleuchtung / 4 Storen
        
        on({id: 'variablen.0.telegram.user'}, function (obj) {
        switch (getState('variablen.0.telegram.befehl').val) {
        //Abwesenheit 
        case 'Abwesenheit':
            sendTo('telegram', {user: getState('variablen.0.telegram.user').val, text: 'Tage?'});
            setTimeout(function (obj){Datensetzen=0;}, 20000);
            setTimeout(function (obj){Datensetzen=1;}, 500);
        break; 
        // ander case Brak einfügen
        default:
        //Abwesenheit Eingabe Zeit
        if (Datensetzen==1){                    //1 steht bei mir für abwesenheit !! musst bei jedem anpassen                          
            setState('variablen.0.Abwesenheit', Number(getState('variablen.0.telegram.befehl').val));
            sendTo('telegram', {user: getState('variablen.0.telegram.user').val, text: 'Die Abwesenheit ist ' + getState('variablen.0.telegram.befehl').val + ' Tage'});
        Datensetzen = 0;}
        }});
        
        

        var Datensetzen -> dort mit der Zahl, definierst du welche "if" abfrage du aktivierst als 2 Meldung für 20 Sekunden. Am ende der Abfrage wird es wieder auf 0 gesetzt.

        Dort kannst mit:

        case… ..... break;

        noch x Grundabfragen einstellen

        if

        dort gibst du dann z.Bsp. die Zeit ein, hast 20 Sekunden zeit, danach wird Datensetzen wieder auf 0 gesetzt

        also, Beispiel läuft so

        du gibst ein -> Abwesenheit

        er antwortet -> Tage?

        danach gibst du innert 20 Sekunden die gewünschten Tage ein -> z. Bsp. 2

        er bestätigt das er die Variable Tag in Objekte auf "z. Bsp" 2 tage eingestellt hat.

        Es gibt wahrscheinlich eleganter Versionen, bin jedoch kein Programmierer.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        397
        Online

        31.9k
        Users

        80.2k
        Topics

        1.3m
        Posts

        2
        2
        781
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo