Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Telegram - Nachrichten kommen doppelt an

    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

    SOLVED Telegram - Nachrichten kommen doppelt an

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      malc last edited by Jey Cee

      Hallo und Frohe Ostern 🙂

      Ich schaue mit gerade den Telegram Adapter an und finde nicht heraus warum alle Nachrichten doppelt gesendet werden:

      Wenn ich in einem Script sendTo('telegram', "hallo"); schreibe denke ich das beim Start des Script ein einzelnes Hallo gesendet wird, doch finde ich im Dialog schon zweimal Hallo.

      Als weiteres Beispiel habe ich ein simples Script welches eigentlich nur ein "ECHO" bringen soll. Allerdings gekomme ich immer die Antwort 2x. Habe ich da irgendwo einen Denkfehler ?

      Malc

      on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
      var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
      var user = stateval.substring(1,stateval.indexOf("]")); // user aus Statevalue extrahieren
      var cmd = stateval.substring(stateval.indexOf("]")+1,stateval.length); // CMD/Text aus Statevalue extrahieren
      sendTo("telegram", "send", {
      text: "user [" + user + "] cmd [" + cmd + "]"
      });
      })
      
      1 Reply Last reply Reply Quote 0
      • FallenAtticus
        FallenAtticus @madjack84 last edited by

        @madjack84
        Etwas spät aber vielleicht auch für andere relevant. Ich hatte auch das Problem das meine Scripte manchmal mehrmals an Telegram gesendet haben. Der Grund dafür war, das der Status z. B. bei einem Knopf (switch.click) zwei mal gesetzt wird. Einmal auf "true" und dann gleich wieder auf "false" das führt dazu das die Scripte auch zwei mal ausgeführt werden wenn man auf diesen State (".click") lauscht.

        on(ZIGBEE_BUTTON  + '.click', function() {
            if (getState(ZIGBEE_BUTTON  + '.click').val != true) {
                return;
            }
            ... weiterer code ...
            setState(TELEGRAM_MESSAGE, message);
        });
        
        madjack84 1 Reply Last reply Reply Quote 1
        • M
          malc last edited by

          Ich habe mal die erste Instanz gestoppt und noch eine weitere angelegt. Bei der habe ich das gleiche Problem 🙂

          ! on({id: 'telegram.1.communicate.request', change: 'any'}, function (obj) {
          ! var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
          ! var user = stateval.substring(1,stateval.indexOf("]")); // user aus Statevalue extrahieren
          ! var cmd = stateval.substring(stateval.indexOf("]")+1,stateval.length); // CMD/Text aus Statevalue extrahieren
          ! sendTo("telegram", "send", {
          ! text: "user [" + user + "] cmd [" + cmd + "]"
          ! });
          ! })

          6536_io.png

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

            Wenn du bei sendTo mürbsten adaptetnamen angibst dann wird der send Befehl an jede Instanz gegeben. Wenn du also mehr als eine Instanz hast geht es mehrfach raus. Sonst bei sendTo die instanz angeben (zB telegram.0) dann wird es nur an diese gegeben.

            1 Reply Last reply Reply Quote 0
            • M
              malc last edited by Jey Cee

              Ich hatte nur zum test eine weitere Instanz aktiv. Die andere war zu dem Zeitpunkt ausgeschaltet. 😞

              Ich habe mal ein Log eingefügt. (Nur eine Instanz vorhanden und aktiv) :

              telegram.0 2018-04-01 14:42:17.596 debug Message sent
              telegram.0 2018-04-01 14:42:17.596 debug Request: {"message_id":141,"from":{"id":999999999,"is_bot":true,"first_name":"999","username":"999999999_bot"},"chat":{"id":463645855,"first_name":"999999999_bot","last_name":"New","type":"private"},"date":15
              telegram.0 2018-04-01 14:42:17.588 debug Message sent
              telegram.0 2018-04-01 14:42:17.576 debug Request: {"message_id":140,"from":{"id":999999999,"is_bot":true,"first_name":"999","username":"999999999_bot"},"chat":{"id":463645855,"first_name":"999999999_bot","last_name":"New","type":"private"},"date":15
              telegram.0 2018-04-01 14:42:17.536 debug Send message to "999999999": user [999999999_bot] cmd [1]
              telegram.0 2018-04-01 14:42:17.536 debug Send message to "999999999_bot": user [999999999_bot] cmd [1]
              telegram.0 2018-04-01 14:42:17.517 debug Got message from 999999999_bot: 1
              
              1 Reply Last reply Reply Quote 0
              • M
                malc last edited by Jey Cee

                Ich sehe GOT "2" und zweimal SEND "2"

                telegram.0 2018-04-01 14:46:54.252 debug Send message to "9999": user [9999] cmd [2]
                
                telegram.0 2018-04-01 14:46:54.252 debug Send message to "9999": user [9999] cmd [2]
                
                telegram.0 2018-04-01 14:46:54.224 debug Got message from 9999: 2
                

                Mein Script hat aber nur einen Eintrag:

                sendTo("telegram", "send", {
                
                text: "user [" + user + "] cmd [" + cmd + "]"
                
                });
                

                Irgendwas übersehe ich da 😞

                1 Reply Last reply Reply Quote 0
                • M
                  malc last edited by

                  Ich habe mal auf einem anderen Rechner Telegram installiert und das erste System abgeschaltet.

                  • Da kommen keine 2 Nachrichten!

                  -Dann auf den ersten Telegramm deinstalliert, installiert. Aber es kommen immer zwei 😞

                  Wo kann ich nur suchen?

                  Malc

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

                    Schreib doch einfach „sendTo(„telegram.0“. , …)“

                    Geht das dann einmal oder sich doppelt?

                    1 Reply Last reply Reply Quote 0
                    • R
                      robsdobs last edited by

                      Ich hatte letztens auch massiv Probleme damit. Immer wenn ich den Telegram Adapter neu gestartet hatte oder nach einem Update kam alles doppelt. Im Log tauchte dann immer eine Warnung auf, das der Bot doppelt läuft.

                      Die Lösung war dann IOBroker mal komplett neu zu starten und das Problem war damit erstmal beseitigt.

                      1 Reply Last reply Reply Quote 0
                      • M
                        malc last edited by

                        Ich habe den IOBroker neu gestartet, da war das Problem noch vorhanden.

                        Nach und nach habe ich alle Scripte einzeln dekativiert, und wirklich, auf einmal ist das Problem weg. Auch wenn wieder alle Scripte laufen.

                        Ich verstehe es nicht, keine bewusste Änderung. Da hilft wohl nur beobachten.

                        Malc

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

                          Je nachdem was genau deine Skripte tun kann es vorkommen das trotz restart eines Skriptes im JavaScript Adapter ein altes noch läuft. Kann vorkommen vor allem wenn man eigene Netzwerk oder serielle Verbindungen aufmacht. Hat dein Skript sowas?

                          1 Reply Last reply Reply Quote 0
                          • M
                            malc last edited by

                            @apollon77:

                            Je nachdem was genau deine Skripte tun kann es vorkommen das trotz restart eines Skriptes im JavaScript Adapter ein altes noch läuft. Kann vorkommen vor allem wenn man eigene Netzwerk oder serielle Verbindungen aufmacht. Hat dein Skript sowas? `

                            Bewusst habe ich weder Netzwerk oder serielles drin. Eigentlich nur Aktion bei Signaländerungen ohne Verwendung spezieller Geräte.

                            1 Reply Last reply Reply Quote 0
                            • M
                              malc last edited by

                              Nun habe ich das Problem wieder. Auf einmal wird das Telegrammevent doppelt ausgeführt. Ich habe iobroker / server neustart durchgeführt.

                              Das was ich bisher herausgefunden habe ist das der Stop eines beliebigen Scriptes dafür sorgt dass das eigentlich Script wieder nur einmal ausgeführt wird. Sehr merkwürdig.

                              Malc

                              1 Reply Last reply Reply Quote 0
                              • M
                                malc last edited by

                                Hallo!

                                Ich habe einen Zusammenhang gefunden, es ist es (m)ein Anfängerfehler 🙂

                                Ich hatte das Telegramscript unter Global abgelegt….. :lol:

                                Nun habe ich das Script unter Common gelegt und alles arbeitet wie erwartet.

                                Ah jetzt ja. Jedes Commonscript lädt jedes Globale hinzu. Macht Sinn und nun verstehe ich es auch!

                                Asche auf mein Haupt.

                                Malc

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Matze00000007 last edited by

                                  Moin.

                                  Ich habe zur Zeit das gleiche Problem, also es wird immer zweimal die gleiche Nachricht gesendet. Ich habe den Javascript Adapter und den Telegram Adapter neu gestartet. Keine Lösung. Ich habe die Skripte gelöscht und neu geschrieben, keine Besserung. Ich habe mit Blockly das Skript erstellt.

                                  Es macht auch keinen Unterschied ob bei "Telegram" alle Instanzen oder telegram.0 steht.

                                  Das skript ist unter common gespeichert.

                                  OK LÖSUNG meines Problems selbst gefunden.

                                  Der "Wert" bei anerkannt ist steht nun auf "update", dann bekomme ich nur eine Nachricht. JUHU
                                  8050_blockly_steckdose.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Matze00000007 last edited by

                                    Nun habe ich ein weiteres Problem.

                                    Wie kann ich dem Skript sagen, es möge bitte nur die Information der Schaltzustände schreiben, wenn sich etwas ändert.

                                    Beim ändern von "ist wahr" auf "wurde geändert" schreibt das Skript immer einmal mehr, dass die Steckdose an oder aus ist.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Matze00000007 last edited by

                                      Wieder durch Selbstexperimente herausgefunden.

                                      "Anerkannt ist" auf "Befehl" setzen.
                                      8050_blockly_steckdose_2.jpg

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

                                        Hallo zusammen, habe auch mehrfache Messages.
                                        Verwende kein Blockly sondern direkt das Skript mit nem Menü.
                                        Gefühlt kommt die Nachricht mehrfach an wenn man die Telegram Nachricht am Telefon nicht abruft 🤔 also am Home screen einfach weg wischt ohne Telegram zu ändern.

                                        Kennt das jmd?

                                        FallenAtticus 1 Reply Last reply Reply Quote 0
                                        • FallenAtticus
                                          FallenAtticus @madjack84 last edited by

                                          @madjack84
                                          Etwas spät aber vielleicht auch für andere relevant. Ich hatte auch das Problem das meine Scripte manchmal mehrmals an Telegram gesendet haben. Der Grund dafür war, das der Status z. B. bei einem Knopf (switch.click) zwei mal gesetzt wird. Einmal auf "true" und dann gleich wieder auf "false" das führt dazu das die Scripte auch zwei mal ausgeführt werden wenn man auf diesen State (".click") lauscht.

                                          on(ZIGBEE_BUTTON  + '.click', function() {
                                              if (getState(ZIGBEE_BUTTON  + '.click').val != true) {
                                                  return;
                                              }
                                              ... weiterer code ...
                                              setState(TELEGRAM_MESSAGE, message);
                                          });
                                          
                                          madjack84 1 Reply Last reply Reply Quote 1
                                          • madjack84
                                            madjack84 @FallenAtticus last edited by

                                            @FallenAtticus danke für den nachvollziehbaren Tip, aber ich fürchte das ist es nicht. Bei Betätigung eines Soft Buttons in Telegram wird das Telegram Skript mit einer Codierung erneut aufgerufen (korrekt)... Leider werden manche Messages/Responses aber zwei Mal angezeigt ... Es handelt sich dabei nicht um click Events eines HW Schalters 😕

                                            1 Reply Last reply Reply Quote 0
                                            • C
                                              Colt last edited by

                                              Ich habe das Problem auch jetzt seit einigen Tagen.
                                              Habe schon einiges ausprobiert mit neu starten von iobroker oder neu einrichten des Skriptes hat aber alles eider nicht funktioniert, weiß einer mittlerweile wie man das genau lösen kann?

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

                                              Support us

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

                                              770
                                              Online

                                              31.7k
                                              Users

                                              79.8k
                                              Topics

                                              1.3m
                                              Posts

                                              javascript telegram
                                              8
                                              22
                                              6069
                                              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