Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

  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.2k

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

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

Telegram Button Script

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
41 Posts 15 Posters 23.6k Views 21 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • kmxakK Offline
    kmxakK Offline
    kmxak
    Most Active
    wrote on last edited by
    #1

    Moin,

    ich möchte hier mal eine kurze Anleitung zu Telegram und Buttons geben. Falls man das Script verkürzen kann oder zusammenfassen kann könnt ihr ja gerne schreiben. Ich hab es ja leider nicht so mit dem Programmieren. :lol:

    Was wird benötigt?

    ioBroker mit Text to command Adapter und den Telegram Adapter.

    Ich gehe mal davon aus das das alles schon läuft.

    Ich trigger den ersten Button befehl per Text to command mit:

    Schalte irgendwas an oder aus | Übersicht (Das ist Aktivierungswort für die Buttons) | Haken setzen | script auswählen was wir gleich erstellen | true | Antwort leer lassen
    

    Zum Script (Beispiel Script):

    sendTo('telegram.0', {
        text:   'Bitte wähle ein Button',
        reply_markup: {
            keyboard: [
                ['Zeit', 'Temperaturabfrage'],
            ],
            resize_keyboard:   true,
            one_time_keyboard: true
        }
    });
    

    Text wird dann beim Aktivieren im Telegram angezeigt.

    Zeit und Temperaturabfrage sind triggerwörter für Text to Command.

    Zeit ist kein Script sondern ein Text to Command befehl der die Zeit wiedergibt.

    Temperaturabfrage ist ein weiteres Script mit Buttons.

    Dazu erstellen wir mit Text to Command

    Schalte irgendwas an oder aus | Temperaturabfrage | Haken setzen | script auswählen was wir gleich erstellen | true | Antwort leer lassen
    

    Script:

    sendTo('telegram.0', {
        text:   'Wähle ein Zimmer',
        reply_markup: {
            keyboard: [
                ['Temperatur Küche', 'Temperatur Wohnzimmer', 'Temperatur Schlafzimmer'],
                ['Übersicht']
            ],
            resize_keyboard:   true,
            one_time_keyboard: true
        }
    });
    

    Nun habe ich oben 3 Buttons mit 3 Triggerwörtern und unten ein Button womit ich zurück auf die Übersicht komme.

    Übersicht haben wir ja schon erstellt.

    Ich habe in 3 Räumen HM Heizkörperaktoren die ich mit Text to Command nun abfrage und zwar die Temperatur mit den oben im Script geschriebenen Triggerwörtern.

    Ich hoffe das es verständlich genug beschrieben ist. Ansonsten einfach melden.

    Hier noch ein paar Bilder.
    2343_telegram.png
    2343_ttc.png

    Gruß Alex

    1 Reply Last reply
    0
    • dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      wrote on last edited by
      #2

      Ich grabe das noch mal aus. Ich kriege es nicht gebacken ? Wenn ich die Scripte manuell auslöse erscheinen im Bot brav die Button. Aber wenn ich diese Button betätige passiert nichts ? Bzw. auch anders herum, wie löse ich am Handy die Abfrage (Button) aus ?

      Ich habe Deine Scripte mal 1 zu 1 kopiert und auch die im Screenshot gezeigten Dinge 1 zu 1 bei mir eingestellt.

      (allerdings teste ich es mit einer Abfrage wie der Status meines Fernsehers ist–-, also an oder aus)

      Irgendwas mache ich wohl falsch ?

      LG Heiko

      Edit: ich habe es hin bekommen und jetzt auch verstanden. Danke für die Anleitung.

      1 Reply Last reply
      0
      • BuZZyB Offline
        BuZZyB Offline
        BuZZy
        wrote on last edited by
        #3

        Text 2 command braucht man eigentlich nicht. Man kann auch Direkt im Script auf die Telegram Nachrichten reagieren.

        Habe sowas auch gemacht: http://forum.iobroker.net/viewtopic.php?p=78219#p78219

        Wenn ich in Telegram schreibe "Wie ist die Temperatur im Wohnzimmer" kriege ich die Antwort … "Temperatur im Wohnzimmer beträgt x °C"..

        Wenn ich schreibe "Wie warm ist es im Kellerloch"? Kriege ich eine Auswahl mit den Verfügbaren Zimmern, weil es das Zimmer "Kellerloch" im Skript nicht gibt.

        Ist eventuell auch für den ein oder anderen interessant.

        Gruß

        1 Reply Last reply
        0
        • Paulchen67P Offline
          Paulchen67P Offline
          Paulchen67
          wrote on last edited by
          #4

          Hallo Zusammen,

          ich greife das Thema hier noch mal auf da ich aktuell eine Frage dazu habe.

          Soweit funktioniert alles mit Telegram und den Button. Aber es gibt doch bestimmt eine

          Möglichkeit die 3 Werte (oder auch noch mehr) mit einem Button abzufragen.

          Im Moment sieht es noch so aus:
          1441_telegram_temp.jpeg
          1441_texttocom.jpeg

          Ich habe es schon selber versucht, aber irgendwie fehlt da noch was oder ist falsch.

          Ich habe auch keine Ahnung wie ich das Script in Text to Command platzieren soll.
          1441_script.jpg

          Ich bin mir auch nicht sicher ob das in Zeile 4 alles stimmt da ich es aus einem bestehenden

          Script hier aus dem Forum für mich abgeändert habe.

          Vielleicht kann mir einer von den Spezialisten unter die Arme greifen und mein Script "reparieren"

          oder falls es völliger Mühl ist, eine andere Lösung vorschlagen/machen.

          Für eure Mühe vielen Dank im voraus.

          Gruss

          Paulchen

          ioBroker mit Ubuntu auf Intel NUC
          piVCCU auf Raspberry Pi 3

          1 Reply Last reply
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            wrote on last edited by
            #5

            was hälst Du von dieser Variante ?

            (ich bin gerade unterwegs, Script habe ich jetzt nicht zur Hand)![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201802 ... b60c51.jpg">https://uploads.tapatalk-cdn.com/20180209/9e84620c88ab8e462f7763b2c4b60c51.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201802 ... c90d18.jpg">https://uploads.tapatalk-cdn.com/20180209/f1a149fd7ed615204f9e9f60a0c90d18.jpg</link_text>" />~~~~

            1 Reply Last reply
            0
            • Paulchen67P Offline
              Paulchen67P Offline
              Paulchen67
              wrote on last edited by
              #6

              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

              ioBroker mit Ubuntu auf Intel NUC
              piVCCU auf Raspberry Pi 3

              1 Reply Last reply
              0
              • dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                wrote on last edited by
                #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 Reply Last reply
                0
                • dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  • Paulchen67P Offline
                    Paulchen67P Offline
                    Paulchen67
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      wrote on last edited by
                      #10

                      ach ja, hier steht das Script schon…

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

                      1 Reply Last reply
                      0
                      • Paulchen67P Offline
                        Paulchen67P Offline
                        Paulchen67
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          • Paulchen67P Offline
                            Paulchen67P Offline
                            Paulchen67
                            wrote on last edited by
                            #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 Reply Last reply
                            0
                            • dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              wrote on last edited by
                              #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 Reply Last reply
                              0
                              • Paulchen67P Offline
                                Paulchen67P Offline
                                Paulchen67
                                wrote on last edited by
                                #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 Reply Last reply
                                0
                                • dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  wrote on last edited by
                                  #16

                                  das mit der Tastatur weiß ich leider nicht…

                                  1 Reply Last reply
                                  0
                                  • R Offline
                                    R Offline
                                    robsdobs
                                    wrote on last edited by
                                    #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 Reply Last reply
                                    0
                                    • B Offline
                                      B Offline
                                      bishop
                                      wrote on last edited by
                                      #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 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        jan.beres
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        0
                                        • P Offline
                                          P Offline
                                          Pascal51882
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          285

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe