Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Pushover + Command = Telegram

    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

    Pushover + Command = Telegram

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

      @blauholsten:

      Ich hoffe da bekommst du keinerlei Ärger mit den Urheber 😄 :lol: `

      Vielleicht mag Bluefox es ja auch für die ioBroker.vis App verwenden. 😉

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

        Hab gestern Abend noch mal ein wenig mit dem text2command-Adapter herum gespielt. Ist schon ein schönes Tool, auch wenn ich noch ein paar Dinge vermisse, wie z.B. das Anfordern von Bildern oder Soundfiles oder das Steuern mehrerer Aktoren ohne die Notwendigkeit des Szene-Adapters. Das lässt sich zwar - wie weiter vorne gezeigt - auch über den JS-Adapter mit entsprechenden Javaskripten lösen, aber schöner fände ich es, wenn es gleich im text2command-Adapter integriert wäre.

        Gruß,

        Thorsten

        PS.: Ich war überrascht, wie schnell Telegram eine Antwort auf einen Request schickt. Das geht ja binnen einer Zehntelsekunde. Ich nutze Telegram ja schon länger als Push-Dienst auf meiner CCU und für den https://www.doorpi.org/forum/. Zudem gab es auch im http://homematic-forum.de/forum/viewtopic.php?f=31&t=29611 schon sehr intensive Bemühungen und Erfolge hinsichtlich der Steuerung der CCU per Telegram. Aber hier über den ioBroker macht es besonders viel Spaß, da es wirklich einfach einzurichten ist.

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

          @dtp:

          auch wenn ich noch ein paar Dinge vermisse, wie z.B. das Anfordern von Bildern `
          Gibt es doch:

          ! var source_url = getState('javascript.0.Xeoma.Kamera.01.Snapshot').val, // URL Kamerabild dest_path = '/Users/pix/Documents/iobroker/iobroker-data/webcam/'; ! var request = require('request'); var fs = require('fs'); ! // Bild an telegram schicken (immer Dienst 3) function sendImage (pfad) { setTimeout(function() { sendTo('telegram.1', pfad); log('Webcam Bild per telegram verschickt'); }, 2 * 1000); } ! // Bild speichern function saveImage() { request.get({url: source_url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(dest_path + 'image1.jpg', body, 'binary', function(err) { ! if (err) { log('Fehler beim Bild speichern: ' + err, 'warn'); } else { log('Webcam Bild gespeichert'); sendImage(dest_path + 'image1.jpg'); } }); }); } ! // bei Skriptstart ausführen saveImage(); !

          Gruß

          Pix

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

            Schon klar, pix, aber nicht direkt aus dem text2command-Adapter heraus, oder?

            In dem Adapter würde ich übrigens auch noch gerne eine Option zum Starten von Programmen per "dom.GetObject("…").ProgramExecute()" sehen.

            Gruß,

            Thorsten

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

              naja, schon aus telegram. Brauchst ja nur die Funktion saveImage() aufrufen. in meinem Fall mache ich das über scriptEnabled. Und scriptEnabled setze ich per telegram Befehl am Smartphone auf true. Dann kommt das Webcam-Foto in den Chat.

              Gruß

              Pix

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

                Das habe ich jetzt noch nicht so ganz durchdrungen. Ist das die gleiche Lösung, wie http://forum.iobroker.net/viewtopic.php?f=23&t=2285&start=20#p25263 von Solear?

                Übrigens würde ich mir noch wünschen, dass es für Telegram unter iOS die Option gibt, auf einzelne Bots nur über TouchID zugreifen zu können. Immerhin ist der Bot ja nach einmaliger Eingabe des Passworts völlig frei zugänglich, so dass jeder, der mein freigeschaltetes iPhone hat, meine HomeMatic beeinflussen kann. Vielleicht frag ich mal die Telegram-Macher, ob sie das implementieren können.

                Gruß,

                Thorsten

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

                  Hi,

                  ich nochmal.

                  Gibt es eigentlich eine Möglichkeit, einen Zahlenwert zu erfassen, um ihn dann als Parameter an einen Aktor weiterzugeben? Also z.B. in der Art:

                  "Dimme das Licht auf 10 Prozent!"

                  oder

                  "Fahre die Jalousien auf 30 Prozent!"

                  Oder müsste man hierfür im Adapter z.B. elf verschiedene Abfragen mit den Werten 0, 10, 20,…, 100 erstellen?

                  Gruß,

                  Thorsten

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

                    Auf git liegt die neue Telegram version:

                    ` > ### 0.4.0 (2016-07-21)

                    • (bluefox) allow send messages to chats via chat-ID

                    • (bluefox) support of video(mp4), audio, document, location, sticker, action `

                    https://github.com/ioBroker/ioBroker.telegram#chat-id

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

                      Cool. Bluefox, ich ziehe meinen virtuellen Hut. 😉

                      Gruß,

                      Thorsten

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

                        Übrigens, ich habe mal den Telegram-Support kontaktiert und gefragt, ob man nicht für einzelne Bots bzw. Chats einen Pincode bzw. TouchID einrichten könne. Für die Telegram-App als solche gibt es ja bereits die Möglichkeit. Wenn aber ein Pincode vergeben ist, werden die Inhalte sämtlicher Push-Nachrichten nicht mehr in der Mitteilungszentrale von iOS angezeigt. Stattdessen erhält man lediglich die Meldung, dass eine neue Nachricht eingegangen sei. Die Anfrage wurde vom Support an die Entwicklungsabteilung von Telegram weitergeleitet.

                        Als Workaround wurde mir die Verwendung von /code im ioBroker-Bot empfohlen. Diesen kann man über den BotFather definieren und muss ihn dann an jede gesendete Nachricht anhängen. Finde ich aber nicht so hilfreich, da ja jeder, der mein entsperrtes iPhone in der Hand hat, diesen Code aus den vorherigen Nachrichten ablesen kann. Außerdem wird damit die Funktionalität der Sprachsteuerung beeinträchtigt.

                        Nur mal zur Info.

                        Gruß,

                        Thorsten

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

                          @dtp:

                          Hi,

                          ich nochmal.

                          Gibt es eigentlich eine Möglichkeit, einen Zahlenwert zu erfassen, um ihn dann als Parameter an einen Aktor weiterzugeben? Also z.B. in der Art:

                          "Dimme das Licht auf 10 Prozent!"

                          oder

                          "Fahre die Jalousien auf 30 Prozent!"

                          Oder müsste man hierfür im Adapter z.B. elf verschiedene Abfragen mit den Werten 0, 10, 20,…, 100 erstellen?

                          Gruß,

                          Thorsten `
                          Wird in der nächsten Version möglich sein. Aber aktuelle Version versteht schon "Dimme das Licht auf 10.0 Prozent!" (Schalte irgendwas an oder aus)

                          ` > You can use float values in the control commands. If some numeric value will be in the text it will be used as control value and the predefined value will be ignored.

                          E.G. for rule for rule:

                          • Set light level, Object ID: hm-rpc.0.light.STATE, Value: 10, Answer: Level set to %s%.

                          If command is like Set light level to 50%, so into the hm-rpc.0.light.STATE will be written 50 and answer will be Level set to 50%.

                          If command is like Set light level, so into the hm-rpc.0.light.STATE will be written 10 and answer will be Level set to 10%. `

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

                            So, dank http://forum.iobroker.net/viewtopic.php?f=20&t=1998&start=20#p30994, bin ich nun auch fündig geworden, wie ich die aktuelle Version des Telegram-Adapters installiert bekomme, auch wenn er mir im admin-Adapter noch nicht angeboten wird.

                            Gruß,

                            Thorsten

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

                              Hallo Bluefox,

                              ich erhalte mit der Version 0.4.0 nun nach jedem Kommando an den Bot eine Anfrage nach dem Passwort.

                              Zudem wird mir im log folgender Fehler angezeigt:

                              WARNING:	2016-07-23 17:21:56.580	error	cannot find message with id = xxxxxxxxx
                              

                              Wo müsste ich denn überhaupt die chat_id eingeben? Hätte erwartet, dass man die direkt in ein entsprechendes Feld des Telegram-Adapters eingeben kann. Da war aber nichts zu finden.

                              Gruß,

                              Thorsten

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

                                @dtp:

                                Hallo Bluefox,

                                ich erhalte mit der Version 0.4.0 nun nach jedem Kommando an den Bot eine Anfrage nach dem Passwort.

                                Zudem wird mir im log folgender Fehler angezeigt:

                                WARNING:	2016-07-23 17:21:56.580	error	cannot find message with id = xxxxxxxxx
                                

                                Wo müsste ich denn überhaupt die chat_id eingeben? Hätte erwartet, dass man die direkt in ein entsprechendes Feld des Telegram-Adapters eingeben kann. Da war aber nichts zu finden.

                                Gruß,

                                Thorsten `
                                Ist hier beschrieben:

                                https://github.com/ioBroker/ioBroker.telegram#chat-id

                                was machst du, wenn du mit 2 Chats kommunizieren willst?

                                Und an dieser Stelle verstehe ich nicht ganz wie ein Chat funktioniert.

                                Falls ich ChatID auf der Einstellungsseite einbaue, wie werde ich dann die Meldungen an User schicken?

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

                                  Hallo Bluefox!

                                  Macht Sinn. Das Setzen von Prozentwerten klappt auch wunderbar.

                                  Hast Du schon heraus gefunden, warum es bei der 0.4.0 die Passwort-Probleme gibt?

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

                                    Und schon wieder ich.

                                    Wie werden Push-Nachrichten mit Umlauten und Sonderzeichen beim ioBroker konvertiert?

                                    Ich habe mir dafür auf der CCU2 ein eigenes WebUI-Skript erstellt, dass die UTF-8-Konvertierung folgendermaßen durchführt:

                                    ! ! +++++ Umwandlung von Sonderzeichen gem. UTF-8 +++++ foreach(message_index, message.Split("%")){message_tmp = message_tmp + message_index + "%25";} if(message.Substr(message.Length()-1, message.Length()-1) != "%"){message = message_tmp.Substr(0, message_tmp.Length()-3);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split(" ")){message_tmp = message_tmp + message_index + "%20";}; if(message.Substr(message.Length()-1, message.Length()-1) != " "){message = message_tmp.Substr(0, message_tmp.Length()-3);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("Ä")){message_tmp = message_tmp + message_index + "%C3%84";} if(message.Substr(message.Length()-1, message.Length()-1) != "Ä"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("Ö")){message_tmp = message_tmp + message_index + "%C3%96";} if(message.Substr(message.Length()-1, message.Length()-1) != "Ö"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("Ü")){message_tmp = message_tmp + message_index + "%C3%9C";} if(message.Substr(message.Length()-1, message.Length()-1) != "Ü"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ä")){message_tmp = message_tmp + message_index + "%C3%A4";} if(message.Substr(message.Length()-1, message.Length()-1) != "ä"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ö")){message_tmp = message_tmp + message_index + "%C3%B6";} if(message.Substr(message.Length()-1, message.Length()-1) != "ö"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ü")){message_tmp = message_tmp + message_index + "%C3%BC";} if(message.Substr(message.Length()-1, message.Length()-1) != "ü"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ß")){message_tmp = message_tmp + message_index + "%C3%9F";} if(message.Substr(message.Length()-1, message.Length()-1) != "ß"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("°")){message_tmp = message_tmp + message_index + "%C2%B0";} if(message.Substr(message.Length()-1, message.Length()-1) != "°"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("²")){message_tmp = message_tmp + message_index + "%C2%B2";} if(message.Substr(message.Length()-1, message.Length()-1) != "²"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("³")){message_tmp = message_tmp + message_index + "%C2%B3";} if(message.Substr(message.Length()-1, message.Length()-1) != "³"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; !

                                    Näheres dazu findet sich http://homematic-forum.de/forum/viewtopic.php?f=31&t=26282.

                                    Damit erhalte ich dann z.B. ein Mal in der Woche die folgende Push-Nachricht per Telegram:

                                    filename="2016-07-26_11h22_30.png" index="1">~~

                                    Wenn ich mir nun aber den Inhalt der entsprechenden CCU2-Systemvariablen für den Gasverbrauch mit dem Telegram-Adapter für ioBroker hole, dann sieht das Resultat etwas anders aus:

                                    filename="2016-07-26_11h22_48.png" index="0">~~

                                    Wie man sieht, werden insb. "%0A" für den Zeilenumbruch und "%B3" für die Kubikmeter nicht umgewandelt. Wäre schön, wenn das noch implementiert werden könnte.

                                    Gruß,

                                    Thorsten

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

                                      @dtp:

                                      Und schon wieder ich.

                                      Wie werden Push-Nachrichten mit Umlauten und Sonderzeichen beim ioBroker konvertiert?

                                      Ich habe mir dafür auf der CCU2 ein eigenes WebUI-Skript erstellt, dass die UTF-8-Konvertierung folgendermaßen durchführt:

                                      ! ! +++++ Umwandlung von Sonderzeichen gem. UTF-8 +++++ foreach(message_index, message.Split("%")){message_tmp = message_tmp + message_index + "%25";} if(message.Substr(message.Length()-1, message.Length()-1) != "%"){message = message_tmp.Substr(0, message_tmp.Length()-3);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split(" ")){message_tmp = message_tmp + message_index + "%20";}; if(message.Substr(message.Length()-1, message.Length()-1) != " "){message = message_tmp.Substr(0, message_tmp.Length()-3);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("Ä")){message_tmp = message_tmp + message_index + "%C3%84";} if(message.Substr(message.Length()-1, message.Length()-1) != "Ä"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("Ö")){message_tmp = message_tmp + message_index + "%C3%96";} if(message.Substr(message.Length()-1, message.Length()-1) != "Ö"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("Ü")){message_tmp = message_tmp + message_index + "%C3%9C";} if(message.Substr(message.Length()-1, message.Length()-1) != "Ü"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ä")){message_tmp = message_tmp + message_index + "%C3%A4";} if(message.Substr(message.Length()-1, message.Length()-1) != "ä"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ö")){message_tmp = message_tmp + message_index + "%C3%B6";} if(message.Substr(message.Length()-1, message.Length()-1) != "ö"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ü")){message_tmp = message_tmp + message_index + "%C3%BC";} if(message.Substr(message.Length()-1, message.Length()-1) != "ü"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("ß")){message_tmp = message_tmp + message_index + "%C3%9F";} if(message.Substr(message.Length()-1, message.Length()-1) != "ß"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("°")){message_tmp = message_tmp + message_index + "%C2%B0";} if(message.Substr(message.Length()-1, message.Length()-1) != "°"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("²")){message_tmp = message_tmp + message_index + "%C2%B2";} if(message.Substr(message.Length()-1, message.Length()-1) != "²"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; foreach(message_index, message.Split("³")){message_tmp = message_tmp + message_index + "%C2%B3";} if(message.Substr(message.Length()-1, message.Length()-1) != "³"){message = message_tmp.Substr(0, message_tmp.Length()-6);} else{message = message_tmp;} message_tmp = ""; !

                                      Näheres dazu findet sich http://homematic-forum.de/forum/viewtopic.php?f=31&t=26282.

                                      Damit erhalte ich dann z.B. ein Mal in der Woche die folgende Push-Nachricht per Telegram:

                                      filename="2016-07-26_11h22_30.png" index="1">~~

                                      Wenn ich mir nun aber den Inhalt der entsprechenden CCU2-Systemvariablen für den Gasverbrauch mit dem Telegram-Adapter für ioBroker hole, dann sieht das Resultat etwas anders aus:

                                      filename="2016-07-26_11h22_48.png" index="0">~~

                                      Wie man sieht, werden insb. "%0A" für den Zeilenumbruch und "%B3" für die Kubikmeter nicht umgewandelt. Wäre schön, wenn das noch implementiert werden könnte.

                                      Gruß,

                                      Thorsten `
                                      Also Kode:

                                      sendTo('telegram', 'test\ntest1 ㎥');
                                      
                                      

                                      geht nicht?

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

                                        Hallo Bluefox,

                                        Telegram 0.4.1 funktioniert nun soweit schon mal sehr gut bei mir. Hätte da aber noch ein paar Wünsche:

                                        1. Gäbe es eine Möglichkeit, Javaskripte und den text2command-Adapter parallel zu nutzen? Im Grunde genommen funktioniert das ja bereits, aber wenn ich einen im Skript definierten Befehl aufrufe, der logischerweise im text2command-Adapter nicht definiert ist, dann meldet mir text2command jedes Mal "Ich verstehe … nicht". Besser wäre es, wenn zunächst das mit dem Telegram-Adpater verknüpfte Javaskript nach dem Befehl durchsucht wird, und erst, wenn dieser Befehl auch im text2command-Adapter nicht bekannt ist, eine entsprechende Meldung kommt. Sprich, ein vorhandenes Javaskript hat immer Vorrang vor dem text2command-Adapter.

                                        2. Über

                                        sendTo('telegram.0', {
                                            text:                   '/tmp/snap.jpg',
                                            caption:                'Snapshot',
                                            disable_notification:   true
                                        });
                                        

                                        kann man ja bereits sehr viele Reaktionen steuern. Dabei wird bereits automatisch je nach Inhalt von "text" zwischen Photo, Video, Audio, Dokument, Sticker, Aktion und Ort unterschieden. Was aber wohl im Moment noch nicht geht, sind https://core.telegram.org/bots/api/#replykeyboardmarkup. Wie wär's daher mit folgender Ergänzung?

                                        sendTo('telegram.0', {
                                            keybaord:                [[Taste 1],[Taste 2],[Taste 3]],
                                            resize_keyboard:      true,
                                            one_time_keyboard: true,
                                            selective:                 no
                                        });
                                        

                                        Oder habe ich da was übersehen und das geht schon?

                                        3. Die Meldungen "Restarting" und "Restarted" des Telegram-Adapters beim Neustart von ioBroker finde ich etwas wenig aussagend, wenn man in Chats arbeitet. Würde es daher besser finden, wenn man das auf "ioBroker restartung" und "ioBroker restarted" präzisieren könnte. Noch schöner fände ich eine zusätzliche deutsche Version "ioBroker startet neu." und "ioBroker neu gestartet.".

                                        4. Selbst, wenn man mit einer ChatID arbeitet, so kann man Befehle an den ioBroker nicht aus dem Chat heraus absenden. Das funktioniert aktuell nur für den Empfang von Nachrichten. Ein Senden von Befehlen geht dagegen immer nur aus dem jeweiligen Bot heraus. Könnte man ggf. auch eine Option einfügen, die ChatID für den Empfang von Befehlen durch den ioBroker abzufragen?

                                        5. Schließlich fände ich es noch schön, wenn man auch für den text2command-Adapter eine ChatID angeben könnte.

                                        Gruß,

                                        Thorsten

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

                                          @dtp:

                                          Hallo Bluefox,

                                          Telegram 0.4.1 funktioniert nun soweit schon mal sehr gut bei mir. Hätte da aber noch ein paar Wünsche:

                                          1. Gäbe es eine Möglichkeit, Javaskripte und den text2command-Adapter parallel zu nutzen? Im Grunde genommen funktioniert das ja bereits, aber wenn ich einen im Skript definierten Befehl aufrufe, der logischerweise im text2command-Adapter nicht definiert ist, dann meldet mir text2command jedes Mal "Ich verstehe … nicht". Besser wäre es, wenn zunächst das mit dem Telegram-Adpater verknüpfte Javaskript nach dem Befehl durchsucht wird, und erst, wenn dieser Befehl auch im text2command-Adapter nicht bekannt ist, eine entsprechende Meldung kommt. Sprich, ein vorhandenes Javaskript hat immer Vorrang vor dem text2command-Adapter.

                                          2. Über

                                          sendTo('telegram.0', {
                                              text:                   '/tmp/snap.jpg',
                                              caption:                'Snapshot',
                                              disable_notification:   true
                                          });
                                          

                                          kann man ja bereits sehr viele Reaktionen steuern. Dabei wird bereits automatisch je nach Inhalt von "text" zwischen Photo, Video, Audio, Dokument, Sticker, Aktion und Ort unterschieden. Was aber wohl im Moment noch nicht geht, sind https://core.telegram.org/bots/api/#replykeyboardmarkup. Wie wär's daher mit folgender Ergänzung?

                                          sendTo('telegram.0', {
                                              keybaord:                [[Taste 1],[Taste 2],[Taste 3]],
                                              resize_keyboard:      true,
                                              one_time_keyboard: true,
                                              selective:                 no
                                          });
                                          

                                          Oder habe ich da was übersehen und das geht schon?

                                          3. Die Meldungen "Restarting" und "Restarted" des Telegram-Adapters beim Neustart von ioBroker finde ich etwas wenig aussagend, wenn man in Chats arbeitet. Würde es daher besser finden, wenn man das auf "ioBroker restartung" und "ioBroker restarted" präzisieren könnte. Noch schöner fände ich eine zusätzliche deutsche Version "ioBroker startet neu." und "ioBroker neu gestartet.".

                                          4. Selbst, wenn man mit einer ChatID arbeitet, so kann man Befehle an den ioBroker nicht aus dem Chat heraus absenden. Das funktioniert aktuell nur für den Empfang von Nachrichten. Ein Senden von Befehlen geht dagegen immer nur aus dem jeweiligen Bot heraus. Könnte man ggf. auch eine Option einfügen, die ChatID für den Empfang von Befehlen durch den ioBroker abzufragen?

                                          5. Schließlich fände ich es noch schön, wenn man auch für den text2command-Adapter eine ChatID angeben könnte.

                                          Gruß,

                                          Thorsten `
                                          Deine Anmerkungen sind schon interessant.

                                          1. Man kann die Skripte nicht direkt antriggern. Das mus über States gehen. Aber ich habe noch nicht im Kopf, wie ich die zusammen fügen kann.

                                          Vermutlich wird man eine Variable auswählen und Timeout einstellen.

                                          text2command wird in dieser Variable die Frage schreiben und X Millisekunden warten, bis ein Antwort kommt. Falls eine lehre Antwort kommt (oder nach Timeout), dann werden die Rules abarbeitet, sonst wird Antwort aus Variable zurückgeschickt.

                                          2. Probier mal.

                                          sendTo('telegram.0', {
                                              text: 'test',
                                              reply_markup: {
                                                 keyboard:                [[Taste 1],[Taste 2],[Taste 3]],
                                                 resize_keyboard:      true,
                                                 one_time_keyboard: true,
                                                 selective:                 no
                                              }
                                          });
                                          

                                          3. Werde ändern und eventuell einstellbar machen.

                                          4. Mit der ChatID muss du mir erklären, wie das funktioniert. habe ich doch neulich mit ChatID was eingebaut.

                                          Oder willst du, dass man ChatID eingeben konnte, woher auch die Befehle akzeptiert werden?

                                          5. Wozu?

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

                                            Hi Bluefox,

                                            na, erholt aus dem Urlaub zurück? 😉

                                            Danke für Deine Anmerkungen. Punkt 2 werde ich mal ausprobieren.

                                            @Bluefox:

                                            4. Mit der ChatID muss du mir erklären, wie das funktioniert. habe ich doch neulich mit ChatID was eingebaut.

                                            Oder willst du, dass man ChatID eingeben konnte, woher auch die Befehle akzeptiert werden? `

                                            Im Moment ist es so, dass ich eine Push-Nachricht des ioBroker über die ChatID direkt in einen Chat umleiten kann. Soweit, so gut. Wenn ich aber nun in diesem Chat bin, und direkt einen Befehl von der Telegram App an den ioBroker sende, dann wird der nicht umgesetzt, weil er offensichtlich nicht ankommt. Das geht nur, wenn ich den Chat verlasse und den Befehl direkt aus dem entsprechenden Bot heraus sende. Vermutlich, weil die nur die ChatID des Bots "als berechtigt" im Telegram-Adapter hinterlegt ist.

                                            @Bluefox:

                                            5. Wozu? `

                                            Nun ja, ich würde halt gerne die Antworten des text2command-Adapters im Chat statt im Bot angezeigt bekommen wollen. Oder geht das schon irgendwie?

                                            Gruß,

                                            Thorsten

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            702
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            137
                                            30245
                                            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