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. Cloud Dienste
  4. Alexa per Telegram sprechen lassen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    324

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Alexa per Telegram sprechen lassen

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
49 Beiträge 12 Kommentatoren 9.1k 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.
  • L Offline
    L Offline
    lapidu
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    gibt es die Möglichkeit Alexa per Telegram anzutriggern. Und dann einen Text zu schicken den Alexa dann vorspricht?

    Gesendet von meinem CLT-L29 mit Tapatalk

    1 Antwort Letzte Antwort
    0
    • V Offline
      V Offline
      vorlautboy
      schrieb am zuletzt editiert von
      #2

      Das wäre mega cool 8-)

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Sebi57
        schrieb am zuletzt editiert von
        #3

        Hallo,

        ja das geht. Hab ich bei mir mit dem text2command Adapter gemacht. Mit dem Adapter hast du die Möglichkeit als Rule "Send Text 2 State" auszuwählen. Da dann einfach den Datenpunkt für das Speak Command des gewünschten Echos auswählen.

        Im Telegram Adapter muss dann unter Messages noch die Instanz vom Text2Command Adapter ausgewählt werden.

        1 Antwort Letzte Antwort
        0
        • NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von
          #4

          @Sebi57:

          Hallo,

          ja das geht. Hab ich bei mir mit dem text2command Adapter gemacht. Mit dem Adapter hast du die Möglichkeit als Rule "Send Text 2 State" auszuwählen. `

          wie funktioniert das Genau?

          Danke

          ° Node.js: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

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

            Ich habe hier ein Blockly (stammt aus der Facebookgruppe-nicht von mir)

            Funktioniert bestens.

            Ich stelle hier gleich noch einen Export davon rein.

            Alle Echos in diesem Blockly werden mit dem Namen angesprochen. Bei mir heißen die wie der Raum in dem sie stehen.

            Zum aktivieren des Echos der die Nachricht ansagen soll einfach einmal den Namen in Telegramm eintippen und senden.

            Die Nachricht die nun eingetippt und abgeschickt wird kommt dann bei dem zuvor abgesendeten Echo an. (einmalig, für weitere Nachrichten wieder erst den Namen des Echos absenden und anschließend die Nachricht)

            Der Name des Echos ist quasi das Aktivierungswort.

            Export ist zu lang, ich hänge eine Textdatei an….
            Edit: Blockly Export entfernt
            3822_bildschirmfoto_2019-01-23_um_17.14.57.png

            T 1 Antwort Letzte Antwort
            0
            • NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              schrieb am zuletzt editiert von
              #6

              @dslraser:

              Ich habe hier ein Blockly (stammt aus der Facebookgruppe-nicht von mir)

              Funktioniert bestens.

              Ich stelle hier gleich noch einen Export davon rein. `

              Super!

              Bin schon gespannt!

              Mit deinen Beiträgen kam ich schon öfter viel weiter!

              Aller Anfang ist schwer!

              ° Node.js: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

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

                @Negalein:

                @dslraser:

                Ich habe hier ein Blockly (stammt aus der Facebookgruppe-nicht von mir)

                Funktioniert bestens.

                Ich stelle hier gleich noch einen Export davon rein. `

                Super!

                Bin schon gespannt!

                Mit deinen Beiträgen kam ich schon öfter viel weiter!

                Aller Anfang ist schwer! `

                Ich habe meinen Beitrag oben aktualisiert und das Blockly als Textdatei eingefügt.

                1 Antwort Letzte Antwort
                0
                • NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #8

                  @dslraser:

                  [Ich habe meinen Beitrag oben aktualisiert und das Blockly als Textdatei eingefügt. `

                  Danke dir!

                  Werd ich gleich testen!

                  Jetzt geht dann noch das nächste Projekt an, wie ich mit Telegram den ioBroker steuern kann, bzw. Statusmeldungen auf Telegram bekomme.

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  1 Antwort Letzte Antwort
                  0
                  • NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #9

                    @dslraser:

                    Ich habe hier ein Blockly (stammt aus der Facebookgruppe-nicht von mir)

                    Funktioniert bestens. `

                    Geil, hat sofort funktioniert! :)

                    Jetzt kann ich meiner Frau sagen, dass sie das Bier bringen soll! :lol: :lol:

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

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

                      @Negalein:

                      Jetzt geht dann noch das nächste Projekt an, wie ich mit Telegram den ioBroker steuern kann, bzw. Statusmeldungen auf Telegram bekomme. `

                      Kannst ja mal damit spielen….(aktivierungswort ist MENÜ (menü geht auch)

                      `var Devices = [
                          { Name: 'Kaminlampe',      Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hm-rpc.0.xxx.3.STATE",            Beschreibung: "Steckdose an der die Kaminlampe im Wohnzimmer angeschlossen ist"},
                          { Name: 'Fensterlampe',    Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hue.0.Philips_hue.Fensterlampe.on",          Beschreibung: "Fensterlampe Wohnzimmer"},
                          { Name: 'Tischlampe',      Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hm-rpc.0.xxx.3.STATE",            Beschreibung: "Steckdose an der die Tischlampe im Wohnzimmer angeschlossen ist"},
                          { Name: 'Schranklampe',    Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hm-rpc.xxx.3.STATE",            Beschreibung: "Steckdose an der die Schranklampe im Wohnzimmer angeschlossen ist"},
                          { Name: 'Deckenlampe',     Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hue.0.Philips_hue.Deckenlampe.on",           Beschreibung: "Deckenlampe Wohnzimmer"},
                          { Name: 'Licht komplett',  Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hue.0.Philips_hue.Wohnzimmer.on",            Beschreibung: "Licht Wohnzimmer komplett"},
                          { Name: 'Fernseher',       Ort: "Wohnzimmer",     an: 2,    aus: 0,     Objekt: "harmony.0.Wohnzimmer.activities.Fernsehen",  Beschreibung: "Fernseher Wohnzimmer über Harmony"},
                          { Name: 'Flurlicht',       Ort: "Flur",           an: true, aus: false, Objekt: "hue.0.Philips_hue.Flur-Kellertreppe.on",     Beschreibung: "Flur Treppenlicht"},
                      
                      ];
                      
                      function DistinctKeyValues(Array, Key) {
                          var unique = {};
                          var distinct = [];
                      
                          for( var i in Array ){
                              if (!Array[i].selection) { continue; }
                              if( typeof(unique[Array[i][Key]]) == "undefined"){
                                  distinct.push(Array[i][Key]);
                              }
                              unique[Array[i][Key]] = 0;
                          }
                      return distinct;
                      }
                      
                      function ArrayDeselectKeyValues(Array, Key, Value) {
                          for( var i in Array ) {
                              if (Array[i][Key] != Value) {
                                  Array[i].selection = false;
                              }
                          }    
                      return Array;
                      }
                      
                      function Array2ID(Array, Key, Value) {
                          for( var i in Array ) {
                              if (Array[i][Key] == Value) {
                                  break;
                              }
                          }
                      return i;
                      }
                      
                      function Key2Keyboard(Array, Key) {
                          Distinct = [], OuterArray = []; 
                          Distinct = DistinctKeyValues(Array, Key);
                      
                          for( var i in Distinct ){
                              InnerArray = [];
                              item = {};
                              item.text          = Distinct[i];
                              item.callback_data = "___" + Key + ","+ Distinct[i];
                              InnerArray.push(item);
                              OuterArray.push(InnerArray);
                          }
                      return OuterArray;    
                      }
                      
                      function SwitchKeyboard(Array, Key, Value) {
                          Distinct = [], OuterArray = []; 
                          Distinct = ['an', 'aus'];
                      
                          for( var i in Distinct ){
                              InnerArray = [];
                              item = {};
                              item.text          = Distinct[i];
                              item.callback_data = "___" + Key + ","+ Distinct[i];
                              InnerArray.push(item);
                              OuterArray.push(InnerArray);
                          }
                      return OuterArray;    
                      }
                      
                      function MenuFrageKey(Frage, Key, Array) {
                          MenuFrage(Frage, Array, Key2Keyboard(Array, Key));
                      }
                      
                      function MenuFrageDevice(ID, Array) {
                          Objekt = Array[ID].Objekt;
                          Status=getState(Objekt).val;
                          if (Status === Array[ID].an) {
                              MenuFrage("Status von " + Array[ID].Name + ": eingeschaltet.\nWas wollen Sie tun?",Array, SwitchKeyboard(Array, '*'+Array[ID].Name, Array[ID].Name));
                          } 
                          else {
                              MenuFrage("Status von " + Array[ID].Name + ": ausgeschaltet.\nWas wollen Sie tun?",Array, SwitchKeyboard(Array, '*'+Array[ID].Name, Array[ID].Name));
                          }
                      }
                      
                      function MenuFrage(Frage, Array, KeyboardArray) {
                          sendTo('telegram.0', {
                              chatId: getState("telegram.0.communicate.requestChatId").val,
                              text:   Frage,
                              reply_markup: {
                                  inline_keyboard: KeyboardArray,
                                  resize_keyboard:   false, 
                                  one_time_keyboard: true
                              }
                          });
                      return;    
                      }
                      
                      function MenuAntwortDeselect(Array, Key, Value) {
                          MenuAntwort(Array, Key, Value);
                          ArrayDeselectKeyValues(Array, Key, Value);
                      }
                      
                      function MenuAntwort(Array, Key, Value) {
                          sendTo('telegram.0', {
                              chatId: getState("telegram.0.communicate.requestChatId").val,
                              text: Key + ': ' + Value,
                              editMessageText: {
                                  options: {
                                      chat_id: getState("telegram.0.communicate.requestChatId").val,
                                      message_id: getState("telegram.0.communicate.requestMessageId").val,
                                  }
                              }
                          });
                      return Array;
                      }
                      
                      on({id: "telegram.0.communicate.request", ack: false, change: 'any'}, function (obj) {
                          command = obj.state.val.substring(obj.state.val.indexOf(']')+1);
                          console.log("Received: " + command);
                      
                          // Menü beginnen
                          if (command.toUpperCase() ==="MENÜ") {
                              //Reset previous selections
                              for( var i in Devices ){
                                  Devices[i].selection=true;
                              }
                              MenuFrageKey('Wo willst du etwas tun?', 'Ort', Devices);
                          }
                          // Antwort verarbeiten
                          else if (command.startsWith("___")) {
                                  command = command.slice(3,command.length); 
                              var KeyVal = command.split(",");
                              var Key   = KeyVal[0];
                              var Value = KeyVal[1];
                      
                              if (Key == 'Ort') {
                                  MenuAntwortDeselect(Devices, Key, Value);
                                  MenuFrageKey('Welches Gerät willst du steuern', 'Name', Devices);
                              }
                              else if (Key == 'Name') {
                                  MenuAntwortDeselect(Devices, Key, Value);
                                  ID=Array2ID(Devices, Key, Value);
                                  MenuFrageDevice(ID, Devices);
                              }
                              else if (Key.startsWith("*")) {
                                  Key=Key.slice(1,Key.length);
                                  ID=Array2ID(Devices, 'Name', Key);
                                  setState(Devices[ID].Objekt, Devices[ID][Value]);
                                  MenuAntwort(Devices, Devices[ID].Name, Value);
                              }
                              else {
                                  console.log("Else: ___" + command);
                              }
                          }
                          else {
                                  console.log("Else: " + command);
                          }
                       });` [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
                      
                      1 Antwort Letzte Antwort
                      0
                      • NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #11

                        @dslraser:

                        @Negalein:

                        Jetzt geht dann noch das nächste Projekt an, wie ich mit Telegram den ioBroker steuern kann, bzw. Statusmeldungen auf Telegram bekomme. Kannst ja mal damit spielen….(aktivierungswort ist MENÜ (menü geht auch)

                        Danke

                        Ist das ein Blockly?

                        Ich schreib quasi in Telegram dann zB "Menü Fernseher an" und dann wird über den Harmony-adapter der Fernseher eingeschaltet.

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

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

                          das ist kein Blockly, das ist Javascript.

                          Es kommt dann ein Telegram Menü was Du beliebig erweitern kannst…

                          1 Antwort Letzte Antwort
                          0
                          • NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #13

                            @dslraser:

                            das ist kein Blockly, das ist Javascript.

                            Es kommt dann ein Telegram Menü was Du beliebig erweitern kannst… `

                            Danke

                            Habs als JS gespeichert!

                            Aber es schein unter "Objekte" - "Javascript.0" nicht auf!

                            Hier der Log dazu:

                            javascript.0	2019-01-23 17:57:33.989	info	script.js.common.Telegram-Befehle: registered 1 subscription and 0 schedules
                            javascript.0	2019-01-23 17:57:33.985	info	Start javascript script.js.common.Telegram-Befehle
                            

                            @dslraser:

                            Es kommt dann ein Telegram Menü was Du beliebig erweitern kannst… `

                            Wo finde ich das Menü?

                            Im Telegram-Adapter?

                            ° Node.js: 20.17.0 NPM: 10.8.2
                            ° Proxmox, Ubuntu 22.04.3 LTS
                            ° Fixer ---> iob fix

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

                              @Negalein:

                              @dslraser:

                              das ist kein Blockly, das ist Javascript.

                              Es kommt dann ein Telegram Menü was Du beliebig erweitern kannst… `

                              Danke

                              Habs als JS gespeichert!

                              Aber es schein unter "Objekte" - "Javascript.0" nicht auf!

                              Hier der Log dazu:

                              javascript.0	2019-01-23 17:57:33.989	info	script.js.common.Telegram-Befehle: registered 1 subscription and 0 schedules
                              javascript.0	2019-01-23 17:57:33.985	info	Start javascript script.js.common.Telegram-Befehle
                              

                              @dslraser:

                              Es kommt dann ein Telegram Menü was Du beliebig erweitern kannst… `

                              Wo finde ich das Menü?

                              Im Telegram-Adapter? ` Du startest das Script und dann gibst Du bei Telegram das Wort menü ein und sendest es ab.

                              Du kannst das Script um beliebig viele Räume und Geräte erweitern.

                              Einfach mal den oberen Teil im Script ansehen, das sollte selbsterklärend sein.

                              Ein Menü sollte bei Telegram auch mit diesem Script schon kommen, nur schalten kannst Du Deine Geräte erst wenn Du die im Script eingefügt hast.

                              Sieht dann so aus…![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201901 ... 3748b5.jpg">https://uploads.tapatalk-cdn.com/20190123/98462dfc5a8ae9172819b9ad4d3748b5.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201901 ... d2ca5f.jpg">https://uploads.tapatalk-cdn.com/20190123/64589157df54256760a3554cf3d2ca5f.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201901 ... 2c2da9.jpg">https://uploads.tapatalk-cdn.com/20190123/046da7d7a8971f76223724c3f82c2da9.jpg</link_text>" />~~~~

                              1 Antwort Letzte Antwort
                              0
                              • NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #15

                                @dslraser:

                                Du startest das Script und dann gibst Du bei Telegram das Wort menü ein und sendest es ab. `

                                Ah, jetzt hab ich es verstanden!

                                Danke dir!

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                1 Antwort Letzte Antwort
                                0
                                • Beliar_666B Offline
                                  Beliar_666B Offline
                                  Beliar_666
                                  schrieb am zuletzt editiert von
                                  #16

                                  @dslraser:

                                  @Negalein:

                                  Jetzt geht dann noch das nächste Projekt an, wie ich mit Telegram den ioBroker steuern kann, bzw. Statusmeldungen auf Telegram bekomme. `

                                  Kannst ja mal damit spielen….(aktivierungswort ist MENÜ (menü geht auch)

                                  `var Devices = [
                                      { Name: 'Kaminlampe',      Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hm-rpc.0.xxx.3.STATE",            Beschreibung: "Steckdose an der die Kaminlampe im Wohnzimmer angeschlossen ist"},
                                      { Name: 'Fensterlampe',    Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hue.0.Philips_hue.Fensterlampe.on",          Beschreibung: "Fensterlampe Wohnzimmer"},
                                      { Name: 'Tischlampe',      Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hm-rpc.0.xxx.3.STATE",            Beschreibung: "Steckdose an der die Tischlampe im Wohnzimmer angeschlossen ist"},
                                      { Name: 'Schranklampe',    Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hm-rpc.xxx.3.STATE",            Beschreibung: "Steckdose an der die Schranklampe im Wohnzimmer angeschlossen ist"},
                                      { Name: 'Deckenlampe',     Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hue.0.Philips_hue.Deckenlampe.on",           Beschreibung: "Deckenlampe Wohnzimmer"},
                                      { Name: 'Licht komplett',  Ort: "Wohnzimmer",     an: true, aus: false, Objekt: "hue.0.Philips_hue.Wohnzimmer.on",            Beschreibung: "Licht Wohnzimmer komplett"},
                                      { Name: 'Fernseher',       Ort: "Wohnzimmer",     an: 2,    aus: 0,     Objekt: "harmony.0.Wohnzimmer.activities.Fernsehen",  Beschreibung: "Fernseher Wohnzimmer über Harmony"},
                                      { Name: 'Flurlicht',       Ort: "Flur",           an: true, aus: false, Objekt: "hue.0.Philips_hue.Flur-Kellertreppe.on",     Beschreibung: "Flur Treppenlicht"},
                                  
                                  ];
                                  
                                  function DistinctKeyValues(Array, Key) {
                                      var unique = {};
                                      var distinct = [];
                                  
                                      for( var i in Array ){
                                          if (!Array[i].selection) { continue; }
                                          if( typeof(unique[Array[i][Key]]) == "undefined"){
                                              distinct.push(Array[i][Key]);
                                          }
                                          unique[Array[i][Key]] = 0;
                                      }
                                  return distinct;
                                  }
                                  
                                  function ArrayDeselectKeyValues(Array, Key, Value) {
                                      for( var i in Array ) {
                                          if (Array[i][Key] != Value) {
                                              Array[i].selection = false;
                                          }
                                      }    
                                  return Array;
                                  }
                                  
                                  function Array2ID(Array, Key, Value) {
                                      for( var i in Array ) {
                                          if (Array[i][Key] == Value) {
                                              break;
                                          }
                                      }
                                  return i;
                                  }
                                  
                                  function Key2Keyboard(Array, Key) {
                                      Distinct = [], OuterArray = []; 
                                      Distinct = DistinctKeyValues(Array, Key);
                                  
                                      for( var i in Distinct ){
                                          InnerArray = [];
                                          item = {};
                                          item.text          = Distinct[i];
                                          item.callback_data = "___" + Key + ","+ Distinct[i];
                                          InnerArray.push(item);
                                          OuterArray.push(InnerArray);
                                      }
                                  return OuterArray;    
                                  }
                                  
                                  function SwitchKeyboard(Array, Key, Value) {
                                      Distinct = [], OuterArray = []; 
                                      Distinct = ['an', 'aus'];
                                  
                                      for( var i in Distinct ){
                                          InnerArray = [];
                                          item = {};
                                          item.text          = Distinct[i];
                                          item.callback_data = "___" + Key + ","+ Distinct[i];
                                          InnerArray.push(item);
                                          OuterArray.push(InnerArray);
                                      }
                                  return OuterArray;    
                                  }
                                  
                                  function MenuFrageKey(Frage, Key, Array) {
                                      MenuFrage(Frage, Array, Key2Keyboard(Array, Key));
                                  }
                                  
                                  function MenuFrageDevice(ID, Array) {
                                      Objekt = Array[ID].Objekt;
                                      Status=getState(Objekt).val;
                                      if (Status === Array[ID].an) {
                                          MenuFrage("Status von " + Array[ID].Name + ": eingeschaltet.\nWas wollen Sie tun?",Array, SwitchKeyboard(Array, '*'+Array[ID].Name, Array[ID].Name));
                                      } 
                                      else {
                                          MenuFrage("Status von " + Array[ID].Name + ": ausgeschaltet.\nWas wollen Sie tun?",Array, SwitchKeyboard(Array, '*'+Array[ID].Name, Array[ID].Name));
                                      }
                                  }
                                  
                                  function MenuFrage(Frage, Array, KeyboardArray) {
                                      sendTo('telegram.0', {
                                          chatId: getState("telegram.0.communicate.requestChatId").val,
                                          text:   Frage,
                                          reply_markup: {
                                              inline_keyboard: KeyboardArray,
                                              resize_keyboard:   false, 
                                              one_time_keyboard: true
                                          }
                                      });
                                  return;    
                                  }
                                  
                                  function MenuAntwortDeselect(Array, Key, Value) {
                                      MenuAntwort(Array, Key, Value);
                                      ArrayDeselectKeyValues(Array, Key, Value);
                                  }
                                  
                                  function MenuAntwort(Array, Key, Value) {
                                      sendTo('telegram.0', {
                                          chatId: getState("telegram.0.communicate.requestChatId").val,
                                          text: Key + ': ' + Value,
                                          editMessageText: {
                                              options: {
                                                  chat_id: getState("telegram.0.communicate.requestChatId").val,
                                                  message_id: getState("telegram.0.communicate.requestMessageId").val,
                                              }
                                          }
                                      });
                                  return Array;
                                  }
                                  
                                  on({id: "telegram.0.communicate.request", ack: false, change: 'any'}, function (obj) {
                                      command = obj.state.val.substring(obj.state.val.indexOf(']')+1);
                                      console.log("Received: " + command);
                                  
                                      // Menü beginnen
                                      if (command.toUpperCase() ==="MENÜ") {
                                          //Reset previous selections
                                          for( var i in Devices ){
                                              Devices[i].selection=true;
                                          }
                                          MenuFrageKey('Wo willst du etwas tun?', 'Ort', Devices);
                                      }
                                      // Antwort verarbeiten
                                      else if (command.startsWith("___")) {
                                              command = command.slice(3,command.length); 
                                          var KeyVal = command.split(",");
                                          var Key   = KeyVal[0];
                                          var Value = KeyVal[1];
                                  
                                          if (Key == 'Ort') {
                                              MenuAntwortDeselect(Devices, Key, Value);
                                              MenuFrageKey('Welches Gerät willst du steuern', 'Name', Devices);
                                          }
                                          else if (Key == 'Name') {
                                              MenuAntwortDeselect(Devices, Key, Value);
                                              ID=Array2ID(Devices, Key, Value);
                                              MenuFrageDevice(ID, Devices);
                                          }
                                          else if (Key.startsWith("*")) {
                                              Key=Key.slice(1,Key.length);
                                              ID=Array2ID(Devices, 'Name', Key);
                                              setState(Devices[ID].Objekt, Devices[ID][Value]);
                                              MenuAntwort(Devices, Devices[ID].Name, Value);
                                          }
                                          else {
                                              console.log("Else: ___" + command);
                                          }
                                      }
                                      else {
                                              console.log("Else: " + command);
                                      }
                                   });` 
                                  
                                  Das Funktioniert bei mir überhaupt nicht. Es öffnet sich keinerlei Menu in Telegram.[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
                                  ``` ` 
                                  1 Antwort Letzte Antwort
                                  0
                                  • Digi-KaiD Offline
                                    Digi-KaiD Offline
                                    Digi-Kai
                                    schrieb am zuletzt editiert von
                                    #17

                                    > gibt es die Möglichkeit Alexa per Telegram anzutriggern. Und dann einen Text zu schicken den Alexa dann vorspricht?
                                    Die Aufgabenstellung läßt sich doch recht elegant per IFTTT und dem Alexa Adaperter 2.0 lösen:

                                    Per Telegramm eine Nachricht mit z.B. "Telegram_Alexa" und Inhalt "Lies diesen Satz vor" an @Ifttt senden.

                                    Dann per Webhook den Datenpunkt im iobroker mit dem String "Lies diesen Satz vor" füllen.

                                    Und abschließend den Datenpunkt auf Änderung überwachen und bei Änderung den Wert vorlesen lassen.

                                    Ist eigentlich ganz easy und schnell zu realisieren.

                                    Grüße

                                    1 Antwort Letzte Antwort
                                    0
                                    • dslraserD dslraser

                                      Ich habe hier ein Blockly (stammt aus der Facebookgruppe-nicht von mir)

                                      Funktioniert bestens.

                                      Ich stelle hier gleich noch einen Export davon rein.

                                      Alle Echos in diesem Blockly werden mit dem Namen angesprochen. Bei mir heißen die wie der Raum in dem sie stehen.

                                      Zum aktivieren des Echos der die Nachricht ansagen soll einfach einmal den Namen in Telegramm eintippen und senden.

                                      Die Nachricht die nun eingetippt und abgeschickt wird kommt dann bei dem zuvor abgesendeten Echo an. (einmalig, für weitere Nachrichten wieder erst den Namen des Echos absenden und anschließend die Nachricht)

                                      Der Name des Echos ist quasi das Aktivierungswort.

                                      Export ist zu lang, ich hänge eine Textdatei an….
                                      Edit: Blockly Export entfernt
                                      3822_bildschirmfoto_2019-01-23_um_17.14.57.png

                                      T Offline
                                      T Offline
                                      Treep77
                                      schrieb am zuletzt editiert von
                                      #18

                                      @dslraser
                                      Ich hab das blockly heute auch mal ausprobiert, leider läuft es bei mir nicht. Das aktivierungs Wort nimmt er an, wenn ich dann aber das schreibe was der Dot sagen soll, kommt immer "ich verstehe xy nicht ".
                                      Mit welchen Command2text Befehl wird das Script gestartet? Ich verwende schalte an/aus und setze es auf True.....liegt da der Fehler?
                                      Gruß Peter

                                      NegaleinN dslraserD 2 Antworten Letzte Antwort
                                      0
                                      • T Treep77

                                        @dslraser
                                        Ich hab das blockly heute auch mal ausprobiert, leider läuft es bei mir nicht. Das aktivierungs Wort nimmt er an, wenn ich dann aber das schreibe was der Dot sagen soll, kommt immer "ich verstehe xy nicht ".
                                        Mit welchen Command2text Befehl wird das Script gestartet? Ich verwende schalte an/aus und setze es auf True.....liegt da der Fehler?
                                        Gruß Peter

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        schrieb am zuletzt editiert von Negalein
                                        #19

                                        @Treep77 sagte in Alexa per Telegram sprechen lassen:

                                        @dslraser
                                        Ich hab das blockly heute auch mal ausprobiert, leider läuft es bei mir nicht. Das aktivierungs Wort nimmt er an, wenn ich dann aber das schreibe was der Dot sagen soll, kommt immer "ich verstehe xy nicht ".
                                        Mit welchen Command2text Befehl wird das Script gestartet? Ich verwende schalte an/aus und setze es auf True.....liegt da der Fehler?
                                        Gruß Peter

                                        meinst du das Blockly von dslraser vom 23. Jänner?

                                        Da wird mMn kein Command2Text verwendet.

                                        Ich hab das nichteinmal installiert.

                                        Hier noch das Blockly
                                        Alexa-Speak.txt

                                        ° Node.js: 20.17.0 NPM: 10.8.2
                                        ° Proxmox, Ubuntu 22.04.3 LTS
                                        ° Fixer ---> iob fix

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • NegaleinN Negalein

                                          @Treep77 sagte in Alexa per Telegram sprechen lassen:

                                          @dslraser
                                          Ich hab das blockly heute auch mal ausprobiert, leider läuft es bei mir nicht. Das aktivierungs Wort nimmt er an, wenn ich dann aber das schreibe was der Dot sagen soll, kommt immer "ich verstehe xy nicht ".
                                          Mit welchen Command2text Befehl wird das Script gestartet? Ich verwende schalte an/aus und setze es auf True.....liegt da der Fehler?
                                          Gruß Peter

                                          meinst du das Blockly von dslraser vom 23. Jänner?

                                          Da wird mMn kein Command2Text verwendet.

                                          Ich hab das nichteinmal installiert.

                                          Hier noch das Blockly
                                          Alexa-Speak.txt

                                          T Offline
                                          T Offline
                                          Treep77
                                          schrieb am zuletzt editiert von
                                          #20

                                          @Negalein ja genau das meinte ich. Hab wohl den falschen Button erwischt, wollte eigentlich auf seinen Post antworten.
                                          Hmm ohne Text2command...dann muss ich nachher mal schauen.

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


                                          Support us

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

                                          558

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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