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. JavaScript
  5. Telegram Bild direkt schicken, ohne Zwischenspeichern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Telegram Bild direkt schicken, ohne Zwischenspeichern

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
29 Beiträge 3 Kommentatoren 3.9k Aufrufe 3 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.
  • coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #1

    Hey,

    ich würde gerne ein Bild direkt von einer Webserver URL mit Telegram verschicken, folgende Befehle habe ich gefunden, geht aber nicht:

    sendTo('telegram.0', {
        text: fs.readFileSync('http://192.168.XX.XX:5000/garage/car/best.jpg'),
        type: 'photo'
    });
    

    oder auch:

    sendTo('telegram.0', "http://192.168.XX.XX:5000/garage/car/best.jpg");
    

    Folgender Fehler im Log:

    javascript.0	2020-12-07 11:32:09.301	error	(26946) at Script.runInContext (vm.js:133:20)
    javascript.0	2020-12-07 11:32:09.301	error	(26946) at script.js.Skript_1:23:3
    javascript.0	2020-12-07 11:32:09.301	error	(26946) at script.js.Skript_1:19:1
    javascript.0	2020-12-07 11:32:09.301	error	(26946) at test (script.js.Skript_1:14:14)
    javascript.0	2020-12-07 11:32:09.301	error	(26946) at ProtectFs.readFileSync (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:23:36)
    javascript.0	2020-12-07 11:32:09.301	error	(26946) at readFileSync (fs.js:343:35)
    javascript.0	2020-12-07 11:32:09.301	error	(26946) at Object.openSync (fs.js:443:3)
    javascript.0	2020-12-07 11:32:09.300	error	(26946) script.js.Skript_1: Error: ENOENT: no such file or directory, open '192.168.XX.XX:5000/garage/car/best.jpg'
    

    zu 2.:

    telegram.0	2020-12-07 11:38:25.563	error	(1425) Cannot send photo [chatId - 182393659]: Error: ETELEGRAM: 400 Bad Request: wrong file identifier/HTTP URL specified
    

    Die Datei ist aber vorhanden, wenn ich die Adresse direkt im Browser eingebe und auch wenn ich das Bild vorher speichere, geht es auch:

    // Bild speichern
    function saveImage() {
        var source_url = 'http://192.168.XX.XX:PORT/cgi-bin/api.cgi?cmd=Snap&channel=0&user=XXXX&password=XXXX'; 
        request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
            fs.writeFile(dest_path + 'cambild.jpeg', body, 'binary', function(err) {
    
            if (err) {
                log('Fehler beim Bild speichern: ' + err, 'warn');
            } else {
                log('Webcam Bild gespeichert');
                sendImage(dest_path + 'cambild.jpeg');
            }
          }); 
        });
    }
    
    // Bild an telegram schicken 
    function sendImage (pfad) {
            sendTo('telegram', {text: pfad, caption: 'Garage Car'});  //Bild mit Text
    }
    

    Dachte eigentlich, dass ich das Bild direkt von der URL über Telegram schicken kann. Jemand ne Idee?

    coyoteC 1 Antwort Letzte Antwort
    0
    • coyoteC coyote

      Hey,

      ich würde gerne ein Bild direkt von einer Webserver URL mit Telegram verschicken, folgende Befehle habe ich gefunden, geht aber nicht:

      sendTo('telegram.0', {
          text: fs.readFileSync('http://192.168.XX.XX:5000/garage/car/best.jpg'),
          type: 'photo'
      });
      

      oder auch:

      sendTo('telegram.0', "http://192.168.XX.XX:5000/garage/car/best.jpg");
      

      Folgender Fehler im Log:

      javascript.0	2020-12-07 11:32:09.301	error	(26946) at Script.runInContext (vm.js:133:20)
      javascript.0	2020-12-07 11:32:09.301	error	(26946) at script.js.Skript_1:23:3
      javascript.0	2020-12-07 11:32:09.301	error	(26946) at script.js.Skript_1:19:1
      javascript.0	2020-12-07 11:32:09.301	error	(26946) at test (script.js.Skript_1:14:14)
      javascript.0	2020-12-07 11:32:09.301	error	(26946) at ProtectFs.readFileSync (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:23:36)
      javascript.0	2020-12-07 11:32:09.301	error	(26946) at readFileSync (fs.js:343:35)
      javascript.0	2020-12-07 11:32:09.301	error	(26946) at Object.openSync (fs.js:443:3)
      javascript.0	2020-12-07 11:32:09.300	error	(26946) script.js.Skript_1: Error: ENOENT: no such file or directory, open '192.168.XX.XX:5000/garage/car/best.jpg'
      

      zu 2.:

      telegram.0	2020-12-07 11:38:25.563	error	(1425) Cannot send photo [chatId - 182393659]: Error: ETELEGRAM: 400 Bad Request: wrong file identifier/HTTP URL specified
      

      Die Datei ist aber vorhanden, wenn ich die Adresse direkt im Browser eingebe und auch wenn ich das Bild vorher speichere, geht es auch:

      // Bild speichern
      function saveImage() {
          var source_url = 'http://192.168.XX.XX:PORT/cgi-bin/api.cgi?cmd=Snap&channel=0&user=XXXX&password=XXXX'; 
          request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
              fs.writeFile(dest_path + 'cambild.jpeg', body, 'binary', function(err) {
      
              if (err) {
                  log('Fehler beim Bild speichern: ' + err, 'warn');
              } else {
                  log('Webcam Bild gespeichert');
                  sendImage(dest_path + 'cambild.jpeg');
              }
            }); 
          });
      }
      
      // Bild an telegram schicken 
      function sendImage (pfad) {
              sendTo('telegram', {text: pfad, caption: 'Garage Car'});  //Bild mit Text
      }
      

      Dachte eigentlich, dass ich das Bild direkt von der URL über Telegram schicken kann. Jemand ne Idee?

      coyoteC Offline
      coyoteC Offline
      coyote
      Most Active
      schrieb am zuletzt editiert von
      #2

      Keiner ne Idee woran das liegt?

      Ralla66R 1 Antwort Letzte Antwort
      0
      • coyoteC coyote

        Keiner ne Idee woran das liegt?

        Ralla66R Offline
        Ralla66R Offline
        Ralla66
        Most Active
        schrieb am zuletzt editiert von
        #3

        @coyote

        Idee schon, mache das aber per E Mail nicht Telegramm,
        Bin gerade im Backup, mache später Bilder.
        Warum sendest du nicht direkt das Bild von der Cam mit
        http://192.168.XX.XX:PORT/cgi-bin/api.cgi?cmd=Snap&channel=0&user=XXXX&password=XXXX

        coyoteC 1 Antwort Letzte Antwort
        0
        • Ralla66R Ralla66

          @coyote

          Idee schon, mache das aber per E Mail nicht Telegramm,
          Bin gerade im Backup, mache später Bilder.
          Warum sendest du nicht direkt das Bild von der Cam mit
          http://192.168.XX.XX:PORT/cgi-bin/api.cgi?cmd=Snap&channel=0&user=XXXX&password=XXXX

          coyoteC Offline
          coyoteC Offline
          coyote
          Most Active
          schrieb am zuletzt editiert von
          #4

          @Ralla66 ja, natürlich würde das gehen, direkt das Bild der Cam zu holen. Aber hier geht es um Objekterkennung, heißt, wird ein Objekt erkannt, wird davon ein Snapshot erstellt und zwar mit dem Frame, der die höchste Objekt Bewertung hat.

          Ich habe es ja die ganze Zeit so gelöst, wie du es sagst. Wenn über den MQTT die Objekterkennung rein kam, habe ich einfach einen Snapshot der Cam per Telegram verschickt, dachte nur, da es ja eh auf dem anderen Rechner hinterlegt ist, könnte ich ja auch direkt dieses Bild nutzen ohne es nochmal auf dem ioBroker zu speichern und dann zu verschicken.

          Laut Telegram Adapter Beschreibung sollte es ja auch gehen, aber ich weiß nicht, warum es so nicht geht

          Ralla66R 1 Antwort Letzte Antwort
          0
          • coyoteC coyote

            @Ralla66 ja, natürlich würde das gehen, direkt das Bild der Cam zu holen. Aber hier geht es um Objekterkennung, heißt, wird ein Objekt erkannt, wird davon ein Snapshot erstellt und zwar mit dem Frame, der die höchste Objekt Bewertung hat.

            Ich habe es ja die ganze Zeit so gelöst, wie du es sagst. Wenn über den MQTT die Objekterkennung rein kam, habe ich einfach einen Snapshot der Cam per Telegram verschickt, dachte nur, da es ja eh auf dem anderen Rechner hinterlegt ist, könnte ich ja auch direkt dieses Bild nutzen ohne es nochmal auf dem ioBroker zu speichern und dann zu verschicken.

            Laut Telegram Adapter Beschreibung sollte es ja auch gehen, aber ich weiß nicht, warum es so nicht geht

            Ralla66R Offline
            Ralla66R Offline
            Ralla66
            Most Active
            schrieb am zuletzt editiert von Ralla66
            #5

            @coyote
            Bei mir bei Alarm werden Bilder und Videos vor Ort gespeichert.
            Hier so das Thema Beweissicherung.
            Zur Info bekomme ich 3 Fotos bei Alarm über den auslösenden Melder per E-Mail zugesandt.
            Hier wird nichts gespeichert, die Fotos werden von der Cam direkt über IO versand.
            Wenn nötig kann ich dann über VPN auf meine Kameras schalten.
            Wobei diese direkt auf die auslösende Alarmcam schaltet.

            coyoteC 1 Antwort Letzte Antwort
            0
            • Ralla66R Ralla66

              @coyote
              Bei mir bei Alarm werden Bilder und Videos vor Ort gespeichert.
              Hier so das Thema Beweissicherung.
              Zur Info bekomme ich 3 Fotos bei Alarm über den auslösenden Melder per E-Mail zugesandt.
              Hier wird nichts gespeichert, die Fotos werden von der Cam direkt über IO versand.
              Wenn nötig kann ich dann über VPN auf meine Kameras schalten.
              Wobei diese direkt auf die auslösende Alarmcam schaltet.

              coyoteC Offline
              coyoteC Offline
              coyote
              Most Active
              schrieb am zuletzt editiert von
              #6

              @Ralla66 OK, kannst mir ja nachher mal zeigen wie, vllt kann ich es bei Telegram so auch anwenden

              Ralla66R 1 Antwort Letzte Antwort
              0
              • coyoteC coyote

                @Ralla66 OK, kannst mir ja nachher mal zeigen wie, vllt kann ich es bei Telegram so auch anwenden

                Ralla66R Offline
                Ralla66R Offline
                Ralla66
                Most Active
                schrieb am zuletzt editiert von
                #7

                @coyote

                Bitte schön :

                Bild senden A_E.jpg

                coyoteC 1 Antwort Letzte Antwort
                0
                • Ralla66R Ralla66

                  @coyote

                  Bitte schön :

                  Bild senden A_E.jpg

                  coyoteC Offline
                  coyoteC Offline
                  coyote
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @Ralla66 ok, danke. Aber dann scheint es mit E-Mail zu funktionieren und mit Telegram nicht, mache ja eigentlich nichts anderes, siehe ersten Post.
                  Ich nehme einfach das vorhandene jpg File und will mir das per Telegram schicken, macht er aber nicht

                  Ralla66R 1 Antwort Letzte Antwort
                  0
                  • coyoteC coyote

                    @Ralla66 ok, danke. Aber dann scheint es mit E-Mail zu funktionieren und mit Telegram nicht, mache ja eigentlich nichts anderes, siehe ersten Post.
                    Ich nehme einfach das vorhandene jpg File und will mir das per Telegram schicken, macht er aber nicht

                    Ralla66R Offline
                    Ralla66R Offline
                    Ralla66
                    Most Active
                    schrieb am zuletzt editiert von Ralla66
                    #9

                    @coyote
                    Dann mußt du erst einmal best.jpg immer überschreiben.
                    Timing auch ne Sache, erst speichern, 2 sec pause , dann senden.
                    Mach mal ein Timeout 2 Sek dazwischen.
                    Error: ENOENT: no such file or directory, open '192.168.XX.XX:5000/garage/car/best.jpg
                    Da ist wohl im Pfad kein Bild da.

                    N coyoteC 2 Antworten Letzte Antwort
                    0
                    • Ralla66R Ralla66

                      @coyote
                      Dann mußt du erst einmal best.jpg immer überschreiben.
                      Timing auch ne Sache, erst speichern, 2 sec pause , dann senden.
                      Mach mal ein Timeout 2 Sek dazwischen.
                      Error: ENOENT: no such file or directory, open '192.168.XX.XX:5000/garage/car/best.jpg
                      Da ist wohl im Pfad kein Bild da.

                      N Offline
                      N Offline
                      Nahasapee
                      schrieb am zuletzt editiert von
                      #10

                      @coyote ich glaube du musst den link übergeben als text nicht das fs objekt
                      entsprechende code im adapter ist da:
                      https://github.com/iobroker-community-adapters/ioBroker.telegram/blob/b94deeea6c2afdb9f37c8f05eb9b4d88e01ca4f2/main.js#L602

                      bsp:

                      
                          sendTo('telegram.0', {
                              chatId : getState('telegram.0.communicate.requestChatId'/*User ID of last received request*/).val,
                              text : "https://cdn.prod.www.spiegel.de/images/371e5371-21a1-4e98-818d-fa44aa58bf7a_w872_r1.77_fpx50_fpy22.jpg",
                              type: 'photo'
                        });
                      
                      1 Antwort Letzte Antwort
                      0
                      • Ralla66R Ralla66

                        @coyote
                        Dann mußt du erst einmal best.jpg immer überschreiben.
                        Timing auch ne Sache, erst speichern, 2 sec pause , dann senden.
                        Mach mal ein Timeout 2 Sek dazwischen.
                        Error: ENOENT: no such file or directory, open '192.168.XX.XX:5000/garage/car/best.jpg
                        Da ist wohl im Pfad kein Bild da.

                        coyoteC Offline
                        coyoteC Offline
                        coyote
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @Ralla66 best.jpg wird immer bei Objekterkennung überschrieben. Gebe ich diesen Pfad im Browser ein, ist ja das Bild da.
                        Daher verstehe ich nicht, warum er sagt "no such file or directory", das Bild ist definitv vorhanden

                        N Ralla66R 2 Antworten Letzte Antwort
                        0
                        • coyoteC coyote

                          @Ralla66 best.jpg wird immer bei Objekterkennung überschrieben. Gebe ich diesen Pfad im Browser ein, ist ja das Bild da.
                          Daher verstehe ich nicht, warum er sagt "no such file or directory", das Bild ist definitv vorhanden

                          N Offline
                          N Offline
                          Nahasapee
                          schrieb am zuletzt editiert von
                          #12

                          @coyote vielleicht hat dein iobroker keine lese rechte?

                          coyoteC 1 Antwort Letzte Antwort
                          0
                          • N Nahasapee

                            @coyote vielleicht hat dein iobroker keine lese rechte?

                            coyoteC Offline
                            coyoteC Offline
                            coyote
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @Nahasapee hm, ist ein Argument. Jetzt ist die Frage, wie gebe ich ioBroker lese Rechte, falls es daran liegt

                            N 1 Antwort Letzte Antwort
                            0
                            • coyoteC coyote

                              @Ralla66 best.jpg wird immer bei Objekterkennung überschrieben. Gebe ich diesen Pfad im Browser ein, ist ja das Bild da.
                              Daher verstehe ich nicht, warum er sagt "no such file or directory", das Bild ist definitv vorhanden

                              Ralla66R Offline
                              Ralla66R Offline
                              Ralla66
                              Most Active
                              schrieb am zuletzt editiert von
                              #14

                              @coyote
                              das ist wohl eher das hier:
                              da es ja eh auf dem anderen Rechner hinterlegt ist
                              Direkt von der Cam geht ja.

                              1 Antwort Letzte Antwort
                              0
                              • coyoteC coyote

                                @Nahasapee hm, ist ein Argument. Jetzt ist die Frage, wie gebe ich ioBroker lese Rechte, falls es daran liegt

                                N Offline
                                N Offline
                                Nahasapee
                                schrieb am zuletzt editiert von
                                #15

                                @coyote chmod o+r MyFile

                                coyoteC 1 Antwort Letzte Antwort
                                0
                                • N Nahasapee

                                  @coyote chmod o+r MyFile

                                  coyoteC Offline
                                  coyoteC Offline
                                  coyote
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #16

                                  @Nahasapee @Ralla66 aber egal von welchem Gerät im Netzwerk ich diese URL aufrufe, bekomme ich das Bild angezeigt, zumindest im Browser

                                  Ralla66R N 2 Antworten Letzte Antwort
                                  0
                                  • coyoteC coyote

                                    @Nahasapee @Ralla66 aber egal von welchem Gerät im Netzwerk ich diese URL aufrufe, bekomme ich das Bild angezeigt, zumindest im Browser

                                    Ralla66R Offline
                                    Ralla66R Offline
                                    Ralla66
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @coyote
                                    ja ok, dann teste Telegramm,
                                    leg das Bild ab wo Telgramm läuft und rufe das ab im Browser und mit Telegramm.

                                    coyoteC 1 Antwort Letzte Antwort
                                    0
                                    • coyoteC coyote

                                      @Nahasapee @Ralla66 aber egal von welchem Gerät im Netzwerk ich diese URL aufrufe, bekomme ich das Bild angezeigt, zumindest im Browser

                                      N Offline
                                      N Offline
                                      Nahasapee
                                      schrieb am zuletzt editiert von
                                      #18

                                      @coyote hast du den code oben versucht von mir? ich kann das bild ohne zwischenspeichern verschicken!

                                      coyoteC 2 Antworten Letzte Antwort
                                      0
                                      • Ralla66R Ralla66

                                        @coyote
                                        ja ok, dann teste Telegramm,
                                        leg das Bild ab wo Telgramm läuft und rufe das ab im Browser und mit Telegramm.

                                        coyoteC Offline
                                        coyoteC Offline
                                        coyote
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #19

                                        @Ralla66 wenn ich es so wie im ersten Post (letzter Code Tag) abrufe und zwar nicht direkt die URL der Cam, sondern die URL mit Endung /best.jpg, dann als "cambild.jpg" unter einem Verzeichnis in ioBroker speichere und das wiederum mit Telegram verschicke, geht es ohne Probleme

                                        1 Antwort Letzte Antwort
                                        0
                                        • N Nahasapee

                                          @coyote hast du den code oben versucht von mir? ich kann das bild ohne zwischenspeichern verschicken!

                                          coyoteC Offline
                                          coyoteC Offline
                                          coyote
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #20

                                          @Nahasapee werde ich morgen mal testen, vllt geht das

                                          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

                                          386

                                          Online

                                          32.6k

                                          Benutzer

                                          82.1k

                                          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