Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Frage] Bild per telegram verschicken?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

[Frage] Bild per telegram verschicken?

Scheduled Pinned Locked Moved Skripten / Logik
93 Posts 31 Posters 35.5k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    wrote on last edited by
    #83

    ja, so:

    sendTo('telegram.0', {user: vUser, text: 'c:/tmp/snap' + ip + '.jpg', caption: cam});


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Reply Last reply
    0
    • A AingTii

      Hallo Zusammen,

      kann ich auch ein Bild an einen bestimmten User senden, alle versuche von mir scheitern,
      entweder wird im Script schon ein Fehler gemeldet oder es kommt nichts an.

      Danke

      Gruß Jens

      TheDukeT Offline
      TheDukeT Offline
      TheDuke
      wrote on last edited by
      #84

      @AingTii sagte in [Frage] Bild per telegram verschicken?:

      kann ich auch ein Bild an einen bestimmten User senden

      schau mal hier

      schöne Grüße TheDuke ;)

      1 Reply Last reply
      0
      • A Offline
        A Offline
        AingTii
        wrote on last edited by
        #85

        Danke, hat funktioniert.

        Keine Ahnung, warum vorher nicht....
        Aber vielleicht war es nur eine Klammer oder Komma an einer falschen stellen etc....

        sendTo('telegram.0', {user:'User', text:pfad});

        Wobei pfad hier eine Variable ist, die aus DateiPfad und Name des gerad gespeicherten Bildes ist.

        Danke noch mal
        Gruß Jens

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Master77
          wrote on last edited by Master77
          #86

          Hallo zusammen.

          Ich wollte mir gern per Telegram ein Bild von meiner IPCam zusenden lassen.
          Als Hilfestellung / Grundlage habe ich folgendes Video genommen:

          https://youtu.be/Tda3BIM1SUk

          Wenn ich

          wget --output-document /opt/iobroker/ipcam/alarm.jpg 'http://192.168.178.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxx&pwd=xxxxx'
          

          über das Skript auslöse, kommt kein Bild. Wenn ich den Befehl über putty eingebe wird er ausgeführt. Trigger ich danach das Skript wird mir das Bild angezeigt welches ich zuvor über den Befehl in putty erstellt habe. Kann mir einer sagen was ich falsch mache? Egal wie oft ich das Skript auslöse, es wird mir immer das Bild angezeigt welches ich zuletzt mit dem Befehl in putty erstellt habe. Es wird also kein neues Bild über das Skript erstellt. Irgendwo ist der Wurm drin und ich weiß nicht wo.
          Fast vergessen, das ganze läuft auf einem Rock64 und bei der IPCam handelt es sich um eine Foscam C1.

          Danke im voraus für eure Hilfe.

          Gruß Markus

          1 Reply Last reply
          0
          • C Offline
            C Offline
            chka
            wrote on last edited by
            #87

            Ich bekomme es einfach nicht zum laufen.
            Push Nachricht kommt durch allerdings ohne Bild.
            schaue ich mir das Bild an ist es gerade mal 340Byte groß und lässt sich nicht öffnen.

            Ich vereise direkt auf http://ip/bild.jpg login oder sonstwas habe ich erstmal abgeschaltet

            INTEL NUC BOXNUC6I3SYH i3-6100U - Proxmox

            Speicher: Transcend MTS800 M.2 SSD 128GB SATA III, MLC

            RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

            M 1 Reply Last reply
            0
            • C chka

              Ich bekomme es einfach nicht zum laufen.
              Push Nachricht kommt durch allerdings ohne Bild.
              schaue ich mir das Bild an ist es gerade mal 340Byte groß und lässt sich nicht öffnen.

              Ich vereise direkt auf http://ip/bild.jpg login oder sonstwas habe ich erstmal abgeschaltet

              M Offline
              M Offline
              Master77
              wrote on last edited by
              #88

              @chka sagte in [Frage] Bild per telegram verschicken?:

              Ich bekomme es einfach nicht zum laufen.
              Push Nachricht kommt durch allerdings ohne Bild.
              schaue ich mir das Bild an ist es gerade mal 340Byte groß und lässt sich nicht öffnen.

              Ich vereise direkt auf http://ip/bild.jpg login oder sonstwas habe ich erstmal abgeschaltet

              Ein direkter Verweis auf das Bild funktioniert nicht. Du musst das mit dem wget Befehl machen. Das YouTube Video aus meinem letzten Post hat mit sehr bei der Lösung des Problem geholfen.

              Gruß Markus

              1 Reply Last reply
              0
              • lobomauL lobomau

                @AST64:

                Mach mal versuchsweise 2*20000 `
                Nein, will einfach nicht. Die Änderung funktioniert insoweit, dass zuerst die telegram-Ansage kommt und 40sec später das Bild.

                Aber auf die Platte wird die Datei nur einmal abgespeichert.

                fs und request sind eingetragen als npm-Module.

                Hier nochmal das unveränderte Script:

                // Telegram Bild senden
                
                var source_url = 'http://admin:passwd@192.168.178.XXX/snapshot.jpg', //Adresse der IpKamera
                    dest_path = '/opt/iobroker/iobroker-data/files/vis.0/main/Haus/'; // Bei mir der Pfad in einem Ordner des brix
                var Trigger = "javascript.0.Variablen.Test-Trigger"/*Variablen.Test-Trigger*/; //Trigger (Testweise mit einem Schalter der Aussenbeleuchtung)
                var Nachricht = "Test-Trigger"; // Nachricht, zu dem Bild 
                
                var request = require('request');
                var fs      = require('fs');
                var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg'; // DAS HABE ICH ERGÄNZT
                
                // Bild an telegram schicken
                function sendImage (pfad) {
                    setTimeout(function() {
                        sendTo('telegram.1', pfad);
                        log('Webcam Bild per telegram verschickt');
                    }, 2 * 20000);
                    sendTo("telegram.1", Nachricht);    // <-- nach der Timeout funktion ausführen
                }
                
                // Bild speichern
                function saveImage() {
                    request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                        fs.writeFile(dest_path + picdate, body, 'binary', function(err) { // Hier wird der erzeugte Namen (picdate) mit dem Pfad zum Speichern übergeben!
                
                        if (err) {
                            log('Fehler beim Bild speichern: ' + err, 'warn');
                        } else {
                            log('Webcam Bild gespeichert');
                            sendImage(dest_path + picdate); // Hier hole ich mir den erzeugten Namen rein
                            //sendImage(dest_path + 'image2.jpg'); // So war es vorher!
                        }
                      }); 
                    });
                }
                
                //Trigger
                on ({id: Trigger, val: true}, function () {
                    saveImage();
                });
                
                
                B Offline
                B Offline
                blackplanet333
                wrote on last edited by
                #89

                @lobomau sagte in [Frage] Bild per telegram verschicken?:

                @AST64:

                Mach mal versuchsweise 2*20000 `
                Nein, will einfach nicht. Die Änderung funktioniert insoweit, dass zuerst die telegram-Ansage kommt und 40sec später das Bild.

                Aber auf die Platte wird die Datei nur einmal abgespeichert.

                fs und request sind eingetragen als npm-Module.

                Hier nochmal das unveränderte Script:

                // Telegram Bild senden
                
                var source_url = 'http://admin:passwd@192.168.178.XXX/snapshot.jpg', //Adresse der IpKamera
                    dest_path = '/opt/iobroker/iobroker-data/files/vis.0/main/Haus/'; // Bei mir der Pfad in einem Ordner des brix
                var Trigger = "javascript.0.Variablen.Test-Trigger"/*Variablen.Test-Trigger*/; //Trigger (Testweise mit einem Schalter der Aussenbeleuchtung)
                var Nachricht = "Test-Trigger"; // Nachricht, zu dem Bild 
                
                var request = require('request');
                var fs      = require('fs');
                var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg'; // DAS HABE ICH ERGÄNZT
                
                // Bild an telegram schicken
                function sendImage (pfad) {
                    setTimeout(function() {
                        sendTo('telegram.1', pfad);
                        log('Webcam Bild per telegram verschickt');
                    }, 2 * 20000);
                    sendTo("telegram.1", Nachricht);    // <-- nach der Timeout funktion ausführen
                }
                
                // Bild speichern
                function saveImage() {
                    request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                        fs.writeFile(dest_path + picdate, body, 'binary', function(err) { // Hier wird der erzeugte Namen (picdate) mit dem Pfad zum Speichern übergeben!
                
                        if (err) {
                            log('Fehler beim Bild speichern: ' + err, 'warn');
                        } else {
                            log('Webcam Bild gespeichert');
                            sendImage(dest_path + picdate); // Hier hole ich mir den erzeugten Namen rein
                            //sendImage(dest_path + 'image2.jpg'); // So war es vorher!
                        }
                      }); 
                    });
                }
                
                //Trigger
                on ({id: Trigger, val: true}, function () {
                    saveImage();
                });
                
                

                Hi,
                hab das selbe Problem, dass das Bild nur einmal auf die Platte gespeichert wird.
                Mehr als ein Bild kommt nur wenn ich das Script dazwischen neustarte.
                Hat hier inzwischen schon die Lösung gefunden?
                Er sollte ja am Besten das Bild mit der Aktuellen Uhrzeit immer ablegen

                P 1 Reply Last reply
                0
                • B blackplanet333

                  @lobomau sagte in [Frage] Bild per telegram verschicken?:

                  @AST64:

                  Mach mal versuchsweise 2*20000 `
                  Nein, will einfach nicht. Die Änderung funktioniert insoweit, dass zuerst die telegram-Ansage kommt und 40sec später das Bild.

                  Aber auf die Platte wird die Datei nur einmal abgespeichert.

                  fs und request sind eingetragen als npm-Module.

                  Hier nochmal das unveränderte Script:

                  // Telegram Bild senden
                  
                  var source_url = 'http://admin:passwd@192.168.178.XXX/snapshot.jpg', //Adresse der IpKamera
                      dest_path = '/opt/iobroker/iobroker-data/files/vis.0/main/Haus/'; // Bei mir der Pfad in einem Ordner des brix
                  var Trigger = "javascript.0.Variablen.Test-Trigger"/*Variablen.Test-Trigger*/; //Trigger (Testweise mit einem Schalter der Aussenbeleuchtung)
                  var Nachricht = "Test-Trigger"; // Nachricht, zu dem Bild 
                  
                  var request = require('request');
                  var fs      = require('fs');
                  var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg'; // DAS HABE ICH ERGÄNZT
                  
                  // Bild an telegram schicken
                  function sendImage (pfad) {
                      setTimeout(function() {
                          sendTo('telegram.1', pfad);
                          log('Webcam Bild per telegram verschickt');
                      }, 2 * 20000);
                      sendTo("telegram.1", Nachricht);    // <-- nach der Timeout funktion ausführen
                  }
                  
                  // Bild speichern
                  function saveImage() {
                      request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                          fs.writeFile(dest_path + picdate, body, 'binary', function(err) { // Hier wird der erzeugte Namen (picdate) mit dem Pfad zum Speichern übergeben!
                  
                          if (err) {
                              log('Fehler beim Bild speichern: ' + err, 'warn');
                          } else {
                              log('Webcam Bild gespeichert');
                              sendImage(dest_path + picdate); // Hier hole ich mir den erzeugten Namen rein
                              //sendImage(dest_path + 'image2.jpg'); // So war es vorher!
                          }
                        }); 
                      });
                  }
                  
                  //Trigger
                  on ({id: Trigger, val: true}, function () {
                      saveImage();
                  });
                  
                  

                  Hi,
                  hab das selbe Problem, dass das Bild nur einmal auf die Platte gespeichert wird.
                  Mehr als ein Bild kommt nur wenn ich das Script dazwischen neustarte.
                  Hat hier inzwischen schon die Lösung gefunden?
                  Er sollte ja am Besten das Bild mit der Aktuellen Uhrzeit immer ablegen

                  P Offline
                  P Offline
                  powder8
                  wrote on last edited by powder8
                  #90

                  @AST64

                  vielen Dank für Dein Script. Das waren meine ersten Zeilen JS und ich habe es sofort verstanden.

                  Ich würde gerne 2 oder mehr Trigger haben also Trigger1 oder Trigger2 oder Trigger3

                  on({id: 'script.js.Bewegung_Einfahrt', val: true}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    saveImage();
                  });
                  

                  Falls mich dort jemand oder @AST64 unterstützen kann, das wäre super.

                  Ich habe on einfach 2 x im Script. Das funktioniert, aber es gibt evtl einen eleganteren Weg.

                  Noch eine Frage: Wofür ist diese Zeile?

                  var Trigger = "hm-rpc.0.MEQ0692925.1.MOTION"; //Bewegungsmelder als Trigger
                  

                  Die Var Trigger wird nicht mehr im Script benutzt?

                  Gruß

                  B 1 Reply Last reply
                  0
                  • P powder8

                    @AST64

                    vielen Dank für Dein Script. Das waren meine ersten Zeilen JS und ich habe es sofort verstanden.

                    Ich würde gerne 2 oder mehr Trigger haben also Trigger1 oder Trigger2 oder Trigger3

                    on({id: 'script.js.Bewegung_Einfahrt', val: true}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      saveImage();
                    });
                    

                    Falls mich dort jemand oder @AST64 unterstützen kann, das wäre super.

                    Ich habe on einfach 2 x im Script. Das funktioniert, aber es gibt evtl einen eleganteren Weg.

                    Noch eine Frage: Wofür ist diese Zeile?

                    var Trigger = "hm-rpc.0.MEQ0692925.1.MOTION"; //Bewegungsmelder als Trigger
                    

                    Die Var Trigger wird nicht mehr im Script benutzt?

                    Gruß

                    B Offline
                    B Offline
                    bytec
                    wrote on last edited by bytec
                    #91

                    Bei mir läuft soweit das ich eine Telegram Nachricht mit dem Bild der Kamera bekomme.

                    Nur gibt es eine Möglichkeit das mir das Bild auch im Sperrbildschirm von iOS in groß angezeigt wird? Bei Whats app geht das.

                    Gruß

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      maxpd
                      wrote on last edited by
                      #92

                      So wie ich den Thread hier verstanden habe, muss ich nur eine URL meines Raspis als Textnachricht über Telegram versenden? Also quasi sowas: http://192.123.178.109:1234/state/doorbird.1.Doorbell.2.snapshot

                      703346cb-bd7b-4f59-becb-f2db8767e336-image.png

                      Ich bekomme dann nur eine Nachricht die heißt "undefinedDINGDONG"

                      Gruß
                      maxpd

                      Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                      1 Reply Last reply
                      0
                      • W Offline
                        W Offline
                        wuliwux1
                        wrote on last edited by
                        #93

                        hi,
                        da ich auf der Suche nach einer Lösung ohne Dateizugriffe war (nur im RAM) und leider keine gefunden habe. Musste ein wenig gebastelt werden. Hier das Ergebnis:

                        function sendPricture() {
                            var photoUrl = "https://hostname/image.jpg"
                            request.get({ url: photoUrl, encoding: 'binary' }, function (err, response, body) {
                                var buffer = Buffer.from(body, 'binary');
                                sendTo('telegram.1',
                                    {
                                        type: 'photo',
                                        text: buffer,
                                        caption: 'Eingang',
                                        disable_notification: true,
                                        filename: "eingang.jpg",
                                        contentType: 'image/jpeg'
                                    }, (e) => {
                                        console.log("error: " + e);
                                    }
                                );
                            });
                        }
                        

                        Läuft wir man sieht ohne Dateizugriffe.
                        Vielleicht hilft das ja mal jemand.

                        lg

                        1 Reply Last reply
                        1
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        604

                        Online

                        32.7k

                        Users

                        82.4k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe