Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Telegram Button Script

    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

    Telegram Button Script

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

      Sieht gut aus.

      Am liebsten wäre mir ein Button (z.B. Name Status) wenn ich den drücke

      sollen alle Zustände/Temperaturen usw. die mir wichtig sind, untereinander

      erscheinen wie bei Dir in deinem Fenster.

      Muss nicht sein, dass es nach Räumen unterteilt ist.

      Ich möchte nur die mir wichtigsten unter Status zusammenfassen aber auch

      die Möglichkeit haben mal einen im Script hinzuzufügen oder rauszunehmen.

      Falls ich ein bestehendes für mich umschreiben müsste, sollte es für mich als

      fortgeschrittener Anfänger machbar sein und ich würde auch gerne verstehen

      was da passiert.

      Gruss

      Paulchen

      1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active last edited by

        beim zweiten Bild werden ja alle angezeigt.

        Nur sind bei meiner Variante die auf einmal anzeigbaren Werte begrenzt. Ich nutze das gleiche Script zum Abfragen der Batteriezustände, also wieviel Volt die Geräte noch haben. Wenn das Ergebnisfenster eine bestimmte Größe/Länge erreicht hatte kam eine Fehlermeldung im Log. Sinngemäß "zu lang, oder zu groß"

        (ich wollte dort auch alle Geräte auf einmal anzeigen, sind aber fast 50 Geräte, das ging dann nicht)

        1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active last edited by

          deshalb bei mir der Weg über Räume..![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201802 ... 76c74f.jpg">https://uploads.tapatalk-cdn.com/20180209/e4c1c31a04d7e6c37f26b92faa76c74f.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201802 ... ca52d8.jpg">https://uploads.tapatalk-cdn.com/20180209/e42e1545840d1d619c2c3296e0ca52d8.jpg</link_text>" />~~~~

          1 Reply Last reply Reply Quote 0
          • Paulchen67
            Paulchen67 last edited by

            So viele werden es bei mir nicht. Sind zwar mitlerweile auch 52 Geräte,

            aber ich will wie gesagt nur die mir wichtigsten angezeigt bekommen.

            6 Systemvariablen

            3 Temperaturen und Luftfeuchte

            1 Terrassentür

            und dann noch 4-5 Zustände von Aktoren.

            1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active last edited by

              ach ja, hier steht das Script schon…

              http://forum.iobroker.net/viewtopic.php ... 43#p100143

              1 Reply Last reply Reply Quote 0
              • Paulchen67
                Paulchen67 last edited by

                Oh Ha, das ist aber ein ordentliches Script.

                Da werde ich beim umschreiben sicherlich Hilfe benötigen.

                1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active last edited by

                  sieht nur so viel aus (durch die Menge der Geräte)

                  Wenn Du es in Ruhe auf dem PC anschaust wirst Du das sehen.

                  Ist eigentlich nicht viel drann.

                  Der obere Teil sind die Button und danach kommen die abzufragenden Geräte.

                  1 Reply Last reply Reply Quote 0
                  • Paulchen67
                    Paulchen67 last edited by

                    OK.

                    Hab mir das Script mal näher angesehen.

                    Bis auf eine Zeile (Zeile 5) und in Teilen Zeile 3 und 4, ist mir alles klar und ich weiß

                    wie ich es umschreiben muss.

                    Zeile 5

                    if (befehl.search(/(?=.*(\bBATTERIE\b|\bVOLL\b|\bLEER\b|\bVOLT\b)).+/ig) != -1)

                    Ich vermute das da ein Zusammenhang besteht mit Zeile 4.

                    Was in Zeile 3 und 4 passiert ist mir auch nicht ganz klar und ob ich da was für mich

                    umschreiben muss.

                    var benutzer = stateval.substring(1,stateval.indexOf("]"));

                    var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);

                    Wenn ich das Script umgeschrieben habe rufe ich es über Text to Command auf indem

                    ich einen Button (z.B. Status) damit belege, oder?

                    Gruß

                    Paulchen

                    Edit:

                    Hab es jetzt mal für mich umgeschrieben bis auf besagte Zeile 5.

                    Läuft aber so noch nicht.

                    id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                        var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                        var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                        var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                    
                         if (befehl.search(/(?=.*(\bBATTERIE\b|\bVOLL\b|\bLEER\b|\bVOLT\b)).+/ig) != -1) {
                            sendTo('telegram', {
                                user: benutzer,
                                text: 'Für welchen Raum möchtest du den Status abfragen?',
                                reply_markup: {
                                    inline_keyboard: [
                    //                    [{ text: 'alle Räume', callback_data: '%Status'}],
                                        [{ text: 'Wohnzimmer', callback_data: '%StatusWohnzimmer'}],
                                        [{ text: 'Flur', callback_data: '%StatusFlur'}],
                                        [{ text: 'Keller', callback_data: '%StatusKeller'}], 
                                        [{ text: 'Terrasse', callback_data: '%StatusTerrasse'}],
                                        [{ text: 'Garten', callback_data: '%StatusGarten'}],
                                    ]
                                 }
                            });
                        }    
                    
                    // Auswahl alle Räume oder einzeln.Alle Räume ist für Telegramm zu lang = Fehler im log
                    /*    else if (befehl === "%Status") {
                                sendTo('telegram', {
                                user: benutzer,
                                text: "Alle Räume Status angefragt",
                                answerCallbackQuery: {
                                text:
                                        '\nXXX ' + getState().val + 
                                        '\nXXX ' + getState().val +
                                        '\nXXX ' + getState().val +
                                        '\nXXX ' + getState().val + 
                                        '\nXXX ' + getState().val +
                                        '\nXXX ' + getState().val +
                                        '\nXXX ' + getState().val            
                                ,
                                showAlert: true
                                }
                            });
                        }*/ 
                        else if (befehl === "%StatusWohnzimmer") {
                                sendTo('telegram', {
                                user: benutzer,
                                text: "Wohnzimmer Status angefragt",
                                answerCallbackQuery: {
                                text: 
                                        'Schranklicht ' + getState("hm-rpc.0.GEQ0209223.1.STATE").val + 
                                        ' %\nWohnzimmerlicht ' + getState("hm-rpc.0.NEQ0257178.1.LEVEL").val +
                                        ' %\nEsszimmerlicht ' + getState("hm-rpc.0.JEQ0202637.1.LEVEL").val +
                                        '\nSteckdose Laptop ' + getState("hm-rpc.0.MEQ1435110.1.STATE").val +
                                        '\nSteckdose Tablet ' + getState("hm-rpc.0.GEQ0209632.1.STATE").val +
                                        '\nTerrassentür ' + getState("hm-rpc.0.MEQ0179152.1.STATE").val
                                ,
                                showAlert: true
                                }
                            });
                        } 
                        else if (befehl === "%StatusFlur") {
                                sendTo('telegram', {
                                user: benutzer,
                                text: "Flur Status angefragt",
                                answerCallbackQuery: {
                                text: 
                                        'Repeater ' + getState("hm-rpc.0.HEQ0102360.2.STATE").val + 
                                        '\nAndriod laden ' + getState("hm-rpc.0.HEQ0102360.1.STATE").val +
                                        '\nFlurlicht ' + getState("hm-rpc.0.JEQ0097197.1.STATE").val +
                                        '\nNachtlicht ' + getState("hm-rpc.0.OEQ0174232.1.STATE").val +
                                        '\nHaustürCam ' + getState("hm-rpc.0.HEQ0175625.1.STATE").val
                                ,
                                showAlert: true
                                }
                            });
                        }
                        else if (befehl === "%Status Keller") {
                                sendTo('telegram', {
                                user: benutzer,
                                text: "Keller Status angefragt",
                                answerCallbackQuery: {
                                text: 
                                        'Kellerfenster Links ' + getState("hm-rpc.0.LEQ1175462.1.STATE").val + 
                                        '\nKellerfenster Rechts ' + getState("hm-rpc.0.LEQ1175621.1.STATE").val +
                                        '\nLuftentfeuchter ' + getState("hm-rpc.0.GEQ0209623.1.STATE").val +
                                        '\nSteckdose KellerCam ' + getState("hm-rpc.0.HEQ0102493.2.STATE").val +
                                        '\nRPi ioBroker ' + getState("hm-rpc.0.MEQ1565039.1.STATE").val +
                                        '\nRPi Nextcloud ' + getState("hm-rpc.0.MEQ1561418.1.STATE").val
                                ,
                                showAlert: true
                                }
                            });
                        }
                        else if (befehl === "%StatusTerrasse") {
                                sendTo('telegram', {
                                user: benutzer,
                                text: "Terrasse Status angefragt",
                                answerCallbackQuery: {
                                text: 
                                        'Markisse ' + getState("hm-rpc.0.NEQ1320295.1.LEVEL").val + 
                                        ' %\nÜberdachung ' + getState("hm-rpc.0.MEQ1008372.1.STATE").val +
                                        '\nFrei ' + getState("hm-rpc.0.MEQ1008372.2.STATE").val +
                                        '\nTerrassenbeleuchtung ' + getState("hm-rpc.0.GEQ0209667.1.STATE").val
                                ,
                                showAlert: true
                                }
                            });
                        }
                        else if (befehl === "%StatusGarten") {
                                sendTo('telegram', {
                                user: benutzer,
                                text: "Garten Status angefragt",
                                answerCallbackQuery: {
                                text: 
                                        'Gartenlicht ' + getState().val +
                                        ' %\nGartenhaus ' + getState("hm-rpc.0.LEQ0771728.1.STATE").val + 
                                        '\nGartenhauslicht ' + getState("hm-rpc.0.OEQ0818221.1.STATE").val + 
                                        '\nBW-Melder ' + getState("hm-rpc.0.LEQ1278626.1.MOTION").val +
                                        '\nLichtwert ' + getState("hm-rpc.0.LEQ1278626.1.BRIGHTNESS").val + 'Lux '
                                ,
                                showAlert: true
                                }
                            });
                        }
                    
                    1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active last edited by

                      @Paulchen67:

                      OK.

                      Hab mir das Script mal näher angesehen.

                      Bis auf eine Zeile (Zeile 5) und in Teilen Zeile 3 und 4, ist mir alles klar und ich weiß

                      wie ich es umschreiben muss.

                      Zeile 5

                      if (befehl.search(/(?=.*(\bBATTERIE\b|\bVOLL\b|\bLEER\b|\bVOLT\b)).+/ig) != -1)

                      Ich vermute das da ein Zusammenhang besteht mit Zeile 4.

                      Was in Zeile 3 und 4 passiert ist mir auch nicht ganz klar und ob ich da was für mich

                      umschreiben muss.

                      var benutzer = stateval.substring(1,stateval.indexOf("]"));

                      var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);

                      Wenn ich das Script umgeschrieben habe rufe ich es über Text to Command auf indem

                      ich einen Button (z.B. Status) damit belege, oder?

                      Gruß

                      Paulchen

                      Edit:

                      Hab es jetzt mal für mich umgeschrieben bis auf besagte Zeile 5.

                      Läuft aber so noch nicht.

                      id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                          var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                          var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                          var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                      
                           if (befehl.search(/(?=.*(\bBATTERIE\b|\bVOLL\b|\bLEER\b|\bVOLT\b)).+/ig) != -1) {
                              sendTo('telegram', {
                                  user: benutzer,
                                  text: 'Für welchen Raum möchtest du den Status abfragen?',
                                  reply_markup: {
                                      inline_keyboard: [
                      //                    [{ text: 'alle Räume', callback_data: '%Status'}],
                                          [{ text: 'Wohnzimmer', callback_data: '%StatusWohnzimmer'}],
                                          [{ text: 'Flur', callback_data: '%StatusFlur'}],
                                          [{ text: 'Keller', callback_data: '%StatusKeller'}], 
                                          [{ text: 'Terrasse', callback_data: '%StatusTerrasse'}],
                                          [{ text: 'Garten', callback_data: '%StatusGarten'}],
                                      ]
                                   }
                              });
                          }    
                          
                      // Auswahl alle Räume oder einzeln.Alle Räume ist für Telegramm zu lang = Fehler im log
                      /*    else if (befehl === "%Status") {
                                  sendTo('telegram', {
                                  user: benutzer,
                                  text: "Alle Räume Status angefragt",
                                  answerCallbackQuery: {
                                  text:
                                          '\nXXX ' + getState().val + 
                                          '\nXXX ' + getState().val +
                                          '\nXXX ' + getState().val +
                                          '\nXXX ' + getState().val + 
                                          '\nXXX ' + getState().val +
                                          '\nXXX ' + getState().val +
                                          '\nXXX ' + getState().val            
                                  ,
                                  showAlert: true
                                  }
                              });
                          }*/ 
                          else if (befehl === "%StatusWohnzimmer") {
                                  sendTo('telegram', {
                                  user: benutzer,
                                  text: "Wohnzimmer Status angefragt",
                                  answerCallbackQuery: {
                                  text: 
                                          'Schranklicht ' + getState("hm-rpc.0.GEQ0209223.1.STATE").val + 
                                          ' %\nWohnzimmerlicht ' + getState("hm-rpc.0.NEQ0257178.1.LEVEL").val +
                                          ' %\nEsszimmerlicht ' + getState("hm-rpc.0.JEQ0202637.1.LEVEL").val +
                                          '\nSteckdose Laptop ' + getState("hm-rpc.0.MEQ1435110.1.STATE").val +
                                          '\nSteckdose Tablet ' + getState("hm-rpc.0.GEQ0209632.1.STATE").val +
                                          '\nTerrassentür ' + getState("hm-rpc.0.MEQ0179152.1.STATE").val
                                  ,
                                  showAlert: true
                                  }
                              });
                          } 
                          else if (befehl === "%StatusFlur") {
                                  sendTo('telegram', {
                                  user: benutzer,
                                  text: "Flur Status angefragt",
                                  answerCallbackQuery: {
                                  text: 
                                          'Repeater ' + getState("hm-rpc.0.HEQ0102360.2.STATE").val + 
                                          '\nAndriod laden ' + getState("hm-rpc.0.HEQ0102360.1.STATE").val +
                                          '\nFlurlicht ' + getState("hm-rpc.0.JEQ0097197.1.STATE").val +
                                          '\nNachtlicht ' + getState("hm-rpc.0.OEQ0174232.1.STATE").val +
                                          '\nHaustürCam ' + getState("hm-rpc.0.HEQ0175625.1.STATE").val
                                  ,
                                  showAlert: true
                                  }
                              });
                          }
                          else if (befehl === "%Status Keller") {
                                  sendTo('telegram', {
                                  user: benutzer,
                                  text: "Keller Status angefragt",
                                  answerCallbackQuery: {
                                  text: 
                                          'Kellerfenster Links ' + getState("hm-rpc.0.LEQ1175462.1.STATE").val + 
                                          '\nKellerfenster Rechts ' + getState("hm-rpc.0.LEQ1175621.1.STATE").val +
                                          '\nLuftentfeuchter ' + getState("hm-rpc.0.GEQ0209623.1.STATE").val +
                                          '\nSteckdose KellerCam ' + getState("hm-rpc.0.HEQ0102493.2.STATE").val +
                                          '\nRPi ioBroker ' + getState("hm-rpc.0.MEQ1565039.1.STATE").val +
                                          '\nRPi Nextcloud ' + getState("hm-rpc.0.MEQ1561418.1.STATE").val
                                  ,
                                  showAlert: true
                                  }
                              });
                          }
                          else if (befehl === "%StatusTerrasse") {
                                  sendTo('telegram', {
                                  user: benutzer,
                                  text: "Terrasse Status angefragt",
                                  answerCallbackQuery: {
                                  text: 
                                          'Markisse ' + getState("hm-rpc.0.NEQ1320295.1.LEVEL").val + 
                                          ' %\nÜberdachung ' + getState("hm-rpc.0.MEQ1008372.1.STATE").val +
                                          '\nFrei ' + getState("hm-rpc.0.MEQ1008372.2.STATE").val +
                                          '\nTerrassenbeleuchtung ' + getState("hm-rpc.0.GEQ0209667.1.STATE").val
                                  ,
                                  showAlert: true
                                  }
                              });
                          }
                          else if (befehl === "%StatusGarten") {
                                  sendTo('telegram', {
                                  user: benutzer,
                                  text: "Garten Status angefragt",
                                  answerCallbackQuery: {
                                  text: 
                                          'Gartenlicht ' + getState().val +
                                          ' %\nGartenhaus ' + getState("hm-rpc.0.LEQ0771728.1.STATE").val + 
                                          '\nGartenhauslicht ' + getState("hm-rpc.0.OEQ0818221.1.STATE").val + 
                                          '\nBW-Melder ' + getState("hm-rpc.0.LEQ1278626.1.MOTION").val +
                                          '\nLichtwert ' + getState("hm-rpc.0.LEQ1278626.1.BRIGHTNESS").val + 'Lux '
                                  ,
                                  showAlert: true
                                  }
                              });
                          }
                      ```` `  
                      

                      In Zeile 5 stehen lediglich "Schlagworte" für Telegram, womit Du die Funktion in Telegram aufrufen kannst. Die kannst Du nach Deinen wünschen anpassen. Also für meine Batterieabfrage nutze ich halt die Begriffe voll/leer/ oder volt (einer würde auch reichen).

                      Für Temperaturabfragen habe ich sowas wie warm oder kalt (halt möglichst kurz, damit ich in Telegramm nicht erst soviel eintippen muss)

                      Text to Command brauchst Du hier gar nicht. Das macht genau diese Zeile 5.

                      Also einfach die oder das Schlagwort bei Telegram eintippen und das Script ruft die Button auf.

                      PS: irgendwie fehlt bei Dir aber auch ganz am Anfang das on… (bei id)

                      PPS: wenn Du das von mir verlinkte Script 1:1 übernimmst und bei Dir einfügst und startest und dann in Deinem Telegram Bot die Begriffe wie voll/leer/volt usw. eintippst und absendest sollten schon mal alle Button da sein (die Du ja verändern kannst im Script). Abfragen kannst Du dann natürlich mit den angezeigten Buttons noch nichts, dafür musst Du Deine Geräte im Script hinterlegen/umschreiben.

                      1 Reply Last reply Reply Quote 0
                      • Paulchen67
                        Paulchen67 last edited by

                        So, funktioniert ohne Probleme.

                        Danke, für deine Unterstützung.

                        Jetzt würde mich noch interessieren, ob man das Aufklappen der

                        Tastatur unterdrücken kann wenn ich durch das Schlüsselwort das

                        Script aufrufe.
                        1441_ca3d8e81-d35a-43f3-b2c8-2da2e7045e52.jpeg

                        Gruß

                        Paulchen

                        1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active last edited by

                          das mit der Tastatur weiß ich leider nicht…

                          1 Reply Last reply Reply Quote 0
                          • R
                            robsdobs last edited by

                            Es ist möglich eine gesendete Message zu editieren und damit beispielsweise die Tastatur zu entfernen. (es gibt ein zeitliches Limit)

                            Dafür benötigst du die message ID der Meldung. Im Github gibt es einen Pull request der zwei neue Datenpunkte hinzufügt, welche die chat ID und message ID der zuletzt gesendeten Meldung enthält.

                            Bis dahin kannst du auch die message ID der letzten empfangenen Meldung nehmen und eins dazu addieren. Solange du nicht mehrere Nutzer hast funktioniert das.

                            1 Reply Last reply Reply Quote 0
                            • B
                              bishop last edited by

                              Ist es auch möglich den button im telegram zu bekommen ohne etwas eingeben zu müssen am anfang?

                              Also direkt bei öffnen des bot channels.

                              4663_screenshot_20180226-170734.png

                              1 Reply Last reply Reply Quote 0
                              • J
                                jan.beres last edited by

                                Hallo,

                                Ich brauche mal wieder eure Hilfe da ich leider noch gar keinen Plan von Scripten habe.

                                Ich möchte gerne im Telegramm Unterpunkte haben, sodass ich zb. Erst auf LED drücken muss und dann die Farben auswählen kann.

                                Bis jetzt sieht es so aus:

                                sendTo('telegram.0', {

                                text: 'Bitte wähle ein Button',

                                reply_markup: {

                                keyboard: [

                                ['Wohnwand An', 'Wohnwand Aus'],

                                ['Arbeitszimmerlicht An', 'Arbeitszimmerlicht Aus'],

                                ['LED An', 'LED Aus'],

                                ['LED Blau'],

                                ['LED Rot'],

                                ['LED Grün'],

                                ['LED Gelb'],

                                ['LED Weiß'],

                                ],

                                resize_keyboard: true,

                                one_time_keyboard: true

                                }

                                });

                                Vielen Dank im Vorraus

                                Jan

                                1 Reply Last reply Reply Quote 0
                                • P
                                  Pascal51882 last edited by

                                  Das geht doch relativ einfach.

                                  Einfach ein Unter Script erstellen in dem du dann die Farben ändern kannst.

                                  Dann kannst du das Script z.B Farben nennen und auf Farben einen Trigger setzen.

                                  Es macht wahrscheinlich sinn die Farbwahl neben An/Aus zu platzieren.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Bielefelder81 last edited by

                                    @bishop:

                                    Ist es auch möglich den button im telegram zu bekommen ohne etwas eingeben zu müssen am anfang?

                                    Also direkt bei öffnen des bot channels.

                                    Screenshot_20180226-170734.png `
                                    Das würde mich auch interessieren 😄

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      bishop last edited by

                                      Versuch mal

                                      one_time_keyboard: false

                                      Gruß

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        excalibur270 last edited by

                                        Hi. Gibt es eine Möglichkeit die Antworten nur an den Empfänger zu senden der die anfrage gestellt hat? Jetzt ist es so:Sohn stellt Anfrage und auch ich bekomme die Antwort.

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          Rocket85 last edited by

                                          Könnte jemand so nett sein und das Original Script wieder einstellen? Der LINK funktioniert leider nicht mehr!

                                          Vielen DANK!

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            robson last edited by robson

                                            Hallo zusammen,

                                            ich brauche eure Hilfe.
                                            Ich versuche ein einfaches Inline Keyboard-Skript zum Laufen zu bringen (welches keinen Sinn macht und für mich zum Testen gedacht ist).
                                            Sobald sich der Status meines Fensterkontaktes ändert (von true auf false), soll Telegram mir dies mit dem Inline-Keyboard und den Tasten 1, 2, 3, 4 anzeigen. Sobald ich dann eine Taste drücke, soll Telegram mir anzeigen "Du hast Taste x gedrückt".

                                            Das funktioniert leider nicht 😞 Was mache ich falsch?

                                            var TFK = 'hm-rpc.0.OEQ0392670.1.STATE'; //ID Tür-Fensterkontakt
                                            
                                            on({id: TFK, val: false, ack: true}, function (obj) {
                                                var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                                                var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                                                var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                                            
                                                sendTo('telegram', {
                                                    chatId: '12345',
                                                    text: 'Tippe auf eine Zahl:',
                                                    reply_markup: {
                                                        inline_keyboard: [
                                                            [{ text: '1', callback_data: '%1'}],
                                                            [{ text: '2', callback_data: '%2'}],
                                                            [{ text: '3', callback_data: '%3'}], 
                                                            [{ text: '4', callback_data: '%4'}],
                                                        ]
                                                     }
                                                });
                                            
                                                if (befehl === "%1") {
                                                    sendTo('telegram', {
                                                        chatId: '12345',
                                                        text: "Taste 1 gedrückt",
                                                    });
                                                }
                                                if (befehl === "%2") {
                                                    sendTo('telegram', {
                                                        chatId: '12345',
                                                        text: "Taste 2 gedrückt",
                                                    });
                                                }
                                                if (befehl === "%3") {
                                                    sendTo('telegram', {
                                                        chatId: '12345',
                                                        text: "Taste 3 gedrückt",
                                                    });
                                                }
                                                if (befehl === "%4") {
                                                    sendTo('telegram', {
                                                        chatId: '12345',
                                                        text: "Taste 4 gedrückt",
                                                    });
                                                }
                                            });
                                            

                                            @dslraser
                                            Könntest du dein Script bitte noch mal posten? Der Thread, den du oben verlinkt hast, exisistert anscheinend nicht mehr. Danke.

                                            dslraser 4 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            722
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            41
                                            22102
                                            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