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

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

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

[Frage] Bild per telegram verschicken?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
93 Beiträge 31 Kommentatoren 33.8k Aufrufe 8 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.
  • lobomauL Offline
    lobomauL Offline
    lobomau
    schrieb am zuletzt editiert von
    #72

    @AST64:

    So::::

    Ich lese nun die Zeit aus, formatiere sie und speichere das Bild.

    Hier wird nun jedesmal ein neues Bild erzeugt, welches letztlich auf der Platte auch identifiziert werden kann.

    Sieht dann so aus: 2017-07-23 15-02-08.jpg

    // Telegram Bild senden
    
    var source_url = 'http://192.168.xxx.xx/snapshot.cgi?user=xxxxx&pwd=xxxxx', //Adresse der IpKamera
        dest_path = '/Users/mm-ccu-vu/SnapShots/'; // Bei mir der Pfad in einem Ordner des MacMini
    var Trigger = "hm-rpc.1.NEQ1513396.17.STATE"; //Trigger (Testweise mit einem Schalter der Aussenbeleuchtung)
    var Nachricht = "Es hat geklingelt"; // 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', pfad);
            log('Webcam Bild per telegram verschickt');
        }, 2 * 1000);
        sendTo("telegram", 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();
    });
    
    

    Danke `
    Bei mir funktioniert es mit einer kleinen Einschränkung:

    beim ersten Auslösen es Triggers wird alles ausgeführt, wie gedacht.

    Beim zweiten Mal wird zwar ein telegram geschickt, aber es wird keine Datei abgespeichert. Das funktioniert erst wenn ich das Script neustarte und es nochmal mache.

    Host: NUC8i3 mit Proxmox:

    • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
    • Slave: Pi4
    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      AST64
      schrieb am zuletzt editiert von
      #73

      Versuch mal mit dem timeout ein wenig zu spielen. Kann sein, das das Bild beim ersten Mal gespeichert wird, aber beim zweiten Mal dauert es etwas länger, weil das vorhandene Bild erst durch ein Neues ersetzt werden muss. Vielleicht nur ein paar Millisekunden mehr!

      Andreas

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        Dice19
        schrieb am zuletzt editiert von
        #74

        Danke, es läuft jetzt.

        Aber ein Bild kommt trotzdem nicht an.

        Hab mit WINSCP den Ordner wie im Script angelegt und die Rechte 777 vergeben.

        Aber keine Datei im Ordner vorhanden. :?

        @lobomau:

        @tobih83:

        Habe das ganze nochmal neu angelegt und den Ordner wie bei Dir angegeben angelegt im Verzeichnis.

        Bekomme aber Fehlermeldung die ich leider nicht interpretieren kann vom Script.

        Ich bekomme nun mit dem Script auch gar keine Meldung über Telegramm aufs Handy mehr.

        Tobias Der Fehler ist in der ersten Zeile. Es fehlt ein " ' " vor dem Semikolon.

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          AST64
          schrieb am zuletzt editiert von
          #75

          HM, dann speichert das Script nicht in den Ordner. Schau mal, ob du mit WINSCP etwas dort ablegen kannst.

          1 Antwort Letzte Antwort
          0
          • A Offline
            A Offline
            AST64
            schrieb am zuletzt editiert von
            #76

            Bei mir ist der Pfad auf dem Pi so angelegt.

            dest_path = '/opt/iobroker/iobroker-data/files/eigene/';

            Du kannst ja auch mal einen ganz anderen Weg nehmen, z.B. direkt ins Root Verzeichnis.

            Oder mal einen Dropbox Pfad.

            1 Antwort Letzte Antwort
            0
            • lobomauL Offline
              lobomauL Offline
              lobomau
              schrieb am zuletzt editiert von
              #77

              @AST64:

              Versuch mal mit dem timeout ein wenig zu spielen. Kann sein, das das Bild beim ersten Mal gespeichert wird, aber beim zweiten Mal dauert es etwas länger, weil das vorhandene Bild erst durch ein Neues ersetzt werden muss. Vielleicht nur ein paar Millisekunden mehr!

              Andreas `
              Verlängerung des Timeouts macht bei mir keinen Unterschied. Komisch.

              // Bild an telegram schicken
              function sendImage (pfad) {
                  setTimeout(function() {
                      sendTo('telegram.1', pfad);
                      log('Webcam Bild per telegram verschickt');
                  }, 3 * 2000);
                  sendTo("telegram.1", Nachricht);    // <-- nach der Timeout funktion ausführen
              

              Aber scheint was gespeichert zu werden bzw. der log schreibt es:

              javascript.0	2018-02-09 20:01:47.396	info	script.js.common.Cam.Edimax: Webcam Bild per telegram verschickt
              javascript.0	2018-02-09 20:01:41.393	info	script.js.common.Cam.Edimax: Webcam Bild gespeichert
              javascript.0	2018-02-09 20:01:05.223	info	script.js.common.Cam.Edimax: Webcam Bild per telegram verschickt
              javascript.0	2018-02-09 20:00:59.218	info	script.js.common.Cam.Edimax: Webcam Bild gespeichert
              javascript.0	2018-02-09 20:00:27.762	info	script.js.common.Cam.Edimax: Webcam Bild per telegram verschickt
              javascript.0	2018-02-09 20:00:21.760	info	script.js.common.Cam.Edimax: Webcam Bild gespeichert
              

              Host: NUC8i3 mit Proxmox:

              • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
              • Slave: Pi4
              1 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                AST64
                schrieb am zuletzt editiert von
                #78

                Mach mal versuchsweise 2*20000

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  Dice19
                  schrieb am zuletzt editiert von
                  #79

                  @AST64:

                  Bei mir ist der Pfad auf dem Pi so angelegt.

                  dest_path = '/opt/iobroker/iobroker-data/files/eigene/';

                  Du kannst ja auch mal einen ganz anderen Weg nehmen, z.B. direkt ins Root Verzeichnis.

                  Oder mal einen Dropbox Pfad. `

                  Habe eben mal in die Log Datei geschaut und die Klingel betätigt…...

                  javascript.0 2018-02-10 19:06:22.121 error Error in callback: TypeError: (uri, output, opts) => { if (typeof output === 'object') { opts = output; output = null; } let protocol...... } is not a constructor

                  javascript.0 2018-02-10 19:06:22.121 info script.js.common.Haus.Bild_Klingel: TelegramBild.xaktionCam - state = 1: Klingel es klingelt

                  javascript.0 2018-02-10 19:06:22.120 info script.js.common.Haus.Bild_Klingel: TelegramBild.xaktionCam - start

                  1 Antwort Letzte Antwort
                  0
                  • lobomauL Offline
                    lobomauL Offline
                    lobomau
                    schrieb am zuletzt editiert von
                    #80

                    @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();
                    });
                    
                    

                    Host: NUC8i3 mit Proxmox:

                    • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
                    • Slave: Pi4
                    B 1 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      ludino
                      schrieb am zuletzt editiert von
                      #81

                      Hi,

                      ich habe dazu auch mal eine Frage, vielleicht kann mir ja jemand helfen, meine Cam hat eine Bewegungserkennung, diese kann entweder eine Email mit bild schicken oder das bild auf meine NAS mit FTP schieben.

                      Ich möchte am liebsten das Iobroker diesen FTP ordner überwacht und bei einem neuen Bild mir das Als telegram schickt (Zeitstempel)

                      ist sowas möglich?

                      Gruß

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        AingTii
                        schrieb am zuletzt editiert von
                        #82

                        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 1 Antwort Letzte Antwort
                        0
                        • bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              AingTii
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                Master77
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  chka
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von 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 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

                                          489

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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