Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Hikam Kameras Snapshot erstellen und verschicken

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Hikam Kameras Snapshot erstellen und verschicken

Geplant Angeheftet Gesperrt Verschoben Blockly
67 Beiträge 9 Kommentatoren 11.0k Aufrufe 13 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.
  • lost in translationL lost in translation

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

    @lost-in-translation es kann sein das die Cam den Snapshot an einen vorher definierten Ort ablegt und die URL nur zur Auslösung dient. Schau dir mal die Einstellungen deiner Cam genau an.

    Hmm, ich habe bisher nirgends auch nur einen Hinweis gefunden, dass die Hikams das könnten. Ich dachte bisher, ich müsste mit einem Programm einen Snapshot aus dem rtsp Stream rausknipsen.

    So eine Lösung suche ich.
    @dslraser
    Wie hast Du das mit der Syno gemacht? Dein Login klappt, aber der dritte Link haut einen 401 zurück:

    {"error":{"code":401},"success":false}
    

    Irgendwie nicht mein Tag. Am liebsten hätte ich es auch ohne Mitwirkung der syno ...

    ciao

    frank

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von dslraser
    #29

    @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:

    oder Du schaust auf der Syno nach. Rechtsklick auf die Kamera in der Surveillance Station und Streampfad freigebenn, da steht auch die ID

    Bildschirmfoto 2019-11-19 um 13.50.08.png

    1 Antwort Letzte Antwort
    0
    • 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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            schrieb am zuletzt editiert von
            #33

            Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

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

            dslraserD ? 3 Antworten Letzte Antwort
            0
            • Jey CeeJ Jey Cee

              Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • Jey CeeJ Jey Cee

                Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • H Offline
                    H Offline
                    homecineplexx
                    schrieb am zuletzt editiert von
                    #37

                    ich hab das mit phantomjs gelöst

                    1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • Jey CeeJ Jey Cee

                        Hat eigentlich mal jemand die PTZ funktion des Adapters ausprobiert?

                        ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #41

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

                            1 Antwort Letzte Antwort
                            0
                            • N Offline
                              N Offline
                              nousefor82
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #46

                                      @dslraser

                                      du stellst fragen..!:cold_sweat:

                                      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 Antwort Letzte Antwort
                                      0
                                      • N nousefor82

                                        @dslraser

                                        du stellst fragen..!:cold_sweat:

                                        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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          663

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          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