Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Telegram Button Script

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Telegram Button Script

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
41 Beiträge 15 Kommentatoren 23.6k Aufrufe 21 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #7

    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 Antwort Letzte Antwort
    0
    • dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #8

      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 Antwort Letzte Antwort
      0
      • Paulchen67P Offline
        Paulchen67P Offline
        Paulchen67
        schrieb am zuletzt editiert von
        #9

        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.

        ioBroker mit Ubuntu auf Intel NUC
        piVCCU auf Raspberry Pi 3

        1 Antwort Letzte Antwort
        0
        • dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #10

          ach ja, hier steht das Script schon…

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

          1 Antwort Letzte Antwort
          0
          • Paulchen67P Offline
            Paulchen67P Offline
            Paulchen67
            schrieb am zuletzt editiert von
            #11

            Oh Ha, das ist aber ein ordentliches Script.

            Da werde ich beim umschreiben sicherlich Hilfe benötigen.

            ioBroker mit Ubuntu auf Intel NUC
            piVCCU auf Raspberry Pi 3

            1 Antwort Letzte Antwort
            0
            • dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #12

              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 Antwort Letzte Antwort
              0
              • Paulchen67P Offline
                Paulchen67P Offline
                Paulchen67
                schrieb am zuletzt editiert von
                #13

                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
                            }
                        });
                    }
                

                ioBroker mit Ubuntu auf Intel NUC
                piVCCU auf Raspberry Pi 3

                1 Antwort Letzte Antwort
                0
                • dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #14

                  @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 Antwort Letzte Antwort
                  0
                  • Paulchen67P Offline
                    Paulchen67P Offline
                    Paulchen67
                    schrieb am zuletzt editiert von
                    #15

                    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

                    ioBroker mit Ubuntu auf Intel NUC
                    piVCCU auf Raspberry Pi 3

                    1 Antwort Letzte Antwort
                    0
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #16

                      das mit der Tastatur weiß ich leider nicht…

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        robsdobs
                        schrieb am zuletzt editiert von
                        #17

                        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.

                        Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          bishop
                          schrieb am zuletzt editiert von
                          #18

                          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 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            jan.beres
                            schrieb am zuletzt editiert von
                            #19

                            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 Antwort Letzte Antwort
                            0
                            • P Offline
                              P Offline
                              Pascal51882
                              schrieb am zuletzt editiert von
                              #20

                              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 Antwort Letzte Antwort
                              0
                              • B Offline
                                B Offline
                                Bielefelder81
                                schrieb am zuletzt editiert von
                                #21

                                @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 :D

                                1 Antwort Letzte Antwort
                                0
                                • B Offline
                                  B Offline
                                  bishop
                                  schrieb am zuletzt editiert von
                                  #22

                                  Versuch mal

                                  one_time_keyboard: false

                                  Gruß

                                  1 Antwort Letzte Antwort
                                  0
                                  • E Offline
                                    E Offline
                                    excalibur270
                                    schrieb am zuletzt editiert von
                                    #23

                                    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 Antwort Letzte Antwort
                                    0
                                    • R Offline
                                      R Offline
                                      Rocket85
                                      schrieb am zuletzt editiert von
                                      #24

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

                                      Vielen DANK!

                                      1 Antwort Letzte Antwort
                                      0
                                      • R Offline
                                        R Offline
                                        robson
                                        schrieb am zuletzt editiert von robson
                                        #25

                                        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.

                                        dslraserD 4 Antworten Letzte Antwort
                                        0
                                        • R 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.

                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #26

                                          @robson
                                          kann ich später machen, bin unterwegs.

                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          463

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe