Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Hikam Kameras Snapshot erstellen und verschicken

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.8k

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

Hikam Kameras Snapshot erstellen und verschicken

Scheduled Pinned Locked Moved Blockly
67 Posts 9 Posters 10.0k Views 13 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.
  • dslraserD dslraser

    @lost-in-translation sagte in Hikam Kameras Snapshot erstellen und verschicken:

    Wie hast Du das mit der Syno gemacht? Dein Login klappt, aber der dritte Link haut einen 401 zurück:

    Dann hast Du nicht die richtige camera id im dritten Link. (da steht eine Zahl)

    cameraID=9

    Screenshot_20191119-134236_Chrome.jpg

    Da kannst Du einfach mal andere Zahlen durchprobieren, bis die richtige Cam kommt.

    lost in translationL Offline
    lost in translationL Offline
    lost in translation
    wrote on last edited by
    #30

    @dslraser
    So einfach 🙂 Bei 1 und 2 kommt tatsächlich was.
    Jetzt muss ich mich mal mit Deinem javascript auseinandersetzen, um das in Blockly reinzutüten.

    ciao

    frank

    1 Reply Last reply
    0
    • dslraserD dslraser

      @ilovegym
      ich nutze dieses Script
      Benutzer/Passwort und Kamera ID mußt Du anpassen.
      IP ind Port natürlich auch.
      Wenn Du den ersten Link mit Deinen Daten in den Browser einfügst, dann siehst Du schon mal ob das Login geklappt hat. Wenn ja, dann den dritten Link in das gleiche Browser Fenster einfügen und die Kamera ID ändern. Bei mir ist es die 9 (immer wenn man in der Syno eine Kamera neu anlegt oder verändert, dann wurde wohl fortlaufend nummeriert, deshalb wohl die 9 bei mir.) Die ID kannst Du durchprobieren und einfach wieder den Browser damit aktualisieren, bis Du die passende Cam hast.

      //Bild Eingang senden
      //Trigger
      on({id:"javascript.0.Eigene_Datenpunkte.07Klingel.Klingel_aktiv"/*Klingel aktiv*/, val: true, change: 'ne'}, main);
      var request = require("request");
      var fs = require('fs');
      var myJson = {};
      var sid = 0;
      
      function parseJson(text) {
       if (text === "") return {};
       try {
       json = JSON.parse(text);
       } catch (ex) {
       json = {};
       }
       if(!json) json = {};
       return json;
      }
      function readJson(url, callback) {
       request(url, function (err, state, body){
       if (body) {
       var json = parseJson(body);
       callback(null, json);
       } else {
       var error = "(" + err + ") ERROR bei Abfrage von: " + url;
       log(error, "warn"); 
       callback(error, null);
       }
       });
      }
      var url_login ='http://192.168.1.249:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=Benutzer&passwd=Passwort&session=SurveillanceStation&format=sid';
      var url_logout = 'http://192.168.1.249:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation';
      var url_snapshot = 'http://192.168.1.249:5000/webapi/entry.cgi?camStm=1&version=8&cameraId=9&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot';
      
      function main() {
       readJson(url_login, function(err,json) {
       if(!err) {
       myJson = json;
       sid = myJson.data.sid;
       url_snapshot += '&_sid='+sid;
       url_logout += '&_sid='+sid;
       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 an der Haustür geklingelt !🔔'});
       request.get({url: url_logout, encoding: 'binary'});
       }
       }); 
       });
       } else {
       log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
       myJson = {};
       }
       });
      }
      
      lost in translationL Offline
      lost in translationL Offline
      lost in translation
      wrote on last edited by lost in translation
      #31

      @dslraser said in Hikam Kameras Snapshot erstellen und verschicken:

      @ilovegym
      ich nutze dieses Script
      Benutzer/Passwort und Kamera ID mußt Du anpassen.
      IP ind Port natürlich auch.
      Wenn Du den ersten Link mit Deinen Daten in den Browser einfügst, dann siehst Du schon mal ob das Login geklappt hat. Wenn ja, dann den dritten Link in das gleiche Browser Fenster einfügen und die Kamera ID ändern. Bei mir ist es die 9 (immer wenn man in der Syno eine Kamera neu anlegt oder verändert, dann wurde wohl fortlaufend nummeriert, deshalb wohl die 9 bei mir.) Die ID kannst Du durchprobieren und einfach wieder den Browser damit aktualisieren, bis Du die passende Cam hast.

      //Bild Eingang senden
      //Trigger
      on({id:"javascript.0.Eigene_Datenpunkte.07Klingel.Klingel_aktiv"/*Klingel aktiv*/, val: true, change: 'ne'}, main);
      var request = require("request");
      var fs = require('fs');
      var myJson = {};
      var sid = 0;
      
      function parseJson(text) {
       if (text === "") return {};
       try {
       json = JSON.parse(text);
       } catch (ex) {
       json = {};
       }
       if(!json) json = {};
       return json;
      }
      function readJson(url, callback) {
       request(url, function (err, state, body){
       if (body) {
       var json = parseJson(body);
       callback(null, json);
       } else {
       var error = "(" + err + ") ERROR bei Abfrage von: " + url;
       log(error, "warn"); 
       callback(error, null);
       }
       });
      }
      var url_login ='http://192.168.1.249:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=Benutzer&passwd=Passwort&session=SurveillanceStation&format=sid';
      var url_logout = 'http://192.168.1.249:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation';
      var url_snapshot = 'http://192.168.1.249:5000/webapi/entry.cgi?camStm=1&version=8&cameraId=9&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot';
      
      function main() {
       readJson(url_login, function(err,json) {
       if(!err) {
       myJson = json;
       sid = myJson.data.sid;
       url_snapshot += '&_sid='+sid;
       url_logout += '&_sid='+sid;
       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 an der Haustür geklingelt !🔔'});
       request.get({url: url_logout, encoding: 'binary'});
       }
       }); 
       });
       } else {
       log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
       myJson = {};
       }
       });
      }
      

      Verzeih die "blutiger Anfänger" Fragen. Ich habe Dein Skript mal in den Skripteditor kopiert.
      Bekomme aber merkwürdige Fehlermeldungen.
      Ich habe mal von Hand einen Datenpunkt gehäkelt:
      756c6fee-76a6-485c-82c1-764716378341-image.png
      und im Skript habe ich telegram durch email ersetzt, weil ich telegram noch nicht eingerichtet habe.
      Dann bekomme ich das im Log zu sehen:
      7c49121a-fe76-4d5d-9614-858389cea2e6-image.png

      Meine Änderung:
      ac06bc5c-5e5c-4ca9-ae5f-6a6ef0573c43-image.png
      Grummel.

      ciao

      frank

      dslraserD 1 Reply Last reply
      0
      • lost in translationL lost in translation

        @dslraser said in Hikam Kameras Snapshot erstellen und verschicken:

        @ilovegym
        ich nutze dieses Script
        Benutzer/Passwort und Kamera ID mußt Du anpassen.
        IP ind Port natürlich auch.
        Wenn Du den ersten Link mit Deinen Daten in den Browser einfügst, dann siehst Du schon mal ob das Login geklappt hat. Wenn ja, dann den dritten Link in das gleiche Browser Fenster einfügen und die Kamera ID ändern. Bei mir ist es die 9 (immer wenn man in der Syno eine Kamera neu anlegt oder verändert, dann wurde wohl fortlaufend nummeriert, deshalb wohl die 9 bei mir.) Die ID kannst Du durchprobieren und einfach wieder den Browser damit aktualisieren, bis Du die passende Cam hast.

        //Bild Eingang senden
        //Trigger
        on({id:"javascript.0.Eigene_Datenpunkte.07Klingel.Klingel_aktiv"/*Klingel aktiv*/, val: true, change: 'ne'}, main);
        var request = require("request");
        var fs = require('fs');
        var myJson = {};
        var sid = 0;
        
        function parseJson(text) {
         if (text === "") return {};
         try {
         json = JSON.parse(text);
         } catch (ex) {
         json = {};
         }
         if(!json) json = {};
         return json;
        }
        function readJson(url, callback) {
         request(url, function (err, state, body){
         if (body) {
         var json = parseJson(body);
         callback(null, json);
         } else {
         var error = "(" + err + ") ERROR bei Abfrage von: " + url;
         log(error, "warn"); 
         callback(error, null);
         }
         });
        }
        var url_login ='http://192.168.1.249:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=Benutzer&passwd=Passwort&session=SurveillanceStation&format=sid';
        var url_logout = 'http://192.168.1.249:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation';
        var url_snapshot = 'http://192.168.1.249:5000/webapi/entry.cgi?camStm=1&version=8&cameraId=9&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot';
        
        function main() {
         readJson(url_login, function(err,json) {
         if(!err) {
         myJson = json;
         sid = myJson.data.sid;
         url_snapshot += '&_sid='+sid;
         url_logout += '&_sid='+sid;
         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 an der Haustür geklingelt !🔔'});
         request.get({url: url_logout, encoding: 'binary'});
         }
         }); 
         });
         } else {
         log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
         myJson = {};
         }
         });
        }
        

        Verzeih die "blutiger Anfänger" Fragen. Ich habe Dein Skript mal in den Skripteditor kopiert.
        Bekomme aber merkwürdige Fehlermeldungen.
        Ich habe mal von Hand einen Datenpunkt gehäkelt:
        756c6fee-76a6-485c-82c1-764716378341-image.png
        und im Skript habe ich telegram durch email ersetzt, weil ich telegram noch nicht eingerichtet habe.
        Dann bekomme ich das im Log zu sehen:
        7c49121a-fe76-4d5d-9614-858389cea2e6-image.png

        Meine Änderung:
        ac06bc5c-5e5c-4ca9-ae5f-6a6ef0573c43-image.png
        Grummel.

        ciao

        frank

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        wrote on last edited by dslraser
        #32

        @lost-in-translation
        ich hatte bisher keinen E-Mail Adapter installiert. Das habe ich jetzt mal gemacht und ein wenig "rumprobiert".
        Mir dauert es aber zu lange bis die Mail kommt... Ein Telegram ist quasi ohne Zeitverzug da.

        So hat es bei mir per E-Mail funktioniert. So wird an alle Instanzen gesendet

        console.log('Snapshot sent');
         sendTo("email", "send", {
           to: 'xxx@googlemail.com',
           subject: '👀Eingangskamera 👀',
           html: '👀Es hat geklingelt 👀',
           attachments: {path: '/tmp/snap.jpg'}
           });
         //sendTo('telegram', {user: 'Heiko', text: '/tmp/snap.jpg', caption: '👀Eingangskamera 👀'});
         request.get({url: url_logout, encoding: 'binary'});
         }
         }); 
         });
        

        und so an eine bestimmte Instanz (z.B. Instanz 0)

        console.log('Snapshot sent');
         sendTo("email.0", "send", {
           to: 'xxx@googlemail.com',
           subject: '👀Eingangskamera 👀',
           html: '👀Es hat geklingelt 👀',
           attachments: {path: '/tmp/snap.jpg'}
           });
         //sendTo('telegram', {user: 'Heiko', text: '/tmp/snap.jpg', caption: '👀Eingangskamera 👀'});
         request.get({url: url_logout, encoding: 'binary'});
         }
         }); 
         });
        

        PS: also nur diesen Teil austauschen

        lost in translationL 1 Reply Last reply
        0
        • Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          wrote on last edited by
          #33

          Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          dslraserD ? 3 Replies Last reply
          0
          • Jey CeeJ Jey Cee

            Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            wrote on last edited by
            #34

            @Jey-Cee sagte in Hikam Kameras Snapshot erstellen und verschicken:

            Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

            Ich habe leider keine Kamera die das unterstützt.

            1 Reply Last reply
            0
            • Jey CeeJ Jey Cee

              Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

              ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #35

              @Jey-Cee sagte in Hikam Kameras Snapshot erstellen und verschicken:

              Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

              Ich habe 2 mit ptz, die gespeicherten Positionen werden ausgelesen, teste morgen Nachmittag damit Mal.. 🙂

              1 Reply Last reply
              0
              • dslraserD dslraser

                @lost-in-translation
                ich hatte bisher keinen E-Mail Adapter installiert. Das habe ich jetzt mal gemacht und ein wenig "rumprobiert".
                Mir dauert es aber zu lange bis die Mail kommt... Ein Telegram ist quasi ohne Zeitverzug da.

                So hat es bei mir per E-Mail funktioniert. So wird an alle Instanzen gesendet

                console.log('Snapshot sent');
                 sendTo("email", "send", {
                   to: 'xxx@googlemail.com',
                   subject: '👀Eingangskamera 👀',
                   html: '👀Es hat geklingelt 👀',
                   attachments: {path: '/tmp/snap.jpg'}
                   });
                 //sendTo('telegram', {user: 'Heiko', text: '/tmp/snap.jpg', caption: '👀Eingangskamera 👀'});
                 request.get({url: url_logout, encoding: 'binary'});
                 }
                 }); 
                 });
                

                und so an eine bestimmte Instanz (z.B. Instanz 0)

                console.log('Snapshot sent');
                 sendTo("email.0", "send", {
                   to: 'xxx@googlemail.com',
                   subject: '👀Eingangskamera 👀',
                   html: '👀Es hat geklingelt 👀',
                   attachments: {path: '/tmp/snap.jpg'}
                   });
                 //sendTo('telegram', {user: 'Heiko', text: '/tmp/snap.jpg', caption: '👀Eingangskamera 👀'});
                 request.get({url: url_logout, encoding: 'binary'});
                 }
                 }); 
                 });
                

                PS: also nur diesen Teil austauschen

                lost in translationL Offline
                lost in translationL Offline
                lost in translation
                wrote on last edited by
                #36

                @dslraser said in Hikam Kameras Snapshot erstellen und verschicken:

                sendTo("email.0", "send", { to: 'xxx@googlemail.com', subject: '👀Eingangskamera 👀', html: '👀Es hat geklingelt 👀', attachments: {path: '/tmp/snap.jpg'} }); //sendTo('telegram', {user: 'Heiko', text: '/tmp/snap.jpg', caption: '👀Eingangskamera 👀'}); request.get({url: url_logout, encoding: 'binary'});

                ich habe den Austausch vorgenommen. Bekomme aber woanders im Vorfeld eine Fehlermeldung:
                9c95e271-c70b-49f5-b950-57a48a8e178b-image.png

                An den Zeilen habe ich aber soweit nix geändert:
                a7d2cf39-1e99-437d-a482-9accc7cbae3a-image.png

                Telegram hört sich interessant an, dazu müsste ich es aber zunächst mal auf iphones und ipads einrichten.
                Bei email weiss ich wenigstens, dass es generell funktioniert.

                ciao

                frank

                dslraserD 1 Reply Last reply
                0
                • H Offline
                  H Offline
                  homecineplexx
                  wrote on last edited by
                  #37

                  ich hab das mit phantomjs gelöst

                  1 Reply Last reply
                  0
                  • lost in translationL lost in translation

                    @dslraser said in Hikam Kameras Snapshot erstellen und verschicken:

                    sendTo("email.0", "send", { to: 'xxx@googlemail.com', subject: '👀Eingangskamera 👀', html: '👀Es hat geklingelt 👀', attachments: {path: '/tmp/snap.jpg'} }); //sendTo('telegram', {user: 'Heiko', text: '/tmp/snap.jpg', caption: '👀Eingangskamera 👀'}); request.get({url: url_logout, encoding: 'binary'});

                    ich habe den Austausch vorgenommen. Bekomme aber woanders im Vorfeld eine Fehlermeldung:
                    9c95e271-c70b-49f5-b950-57a48a8e178b-image.png

                    An den Zeilen habe ich aber soweit nix geändert:
                    a7d2cf39-1e99-437d-a482-9accc7cbae3a-image.png

                    Telegram hört sich interessant an, dazu müsste ich es aber zunächst mal auf iphones und ipads einrichten.
                    Bei email weiss ich wenigstens, dass es generell funktioniert.

                    ciao

                    frank

                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    wrote on last edited by
                    #38

                    @lost-in-translation
                    Poste mal Dein komplettes verändertes Script. Den Benutzer und das Kennwort und Deine E-Mail kannst Du ja mit xxx überschreiben.

                    lost in translationL 1 Reply Last reply
                    0
                    • Jey CeeJ Jey Cee

                      Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

                      ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #39

                      @Jey-Cee sagte in Hikam Kameras Snapshot erstellen und verschicken:

                      Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

                      Jetzt, ja, funktioniert leider nicht...
                      hier mal die Datenpunkte, die angelegt werden:
                      4ec10a2b-0988-474c-86e7-a34a2892b8a1-grafik.png

                      Das Logfile schicke ich dir per Email, wenn du magst, zu Umfangreich und sensibel, um es hier zu posten.

                      1 Reply Last reply
                      0
                      • dslraserD dslraser

                        @lost-in-translation
                        Poste mal Dein komplettes verändertes Script. Den Benutzer und das Kennwort und Deine E-Mail kannst Du ja mit xxx überschreiben.

                        lost in translationL Offline
                        lost in translationL Offline
                        lost in translation
                        wrote on last edited by
                        #40

                        @dslraser said in Hikam Kameras Snapshot erstellen und verschicken:

                        @lost-in-translation
                        Poste mal Dein komplettes verändertes Script. Den Benutzer und das Kennwort und Deine E-Mail kannst Du ja mit xxx überschreiben.

                        Das hat es gemacht. Tippfehler beim Benutzername 😞 Aua. War mir vorher gar nicht aufgefallen. Die Fehlermeldung hatte ich dahingehend nicht deuten können.
                        Jetzt kann ich morgen mal schauen, wie ich in Blockly das Objekt umschießen kann, um das Skript von meinem Türklingel Blockly aus zu triggern.
                        Vielen Dank für Deine Hilfe.
                        frank

                        dslraserD 1 Reply Last reply
                        0
                        • lost in translationL lost in translation

                          @dslraser said in Hikam Kameras Snapshot erstellen und verschicken:

                          @lost-in-translation
                          Poste mal Dein komplettes verändertes Script. Den Benutzer und das Kennwort und Deine E-Mail kannst Du ja mit xxx überschreiben.

                          Das hat es gemacht. Tippfehler beim Benutzername 😞 Aua. War mir vorher gar nicht aufgefallen. Die Fehlermeldung hatte ich dahingehend nicht deuten können.
                          Jetzt kann ich morgen mal schauen, wie ich in Blockly das Objekt umschießen kann, um das Skript von meinem Türklingel Blockly aus zu triggern.
                          Vielen Dank für Deine Hilfe.
                          frank

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          wrote on last edited by
                          #41

                          @lost-in-translation
                          Dann poste hier mal Dein Ergebnis wenn Du fertig bist.

                          1 Reply Last reply
                          0
                          • N Offline
                            N Offline
                            nousefor82
                            wrote on last edited by
                            #42

                            Servus,

                            wenn ich den Trigger auslöse (zum Test ein Lichtschalter) kommt es zur folgenden Fehlermeldung:

                            javascript.0	2019-11-22 21:13:09.006	warn	script.js.Sicherheit.Kamerbild.Kamerbild: Fehler beim Auslesen des JSON. Keine Daten erhalten.
                            javascript.0	2019-11-22 21:13:09.006	warn	script.js.Sicherheit.Kamerbild.Kamerbild: (Error: unable to verify the first certificate) ERROR bei Abfrage von: https://192.168.188.90:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&ac
                            

                            Hier das Skript:

                            //Bild Eingang senden
                            
                            //Trigger
                            
                            on({id:"shelly.0.SHSW-1#32C858#1.Relay0.Switch"/*Klingel aktiv*/, val: true, change: 'ne'}, main);
                            
                            var request = require("request");
                            
                            var fs = require('fs');
                            
                            var myJson = {};
                            
                            var sid = 0;
                            
                             
                            
                            function parseJson(text) {
                            
                             if (text === "") return {};
                            
                             try {
                            
                             json = JSON.parse(text);
                            
                             } catch (ex) {
                            
                             json = {};
                            
                             }
                            
                             if(!json) json = {};
                            
                             return json;
                            
                            }
                            
                            function readJson(url, callback) {
                            
                             request(url, function (err, state, body){
                            
                             if (body) {
                            
                             var json = parseJson(body);
                            
                             callback(null, json);
                            
                             } else {
                            
                             var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                            
                             log(error, "warn"); 
                            
                             callback(error, null);
                            
                             }
                            
                             });
                            
                            }
                            
                            var url_login ='https://192.168.188.xx:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=admin&passwd=xxx&session=SurveillanceStation&format=sid';
                            
                            var url_logout = 'https://192.168.188.xx:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation';
                            
                            var url_snapshot = 'https://192.168.188.xx:5001/webapi/entry.cgi?camStm=1&version=8&cameraId=1&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot';
                            
                             
                            
                            function main() {
                            
                             readJson(url_login, function(err,json) {
                            
                             if(!err) {
                            
                             myJson = json;
                            
                             sid = myJson.data.sid;
                            
                             url_snapshot += '&_sid='+sid;
                            
                             url_logout += '&_sid='+sid;
                            
                             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 an der Haustür geklingelt !🔔'});
                            
                             request.get({url: url_logout, encoding: 'binary'});
                            
                             }
                            
                             }); 
                            
                             });
                            
                             } else {
                            
                             log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
                            
                             myJson = {};
                            
                             }
                            
                             });
                            
                            }
                            

                            Muss ich am URL -PFad was ändern?

                            Habe ioBroker auf einem WIN10 Rechner laufen.

                            VG + Danke

                            dslraserD 1 Reply Last reply
                            0
                            • N nousefor82

                              Servus,

                              wenn ich den Trigger auslöse (zum Test ein Lichtschalter) kommt es zur folgenden Fehlermeldung:

                              javascript.0	2019-11-22 21:13:09.006	warn	script.js.Sicherheit.Kamerbild.Kamerbild: Fehler beim Auslesen des JSON. Keine Daten erhalten.
                              javascript.0	2019-11-22 21:13:09.006	warn	script.js.Sicherheit.Kamerbild.Kamerbild: (Error: unable to verify the first certificate) ERROR bei Abfrage von: https://192.168.188.90:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&ac
                              

                              Hier das Skript:

                              //Bild Eingang senden
                              
                              //Trigger
                              
                              on({id:"shelly.0.SHSW-1#32C858#1.Relay0.Switch"/*Klingel aktiv*/, val: true, change: 'ne'}, main);
                              
                              var request = require("request");
                              
                              var fs = require('fs');
                              
                              var myJson = {};
                              
                              var sid = 0;
                              
                               
                              
                              function parseJson(text) {
                              
                               if (text === "") return {};
                              
                               try {
                              
                               json = JSON.parse(text);
                              
                               } catch (ex) {
                              
                               json = {};
                              
                               }
                              
                               if(!json) json = {};
                              
                               return json;
                              
                              }
                              
                              function readJson(url, callback) {
                              
                               request(url, function (err, state, body){
                              
                               if (body) {
                              
                               var json = parseJson(body);
                              
                               callback(null, json);
                              
                               } else {
                              
                               var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                              
                               log(error, "warn"); 
                              
                               callback(error, null);
                              
                               }
                              
                               });
                              
                              }
                              
                              var url_login ='https://192.168.188.xx:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=admin&passwd=xxx&session=SurveillanceStation&format=sid';
                              
                              var url_logout = 'https://192.168.188.xx:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation';
                              
                              var url_snapshot = 'https://192.168.188.xx:5001/webapi/entry.cgi?camStm=1&version=8&cameraId=1&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot';
                              
                               
                              
                              function main() {
                              
                               readJson(url_login, function(err,json) {
                              
                               if(!err) {
                              
                               myJson = json;
                              
                               sid = myJson.data.sid;
                              
                               url_snapshot += '&_sid='+sid;
                              
                               url_logout += '&_sid='+sid;
                              
                               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 an der Haustür geklingelt !🔔'});
                              
                               request.get({url: url_logout, encoding: 'binary'});
                              
                               }
                              
                               }); 
                              
                               });
                              
                               } else {
                              
                               log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
                              
                               myJson = {};
                              
                               }
                              
                               });
                              
                              }
                              

                              Muss ich am URL -PFad was ändern?

                              Habe ioBroker auf einem WIN10 Rechner laufen.

                              VG + Danke

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              wrote on last edited by
                              #43

                              @nousefor82
                              ich habe das bei mir am Port 5000 über http laufen . Kann sein das man bei https und 5001 ein Certificat braucht...

                              N 1 Reply Last reply
                              0
                              • dslraserD dslraser

                                @nousefor82
                                ich habe das bei mir am Port 5000 über http laufen . Kann sein das man bei https und 5001 ein Certificat braucht...

                                N Offline
                                N Offline
                                nousefor82
                                wrote on last edited by
                                #44

                                @dslraser

                                Hallo,

                                hab ich abgeändert mit folgendem Fehler:

                                javascript.0 script.js.Sicherheit.Kamerbild.Kamerbild: {'errno':-4058,'code':'ENOENT','syscall':'open','path':'C:\\tmp\\snap.jpg'}
                                
                                dslraserD 1 Reply Last reply
                                0
                                • N nousefor82

                                  @dslraser

                                  Hallo,

                                  hab ich abgeändert mit folgendem Fehler:

                                  javascript.0 script.js.Sicherheit.Kamerbild.Kamerbild: {'errno':-4058,'code':'ENOENT','syscall':'open','path':'C:\\tmp\\snap.jpg'}
                                  
                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  wrote on last edited by
                                  #45

                                  @nousefor82 sagte in Hikam Kameras Snapshot erstellen und verschicken:

                                  C:\tmp\snap.jpg'}

                                  C:\\tmp\\snap.jpg'}
                                  

                                  wo kommt das her ? Ich habe keine Windows Installation und weiß auch nicht wie das da aussehen müßte.

                                  N 1 Reply Last reply
                                  0
                                  • dslraserD dslraser

                                    @nousefor82 sagte in Hikam Kameras Snapshot erstellen und verschicken:

                                    C:\tmp\snap.jpg'}

                                    C:\\tmp\\snap.jpg'}
                                    

                                    wo kommt das her ? Ich habe keine Windows Installation und weiß auch nicht wie das da aussehen müßte.

                                    N Offline
                                    N Offline
                                    nousefor82
                                    wrote on last edited by
                                    #46

                                    @dslraser

                                    du stellst fragen..!😰

                                    habe jetzt zewi Punkte davor gesetzt...jetzt sieht der Link zumindest vom Pfad her gut aus, bis auf die verkehrten /...

                                    21:37:04.613	error	javascript.0 script.js.Sicherheit.Kamerbild.Kamerbild: {'errno':-4058,'code':'ENOENT','syscall':'open','path':'C:\\Users\\Jörg\\ioBroker\\node_modules\\tmp\\snap.jpg'}
                                    
                                    dslraserD 1 Reply Last reply
                                    0
                                    • N nousefor82

                                      @dslraser

                                      du stellst fragen..!😰

                                      habe jetzt zewi Punkte davor gesetzt...jetzt sieht der Link zumindest vom Pfad her gut aus, bis auf die verkehrten /...

                                      21:37:04.613	error	javascript.0 script.js.Sicherheit.Kamerbild.Kamerbild: {'errno':-4058,'code':'ENOENT','syscall':'open','path':'C:\\Users\\Jörg\\ioBroker\\node_modules\\tmp\\snap.jpg'}
                                      
                                      dslraserD Offline
                                      dslraserD Offline
                                      dslraser
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #47

                                      @nousefor82
                                      Das Script ist nicht von mir, ich verwende es auch nur....Ich glaube es stammt von hier

                                      https://forum.iobroker.net/post/3742

                                      N 1 Reply Last reply
                                      0
                                      • dslraserD dslraser

                                        @nousefor82
                                        Das Script ist nicht von mir, ich verwende es auch nur....Ich glaube es stammt von hier

                                        https://forum.iobroker.net/post/3742

                                        N Offline
                                        N Offline
                                        nousefor82
                                        wrote on last edited by
                                        #48

                                        @dslraser

                                        JUHU...habe es hinbekommen mit der Hilfe von google:

                                        zuerst ein:

                                        npm install slash [Link Text](https://github.com/sindresorhus/slash)
                                        

                                        dann unter nodemodules den tmp-ordner angelegt

                                        das war's.

                                        Vielen Dank für das Skript; endlich eine Lösung unter Windows 🙂

                                        1 Reply Last reply
                                        1
                                        • malorossM Offline
                                          malorossM Offline
                                          maloross
                                          wrote on last edited by maloross
                                          #49

                                          Ich habe jetzt den Thread "Test-Adapter" und diesen hier durchgelesen, komme aber leider nicht wirklich weiter.
                                          Mir würde es reichen, wenn in regelmäßigen Abständen ein aktueller Snapshot in meiner VIS angezeigt werden würde - das non plus ultra wäre ein Live-Bild.

                                          Eingesetzte Hardware

                                          • Hikam A7 2. Generation mit SD-Karte
                                          • QNAP Surveillance Station - Snapshot funktioniert, Video bei Alarm nicht

                                          Das hier beschriebene Skript funktioniert nicht, da für Synos. Hat jemand vielleicht eine vergleichbare Lösung für QNAP + Hikam?

                                          Auch Frauen können sich für Technik begeistern! ;)

                                          Equipment:
                                          diverse HM-, HMIP-, Aeotec- Tradfri- Sonos- und Fibaro-Geräte, Master-/Slavesystem auf 2 Raspi4, NAS

                                          GlasfaserG 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          255

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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