Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Gelöst]Bild von Webcam speichern

NEWS

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

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

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

[Gelöst]Bild von Webcam speichern

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
13 Beiträge 2 Kommentatoren 1.0k Aufrufe 2 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.
  • amg_666A amg_666

    Hallo,
    ich möchte, wenn jemand an meiner Haustür klingelt, dass die Überwachungskamera einen Snapshot macht und mir den an Telegram sendet. Ich nutze den Telegram Adapter und Kommunikation passt schonmal grundsätzlich.
    Problem ist, dass ich kein Kamerabild gespeichert bekomme.

    Auszug aus javascript:

     request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                fs.writeFile("/tmp/snap.jpg", body, 'binary', function(err) {
                if (err) {
                    console.error(err);
                     } else {
                    console.log('Snapshot sent');
                    sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                    }
                }); 
    

    Die Variable url_snapshot ist mit dem Link auf die Kamera-Snapshotfunktion gefüllt und wenn ich den so im Browser eingebe kommt auch ein Bild.

    var url_snapshot = 'http://192.168.2.31/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxx&pwd=yyyyyyy';
    

    Im Log kommt der Output, dass gesendet wurde

    2022-01-07 22:13:53.044 - info: javascript.0 (446) Start javascript script.js.Tests.Bild_an_Telegram
    2022-01-07 22:13:53.059 - info: javascript.0 (446) script.js.Tests.Bild_an_Telegram: registered 1 subscription and 0 schedules
    2022-01-07 22:14:03.951 - info: javascript.0 (446) script.js.Tests.Bild_an_Telegram: Snapshot sent
    

    Es kommt aber nix an (auch der Text "Es hat geklingelt" nicht...

    Wenn ich im iobroker Unterverzeichnis tmp nachschaue, dann ist da auch kein Bild gespeichert:

    andreas@iobroker:/opt/iobroker/iobroker-data/tmp$ ls
    telegram_0
    

    Hat jemand hier eine Idee oder einen Tipp, was ich da falsch mache?

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    schrieb am zuletzt editiert von Glasfaser
    #2

    @amg_666 sagte in Bild von Webcam speichern:

    so :

     request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                if (err) {
                    console.error(err);
                     } else {
                    console.log('Snapshot sent');
                    sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                    }
                }); 
    
    

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    amg_666A 1 Antwort Letzte Antwort
    0
    • GlasfaserG Glasfaser

      @amg_666 sagte in Bild von Webcam speichern:

      so :

       request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                  fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                  if (err) {
                      console.error(err);
                       } else {
                      console.log('Snapshot sent');
                      sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                      }
                  }); 
      
      
      amg_666A Offline
      amg_666A Offline
      amg_666
      schrieb am zuletzt editiert von
      #3

      @glasfaser sagte in Bild von Webcam speichern:

      fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {

      Du hast den Dateinamen in einfache Hochkommas gesetzt, hab ich ausprobiert, kein Effekt...

      iobroker auf proxmox container

      GlasfaserG 1 Antwort Letzte Antwort
      0
      • amg_666A amg_666

        @glasfaser sagte in Bild von Webcam speichern:

        fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {

        Du hast den Dateinamen in einfache Hochkommas gesetzt, hab ich ausprobiert, kein Effekt...

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von Glasfaser
        #4

        @amg_666 sagte in Bild von Webcam speichern:

        kein Effekt...

        ich kenn nicht dein ganzes Script , nur dein Schnipsel ... aber es funktioniert !

        hier mal von mir erweitert auf Basis von deinem , ein Bild wird geholt und auch versendet !

        var fs = require('fs');
        
        var url_snapshot = 'http://hiermeinPfadvomBild';//Bild URL
        
        request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
        
                fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
        
                    if (err) {
        
                        console.error(err);
        
                         } else {
        
                        console.log('Snapshot sent');
        
                        sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
        
                        }
        
                    }); 
                });     
        
        

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        amg_666A 1 Antwort Letzte Antwort
        0
        • GlasfaserG Glasfaser

          @amg_666 sagte in Bild von Webcam speichern:

          kein Effekt...

          ich kenn nicht dein ganzes Script , nur dein Schnipsel ... aber es funktioniert !

          hier mal von mir erweitert auf Basis von deinem , ein Bild wird geholt und auch versendet !

          var fs = require('fs');
          
          var url_snapshot = 'http://hiermeinPfadvomBild';//Bild URL
          
          request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
          
                  fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
          
                      if (err) {
          
                          console.error(err);
          
                           } else {
          
                          console.log('Snapshot sent');
          
                          sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
          
                          }
          
                      }); 
                  });     
          
          
          amg_666A Offline
          amg_666A Offline
          amg_666
          schrieb am zuletzt editiert von
          #5

          @glasfaser sagte in Bild von Webcam speichern:

          ich bastel da noch dran rum, das skript ist garnicht sehr viel länger, hier mal komplett. Ich hab da jetzt deinen Code von eben komplett reinkopiert, jetzt bekomme ich Warnings

          on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT"/*Klingel aktiv*/, val: true, change: 'ne'});
          
          var url_snapshot = 'http://192.168.2.31/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXXXX&pwd=YYYYY';
           
          var fs = require('fs');
          
          request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                  fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                      if (err) {
                          console.error(err);
                           } else {
                          console.log('Snapshot sent');
                          sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                          }
                      }); 
                  });     
          

          Jetzt spuckt er warnungen im log aus

          avascript.0
          	2022-01-08 16:38:18.057	warn	at processImmediate (internal/timers.js:464:21)
          javascript.0
          	2022-01-08 16:38:18.057	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5708:41)
          javascript.0
          	2022-01-08 16:38:18.057	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
          javascript.0
          	2022-01-08 16:38:18.057	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38)
          javascript.0
          	2022-01-08 16:38:18.057	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1068:33)
          javascript.0
          	2022-01-08 16:38:18.056	warn	at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
          javascript.0
          	2022-01-08 16:38:18.055	warn	State "undefined" not found
          

          iobroker auf proxmox container

          GlasfaserG 1 Antwort Letzte Antwort
          0
          • amg_666A amg_666

            @glasfaser sagte in Bild von Webcam speichern:

            ich bastel da noch dran rum, das skript ist garnicht sehr viel länger, hier mal komplett. Ich hab da jetzt deinen Code von eben komplett reinkopiert, jetzt bekomme ich Warnings

            on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT"/*Klingel aktiv*/, val: true, change: 'ne'});
            
            var url_snapshot = 'http://192.168.2.31/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXXXX&pwd=YYYYY';
             
            var fs = require('fs');
            
            request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                    fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                        if (err) {
                            console.error(err);
                             } else {
                            console.log('Snapshot sent');
                            sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                            }
                        }); 
                    });     
            

            Jetzt spuckt er warnungen im log aus

            avascript.0
            	2022-01-08 16:38:18.057	warn	at processImmediate (internal/timers.js:464:21)
            javascript.0
            	2022-01-08 16:38:18.057	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5708:41)
            javascript.0
            	2022-01-08 16:38:18.057	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
            javascript.0
            	2022-01-08 16:38:18.057	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38)
            javascript.0
            	2022-01-08 16:38:18.057	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1068:33)
            javascript.0
            	2022-01-08 16:38:18.056	warn	at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
            javascript.0
            	2022-01-08 16:38:18.055	warn	State "undefined" not found
            
            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            schrieb am zuletzt editiert von
            #6

            @amg_666 sagte in Bild von Webcam speichern:

            State "undefined" not found

            nimm das raus :

            on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT"/*Klingel aktiv*/, val: true, change: 'ne'});
            

            das Script startet beim einschalten schon , da brauchst du kein Trigger .

            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

            amg_666A 1 Antwort Letzte Antwort
            0
            • GlasfaserG Glasfaser

              @amg_666 sagte in Bild von Webcam speichern:

              State "undefined" not found

              nimm das raus :

              on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT"/*Klingel aktiv*/, val: true, change: 'ne'});
              

              das Script startet beim einschalten schon , da brauchst du kein Trigger .

              amg_666A Offline
              amg_666A Offline
              amg_666
              schrieb am zuletzt editiert von
              #7

              @glasfaser
              Jetzt läuft es ohne Fehler durch, im log steht "snapshot sent". Aber es ist immer noch kein Bild im tpm Ordner.
              Das Skript läuft zwar beim Starten direkt durch aber ich will ja ein aktuelles Bild haben, wenn jemand klingelt (?)

              iobroker auf proxmox container

              1 Antwort Letzte Antwort
              0
              • GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                schrieb am zuletzt editiert von Glasfaser
                #8

                @amg_666 sagte in Bild von Webcam speichern:

                Das Skript läuft zwar beim Starten direkt durch aber ich will ja ein aktuelles Bild haben,

                Nochmal ...

                ja das war nur ein Testscript von mir , auf basis von deinem ..

                Woher soll / sollte ich wissen was du möchtest ...
                da es eine Vielzahl von fertigen Script hier im Forum gibt zu : Telegram Bild versenden .

                Wird jetzt ein Bild bei telegram angezeigt , der Ordner ist erstmal uninteressant!?

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                amg_666A 1 Antwort Letzte Antwort
                0
                • GlasfaserG Glasfaser

                  @amg_666 sagte in Bild von Webcam speichern:

                  Das Skript läuft zwar beim Starten direkt durch aber ich will ja ein aktuelles Bild haben,

                  Nochmal ...

                  ja das war nur ein Testscript von mir , auf basis von deinem ..

                  Woher soll / sollte ich wissen was du möchtest ...
                  da es eine Vielzahl von fertigen Script hier im Forum gibt zu : Telegram Bild versenden .

                  Wird jetzt ein Bild bei telegram angezeigt , der Ordner ist erstmal uninteressant!?

                  amg_666A Offline
                  amg_666A Offline
                  amg_666
                  schrieb am zuletzt editiert von
                  #9

                  @glasfaser sagte in Bild von Webcam speichern:

                  Bild bei telegram angezeigt , der Ordner ist erstmal uninteressant!?

                  nein wird es nicht. Und weil das ja mein "Anfangsproblem" ist, wollte ich erstmal prüfen ob überhautp ein Bild (lokal) gespeichert wird

                  iobroker auf proxmox container

                  GlasfaserG 1 Antwort Letzte Antwort
                  0
                  • amg_666A amg_666

                    @glasfaser sagte in Bild von Webcam speichern:

                    Bild bei telegram angezeigt , der Ordner ist erstmal uninteressant!?

                    nein wird es nicht. Und weil das ja mein "Anfangsproblem" ist, wollte ich erstmal prüfen ob überhautp ein Bild (lokal) gespeichert wird

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    schrieb am zuletzt editiert von
                    #10

                    @amg_666 sagte in Bild von Webcam speichern:

                    ob überhautp ein Bild (lokal) gespeichert wird

                    Prüfe hiermit , das Bild wird im Ordner vis.0 abgelegt :

                    request(
                    
                      {
                    
                        url: "http://ccccccccccccccccccccccc",
                    
                        encoding: null,
                    
                      },
                    
                      (error, response, body) => {
                    
                        if (!error && body) {
                    
                          writeFile("vis.0", "/hugo1.jpg", body);
                    
                        }
                    
                      }
                    
                    );
                    

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    amg_666A 1 Antwort Letzte Antwort
                    0
                    • GlasfaserG Glasfaser

                      @amg_666 sagte in Bild von Webcam speichern:

                      ob überhautp ein Bild (lokal) gespeichert wird

                      Prüfe hiermit , das Bild wird im Ordner vis.0 abgelegt :

                      request(
                      
                        {
                      
                          url: "http://ccccccccccccccccccccccc",
                      
                          encoding: null,
                      
                        },
                      
                        (error, response, body) => {
                      
                          if (!error && body) {
                      
                            writeFile("vis.0", "/hugo1.jpg", body);
                      
                          }
                      
                        }
                      
                      );
                      
                      amg_666A Offline
                      amg_666A Offline
                      amg_666
                      schrieb am zuletzt editiert von amg_666
                      #11

                      @glasfaser Danke für deinen Support. Ich hab den telegram Adapter nochmal neu gestartet (hatte ich eigentlich gestern auch schon) und jetzt funzt es.
                      Im tmp Ordner unter iobroker ist weiterhin kein Bild aber bei Telegram kommt es an
                      -> einmal "find / " mit dem Namen durchlaufen lassen und: Toll, man sollte VORHER nachdenken 🙂 Der speichert den snapshot nicht unter /iobroker/... ab sondern im root-Verzeichnis unter tmp. Macht ja auch Sinn wenn man im Skript /tmp angibt, oh Mann...

                      Hast du noch einen Tipp/eine Idee warum die Warnings kommen, wenn ich meinen Trigger (auf den hm-Klingelkontakt) setze ?

                      iobroker auf proxmox container

                      GlasfaserG 1 Antwort Letzte Antwort
                      0
                      • amg_666A amg_666

                        @glasfaser Danke für deinen Support. Ich hab den telegram Adapter nochmal neu gestartet (hatte ich eigentlich gestern auch schon) und jetzt funzt es.
                        Im tmp Ordner unter iobroker ist weiterhin kein Bild aber bei Telegram kommt es an
                        -> einmal "find / " mit dem Namen durchlaufen lassen und: Toll, man sollte VORHER nachdenken 🙂 Der speichert den snapshot nicht unter /iobroker/... ab sondern im root-Verzeichnis unter tmp. Macht ja auch Sinn wenn man im Skript /tmp angibt, oh Mann...

                        Hast du noch einen Tipp/eine Idee warum die Warnings kommen, wenn ich meinen Trigger (auf den hm-Klingelkontakt) setze ?

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von Glasfaser
                        #12

                        @amg_666 sagte in Bild von Webcam speichern:

                        wenn ich meinen Trigger (auf den hm-Klingelkontakt) setze ?

                        der hängt in der Luft ...

                        wäre dann so :

                        url_snapshot = 'http://xxxxxxxxxxxxxxxxxxxxxx';
                        
                        on({id: '0_userdata.0.Trigger_Button', val: true}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          await etwas_tun();
                        });
                        
                        async function etwas_tun() {
                            var fs = require('fs');
                            
                            request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                            
                             
                            
                                    fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                            
                             
                            
                                        if (err) {
                            
                             
                            
                                            console.error(err);
                            
                             
                            
                                             } else {
                            
                             
                            
                                            console.log('Snapshot sent');
                            
                             
                            
                                            sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                            
                             
                            
                                            }
                            
                             
                            
                                        }); 
                            
                                    });     
                            
                        
                        }
                        
                        
                        

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        amg_666A 1 Antwort Letzte Antwort
                        0
                        • GlasfaserG Glasfaser

                          @amg_666 sagte in Bild von Webcam speichern:

                          wenn ich meinen Trigger (auf den hm-Klingelkontakt) setze ?

                          der hängt in der Luft ...

                          wäre dann so :

                          url_snapshot = 'http://xxxxxxxxxxxxxxxxxxxxxx';
                          
                          on({id: '0_userdata.0.Trigger_Button', val: true}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            await etwas_tun();
                          });
                          
                          async function etwas_tun() {
                              var fs = require('fs');
                              
                              request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                              
                               
                              
                                      fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                              
                               
                              
                                          if (err) {
                              
                               
                              
                                              console.error(err);
                              
                               
                              
                                               } else {
                              
                               
                              
                                              console.log('Snapshot sent');
                              
                               
                              
                                              sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'});
                              
                               
                              
                                              }
                              
                               
                              
                                          }); 
                              
                                      });     
                              
                          
                          }
                          
                          
                          
                          amg_666A Offline
                          amg_666A Offline
                          amg_666
                          schrieb am zuletzt editiert von
                          #13

                          @glasfaser DANKE !!!!

                          iobroker auf proxmox container

                          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

                          349

                          Online

                          32.4k

                          Benutzer

                          81.4k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe