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. Skripten / Logik
  4. Telegram ask beantwortet sich nach 10 -15 Sekunden selbst

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    815

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Telegram ask beantwortet sich nach 10 -15 Sekunden selbst

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 2 Kommentatoren 476 Aufrufe 4 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.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von Peoples
    #1

    Hallo zusammen,

    ich schicke mir aus verschiedenen Scripts Fragen über Telegram, welche ich dann mit Ja/Nein beantworten kann, im Adapter habe ich es so eingestellt dass die Frage ein Timeout von 5 Minuten hat.

    Seltsamer Weise beantwortet sich die Frage jedoch nach ca. 10 bis 15 Sekunden mit Nein selbst.
    Meine Vermutung ist, dass es irgendwie mit dem async zusammen hängen muss nur stecke ich da nicht so tief drin um mir sicher zu sein, denn wenn ich die Frage wie in der Doku auslöse, passiert das nicht.

    Hier der Aufruf wie in der Doku:

    sendTo('telegram.0', 'ask', {
        text: 'Are you sure?',
        reply_markup: {
            inline_keyboard: [
                // two buttons could be on one line too, but here they are on different
                [{ text: 'Yes!',  callback_data: '1' }], // first line
                [{ text: 'No...', callback_data: '0' }]  // second line
            ]
        }
    }, msg => {
        console.log('user says ' + msg.data);
    });
    

    Und hier wie ich sie nutze:

    async function questionContent(dp){
            var content = {};
            switch(dp) {
                case 'lichtbuero':
                    content.question = 'Möchtest Du das Licht im Büro einschalten';
                    content.chatId = '222222222222';
                    content.aw1 = 'Das Licht wird eingeschalten';
                    content.aw2 = 'Die Antwort war Nein';
                    content.switchUnit ='hm-rpc.0.OEQ1228041.1.STATE';
                    content.switchValue = true;
                    return (content);
    
                case 'vacuumCleaner_0_On':
                    content.question = 'Der Sauger im Erdgeschoss ist heute noch nicht gefahren, möchtest du ihn einschalten?';
                    content.chatId = 'all';
                    content.aw1 = 'Der Saugrobotter im Erdgeschoss wird eingeschalten';
                    content.aw2 = 'Die Antwort war Nein';
                    content.switchUnit ='0_userdata.0.VacuumRobots.0.Vacuuming_ON-OFF-Switch';
                    content.switchValue = true;
                    return (content);
               
                case 'vacuumCleaner_1_On':
                    content.question = 'Der Sauger im Keller ist heute noch nicht gefahren, möchtest du ihn einschalten?';
                    content.chatId = 'all';
                    content.aw1 = 'Der Saugrobotter im Keller wird eingeschalten';
                    content.aw2 = 'Die Antwort war Nein';
                    content.switchUnit ='0_userdata.0.VacuumRobots.1.Vacuuming_ON-OFF-Switch';
                    content.switchValue = true;
                    return (content);
            }
    }
    
    async function sendQuestion(dp){
        try{
            var content = await questionContent(dp);
    
            if(content.chatId == 'all'){
                sendTo('telegram.0', 'ask', {
                    text: content.question,
                    reply_markup: {
                        inline_keyboard: [
                            [{ text: 'Ja',  callback_data: 'y' }, { text: 'Nein', callback_data: 'n' }]
                        ]
                    }
                }, msg => {    
                    // Auf die Antwort reagieren
                    if ( msg.data == 'y' ) {
                        sendTo("telegram.0", "send", { text: content.aw1});
                        if(content.switchUnit != '') setState(content.switchUnit, content.switchValue);
                    } else {
                        sendTo("telegram.0", "send", { text: content.aw2});
                    }       
                });
            } else {
                sendTo('telegram.0', 'ask', {
                    text: content.question,
                    chatId: content.chatId,
                    reply_markup: {
                        inline_keyboard: [
                            [{ text: 'Ja',  callback_data: 'y' }, { text: 'Nein', callback_data: 'n' }]
                        ]
                    }
                }, msg => {    
                    // Auf die Antwort reagieren
                    if ( msg.data == 'y' ) {
                        sendTo("telegram.0", "send", { text: content.aw1,chatId: content.chatId});
                        if(content.switchUnit != '') setState(content.switchUnit, content.switchValue);
                    } else {
                        sendTo("telegram.0", "send", { text: content.aw2,chatId: content.chatId});
                    }       
                });
            }
        } catch (error) {
            log('Fehler bei Funktion sendQuestion');
        }
    };
    
    

    Vielleicht hat jemand eine Idee woran das liegen kann, Tipps sind herzlich willkommen.

    Ich beantworte keine Fragen zu Themen via PN

    PeoplesP 1 Antwort Letzte Antwort
    0
    • PeoplesP Peoples

      Hallo zusammen,

      ich schicke mir aus verschiedenen Scripts Fragen über Telegram, welche ich dann mit Ja/Nein beantworten kann, im Adapter habe ich es so eingestellt dass die Frage ein Timeout von 5 Minuten hat.

      Seltsamer Weise beantwortet sich die Frage jedoch nach ca. 10 bis 15 Sekunden mit Nein selbst.
      Meine Vermutung ist, dass es irgendwie mit dem async zusammen hängen muss nur stecke ich da nicht so tief drin um mir sicher zu sein, denn wenn ich die Frage wie in der Doku auslöse, passiert das nicht.

      Hier der Aufruf wie in der Doku:

      sendTo('telegram.0', 'ask', {
          text: 'Are you sure?',
          reply_markup: {
              inline_keyboard: [
                  // two buttons could be on one line too, but here they are on different
                  [{ text: 'Yes!',  callback_data: '1' }], // first line
                  [{ text: 'No...', callback_data: '0' }]  // second line
              ]
          }
      }, msg => {
          console.log('user says ' + msg.data);
      });
      

      Und hier wie ich sie nutze:

      async function questionContent(dp){
              var content = {};
              switch(dp) {
                  case 'lichtbuero':
                      content.question = 'Möchtest Du das Licht im Büro einschalten';
                      content.chatId = '222222222222';
                      content.aw1 = 'Das Licht wird eingeschalten';
                      content.aw2 = 'Die Antwort war Nein';
                      content.switchUnit ='hm-rpc.0.OEQ1228041.1.STATE';
                      content.switchValue = true;
                      return (content);
      
                  case 'vacuumCleaner_0_On':
                      content.question = 'Der Sauger im Erdgeschoss ist heute noch nicht gefahren, möchtest du ihn einschalten?';
                      content.chatId = 'all';
                      content.aw1 = 'Der Saugrobotter im Erdgeschoss wird eingeschalten';
                      content.aw2 = 'Die Antwort war Nein';
                      content.switchUnit ='0_userdata.0.VacuumRobots.0.Vacuuming_ON-OFF-Switch';
                      content.switchValue = true;
                      return (content);
                 
                  case 'vacuumCleaner_1_On':
                      content.question = 'Der Sauger im Keller ist heute noch nicht gefahren, möchtest du ihn einschalten?';
                      content.chatId = 'all';
                      content.aw1 = 'Der Saugrobotter im Keller wird eingeschalten';
                      content.aw2 = 'Die Antwort war Nein';
                      content.switchUnit ='0_userdata.0.VacuumRobots.1.Vacuuming_ON-OFF-Switch';
                      content.switchValue = true;
                      return (content);
              }
      }
      
      async function sendQuestion(dp){
          try{
              var content = await questionContent(dp);
      
              if(content.chatId == 'all'){
                  sendTo('telegram.0', 'ask', {
                      text: content.question,
                      reply_markup: {
                          inline_keyboard: [
                              [{ text: 'Ja',  callback_data: 'y' }, { text: 'Nein', callback_data: 'n' }]
                          ]
                      }
                  }, msg => {    
                      // Auf die Antwort reagieren
                      if ( msg.data == 'y' ) {
                          sendTo("telegram.0", "send", { text: content.aw1});
                          if(content.switchUnit != '') setState(content.switchUnit, content.switchValue);
                      } else {
                          sendTo("telegram.0", "send", { text: content.aw2});
                      }       
                  });
              } else {
                  sendTo('telegram.0', 'ask', {
                      text: content.question,
                      chatId: content.chatId,
                      reply_markup: {
                          inline_keyboard: [
                              [{ text: 'Ja',  callback_data: 'y' }, { text: 'Nein', callback_data: 'n' }]
                          ]
                      }
                  }, msg => {    
                      // Auf die Antwort reagieren
                      if ( msg.data == 'y' ) {
                          sendTo("telegram.0", "send", { text: content.aw1,chatId: content.chatId});
                          if(content.switchUnit != '') setState(content.switchUnit, content.switchValue);
                      } else {
                          sendTo("telegram.0", "send", { text: content.aw2,chatId: content.chatId});
                      }       
                  });
              }
          } catch (error) {
              log('Fehler bei Funktion sendQuestion');
          }
      };
      
      

      Vielleicht hat jemand eine Idee woran das liegen kann, Tipps sind herzlich willkommen.

      PeoplesP Offline
      PeoplesP Offline
      Peoples
      schrieb am zuletzt editiert von
      #2

      Vielleicht einer von den Profis eine Idee bzw. einen Ansatz?

      @paul53 , @haus-automatisierung ?

      Ich beantworte keine Fragen zu Themen via PN

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • PeoplesP Peoples

        Vielleicht einer von den Profis eine Idee bzw. einen Ansatz?

        @paul53 , @haus-automatisierung ?

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @peoples Es gibt einen Timeout wie lange man Zeit hat zu antworten. Kann man auf der Instanz konfigurieren.

        Es wird also nicht mit nein geantwortet, sondern einfach nur der else Teil wegen des Timeouts ausgeführt

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        PeoplesP 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @peoples Es gibt einen Timeout wie lange man Zeit hat zu antworten. Kann man auf der Instanz konfigurieren.

          Es wird also nicht mit nein geantwortet, sondern einfach nur der else Teil wegen des Timeouts ausgeführt

          PeoplesP Offline
          PeoplesP Offline
          Peoples
          schrieb am zuletzt editiert von Peoples
          #4

          @haus-automatisierung
          Hi, das habe ich gesehen, aber der Timeout steht auf:
          sc.JPG

          Und abgebrochen wird nach ca. 10 -15 Sekunden, deswegen wundert es mich ja

          Ich beantworte keine Fragen zu Themen via PN

          PeoplesP 1 Antwort Letzte Antwort
          0
          • PeoplesP Peoples

            @haus-automatisierung
            Hi, das habe ich gesehen, aber der Timeout steht auf:
            sc.JPG

            Und abgebrochen wird nach ca. 10 -15 Sekunden, deswegen wundert es mich ja

            PeoplesP Offline
            PeoplesP Offline
            Peoples
            schrieb am zuletzt editiert von
            #5

            @haus-automatisierung

            Hast du als Mitentwickler auf git evtl. Eine Lösungsidee? Bzw. funktioniert das bei dir fehlerfrei?

            Ich beantworte keine Fragen zu Themen via PN

            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

            699

            Online

            32.6k

            Benutzer

            82.0k

            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