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. JavaScript
  5. Update v8.3.1 fehlerhafte Skripte

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    124

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Update v8.3.1 fehlerhafte Skripte

Geplant Angeheftet Gesperrt Verschoben JavaScript
21 Beiträge 4 Kommentatoren 2.1k Aufrufe 3 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.
  • P Offline
    P Offline
    PeterPan
    schrieb am zuletzt editiert von
    #1

    Guten Tag zusammen,

    ich habe mich versucht an den Lösungsvorschlägen, die ich bisher finden konnte. Mein Level ist aber nicht so hoch, als dass ich es momentan lösen kann.
    Zu erst waren alle meine NPM-Module verschwunden - bis auf jetzt neu eingefügte Modul "execljs" habe ich da im Moment nichts stehen.

    Nun ergibt das folgende Script, was bis zum Update ohne Fehler lief, eine längere Fehlerliste und es scheint meine beiden NAS mit Anfragen zu bombardieren, die sind nämlich jetzt per Webinterface nicht mehr erreichbar. Ich hatte mich gewundert, dass die erste in die Knie gegangen ist, mit der zweiten (unten ip_2) habe ich dass durch Test jetzt nachvollziehbar auch geschafft.

    Das Script habe ich gekürzt. Die Zeile 241 in der Fehlermeldung ist im hier gezeigten Script die Zeile 22.

    const ip_2 = "xxx";  // IP-Adresse eures Synology-NAS
    const port = yyy;  // default Port der Surveillance Station
    var iplong_2 = 'http://' + ip_2 + ':' + port + '/webapi/';
    const cameraID_mobil = 1;
    const cameraID_mobil_text = 'Mobil';
    
    var request = require('request');
    var fs = require('fs');
    
    var url_login_2 = iplong_2 + 'auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid';
    
    // ÖFFNUNG DER HAUSTÜR
    on({id: path_link + 'Eingang.Kontakt_Haustür.State', val:1, change: 'ne'}, function (obj) {
        bewegung(iplong_2, url_login_2, cameraID_mobil, cameraID_mobil_text);
    });
    
    
    function bewegung (iplong, url_login, cameraID, cameraIDtext){
        // EINLOGGEN IN DIE SYNOLOGY SURVEILLANCESTATION
        request(url_login, function(error, response, body){
            var my_sid = JSON.parse(body).data.sid;
           // ========================
            // 2.3.4.5 GetSnapshot method
            var url_GetSnapshot = iplong + 'entry.cgi?version=9&id='+cameraID+'&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=1&_sid=' + my_sid;
            //console.log('url_GetSnapshot: ' + url_GetSnapshot);
            // ========================
            //2.3.34.8 TakeSnapshot method
            var url_Snapshot = iplong + 'entry.cgi?camId='+cameraID+'&version="1"&blSave=true&api="SYNO.SurveillanceStation.SnapShot"&dsId=0&method="TakeSnapshot"&_sid=' + my_sid;
            // ========================
            // 2.3.10.1 (External) Record method => OK
            var url_RecordStart = iplong + 'entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId='+cameraID+'&action=start&_sid=' + my_sid;
            var url_RecordStop = iplong + 'entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId='+cameraID+'&action=stop&_sid=' + my_sid;
            // ========================
            var filename = '/home/iobroker/' + GetCurrentTimeStamp() + '_Snap_Reolink_'+cameraIDtext+'.jpg';
            request.get({url: url_GetSnapshot, encoding: 'binary'}, function(error, response, body){
                fs.writeFile(filename, body, 'binary', function(err){
                    function fake(){}
                    setTimeout(fake,1000);
                    //(28.07.2023)g_pushover('Bewegung ',6,filename,'tugboat');
                    //Speichert Snapshot auch auf der Synology
                    request(url_Snapshot,function(error, response, body) {});
                    request(url_RecordStart,function(error, response, body) {});
                    setTimeout(function() {
                        // weitere Befehle
                        request(url_RecordStop,function(error, response, body) {});
                        //AUSLOGGEN
                        var url_logout = iplong + 'auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation&_sid=' + my_sid;
                        request.get({url: url_logout, encoding: 'binary'},function (error){});
                        }, 6000);
                    });
                });
            });
        };
    
    

    Die Zeile 297 in der Fehlermeldung ist im hier gezeigten Script die Zeile 1.

    function formatTwoDigits(n) {
        return n < 10 ? '0' + n : n;
        }
     
    function GetCurrentTimeStamp() {
        var now = new Date();
        var dd = now.getDate();
        var mm = now.getMonth()+1;
     
        var yyyy = now.getFullYear();
        dd = formatTwoDigits(dd);
        mm = formatTwoDigits(mm);
     
        var hours = formatTwoDigits(now.getHours());
        var minutes = formatTwoDigits(now.getMinutes());
        var seconds = formatTwoDigits(now.getSeconds());
     
        var TimeStampString = yyyy + "." + mm + "." + dd + "_" + hours + ":" + minutes + ":" + seconds;
     
        return TimeStampString;
        }
    


    host.mathilda-ubuntu
    2024-06-09 17:58:59.722 error instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.722 error Caught by controller[0]: at Socket.emit (node:events:517:28)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.722 error Caught by controller[0]: at Socket.socketErrorListener (node:_http_client:501:9)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.722 error Caught by controller[0]: at ClientRequest.emit (node:domain:489:12)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.722 error Caught by controller[0]: at ClientRequest.emit (node:events:529:35)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:877:8)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.emit (node:domain:489:12)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.emit (node:events:517:28)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.721 error Caught by controller[0]: at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.721 error Caught by controller[0]: at Request._callback (script.js.Homedingskacke.Sicherheit_Alarmanlage:297:27)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.721 error Caught by controller[0]: at JSON.parse (<anonymous>)
    host.mathilda-ubuntu
    2024-06-09 17:58:59.720 error Caught by controller[0]: SyntaxError: Unexpected token u in JSON at position 0

    javascript.0
    2024-06-09 17:58:59.389 error at Socket.emit (node:events:517:28)

    javascript.0
    2024-06-09 17:58:59.388 error at Socket.socketErrorListener (node:_http_client:501:9)

    javascript.0
    2024-06-09 17:58:59.388 error at ClientRequest.emit (node:domain:489:12)

    javascript.0
    2024-06-09 17:58:59.387 error at ClientRequest.emit (node:events:529:35)

    javascript.0
    2024-06-09 17:58:59.387 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:877:8)

    javascript.0
    2024-06-09 17:58:59.386 error at Request.emit (node:domain:489:12)

    javascript.0
    2024-06-09 17:58:59.386 error at Request.emit (node:events:517:28)

    javascript.0
    2024-06-09 17:58:59.385 error at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)

    javascript.0
    2024-06-09 17:58:59.385 error at Request._callback (script.js.Homedingskacke.Sicherheit_Alarmanlage:241:27)

    javascript.0
    2024-06-09 17:58:59.384 error at JSON.parse (<anonymous>)

    javascript.0
    2024-06-09 17:58:59.382 error script.js.Homedingskacke.Sicherheit_Alarmanlage: SyntaxError: Unexpected token u in JSON at position 0

    Ich bin ziemlich ratlos, zumal ich mit dem Folgenden ebenfalls nicht so recht viel anfangen kann:

    javascript.0
    2024-06-09 17:58:22.716	warn	script.js.Homedingskacke.Sicherheit_Alarmanlage: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
    

    Und zu Schluss ist durch die Umprogrammierung nun auch noch das hinzugekommen.

    pushover.0
    2024-06-09 18:08:01.117	error	Error from Pushover: SyntaxError: Unexpected token < in JSON at position 0
    

    Also seht es mir bitte, bitte nach - an sich versuche ich mich schon immer mit Testscripts, aber dies ist für mich jetzt eine Nummer zu groß.
    In der Hoffnung, dass mir einer einer helfen kann, viele Grüße, Martin

    haus-automatisierungH HomoranH 2 Antworten Letzte Antwort
    0
    • P PeterPan

      Guten Tag zusammen,

      ich habe mich versucht an den Lösungsvorschlägen, die ich bisher finden konnte. Mein Level ist aber nicht so hoch, als dass ich es momentan lösen kann.
      Zu erst waren alle meine NPM-Module verschwunden - bis auf jetzt neu eingefügte Modul "execljs" habe ich da im Moment nichts stehen.

      Nun ergibt das folgende Script, was bis zum Update ohne Fehler lief, eine längere Fehlerliste und es scheint meine beiden NAS mit Anfragen zu bombardieren, die sind nämlich jetzt per Webinterface nicht mehr erreichbar. Ich hatte mich gewundert, dass die erste in die Knie gegangen ist, mit der zweiten (unten ip_2) habe ich dass durch Test jetzt nachvollziehbar auch geschafft.

      Das Script habe ich gekürzt. Die Zeile 241 in der Fehlermeldung ist im hier gezeigten Script die Zeile 22.

      const ip_2 = "xxx";  // IP-Adresse eures Synology-NAS
      const port = yyy;  // default Port der Surveillance Station
      var iplong_2 = 'http://' + ip_2 + ':' + port + '/webapi/';
      const cameraID_mobil = 1;
      const cameraID_mobil_text = 'Mobil';
      
      var request = require('request');
      var fs = require('fs');
      
      var url_login_2 = iplong_2 + 'auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid';
      
      // ÖFFNUNG DER HAUSTÜR
      on({id: path_link + 'Eingang.Kontakt_Haustür.State', val:1, change: 'ne'}, function (obj) {
          bewegung(iplong_2, url_login_2, cameraID_mobil, cameraID_mobil_text);
      });
      
      
      function bewegung (iplong, url_login, cameraID, cameraIDtext){
          // EINLOGGEN IN DIE SYNOLOGY SURVEILLANCESTATION
          request(url_login, function(error, response, body){
              var my_sid = JSON.parse(body).data.sid;
             // ========================
              // 2.3.4.5 GetSnapshot method
              var url_GetSnapshot = iplong + 'entry.cgi?version=9&id='+cameraID+'&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=1&_sid=' + my_sid;
              //console.log('url_GetSnapshot: ' + url_GetSnapshot);
              // ========================
              //2.3.34.8 TakeSnapshot method
              var url_Snapshot = iplong + 'entry.cgi?camId='+cameraID+'&version="1"&blSave=true&api="SYNO.SurveillanceStation.SnapShot"&dsId=0&method="TakeSnapshot"&_sid=' + my_sid;
              // ========================
              // 2.3.10.1 (External) Record method => OK
              var url_RecordStart = iplong + 'entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId='+cameraID+'&action=start&_sid=' + my_sid;
              var url_RecordStop = iplong + 'entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId='+cameraID+'&action=stop&_sid=' + my_sid;
              // ========================
              var filename = '/home/iobroker/' + GetCurrentTimeStamp() + '_Snap_Reolink_'+cameraIDtext+'.jpg';
              request.get({url: url_GetSnapshot, encoding: 'binary'}, function(error, response, body){
                  fs.writeFile(filename, body, 'binary', function(err){
                      function fake(){}
                      setTimeout(fake,1000);
                      //(28.07.2023)g_pushover('Bewegung ',6,filename,'tugboat');
                      //Speichert Snapshot auch auf der Synology
                      request(url_Snapshot,function(error, response, body) {});
                      request(url_RecordStart,function(error, response, body) {});
                      setTimeout(function() {
                          // weitere Befehle
                          request(url_RecordStop,function(error, response, body) {});
                          //AUSLOGGEN
                          var url_logout = iplong + 'auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation&_sid=' + my_sid;
                          request.get({url: url_logout, encoding: 'binary'},function (error){});
                          }, 6000);
                      });
                  });
              });
          };
      
      

      Die Zeile 297 in der Fehlermeldung ist im hier gezeigten Script die Zeile 1.

      function formatTwoDigits(n) {
          return n < 10 ? '0' + n : n;
          }
       
      function GetCurrentTimeStamp() {
          var now = new Date();
          var dd = now.getDate();
          var mm = now.getMonth()+1;
       
          var yyyy = now.getFullYear();
          dd = formatTwoDigits(dd);
          mm = formatTwoDigits(mm);
       
          var hours = formatTwoDigits(now.getHours());
          var minutes = formatTwoDigits(now.getMinutes());
          var seconds = formatTwoDigits(now.getSeconds());
       
          var TimeStampString = yyyy + "." + mm + "." + dd + "_" + hours + ":" + minutes + ":" + seconds;
       
          return TimeStampString;
          }
      


      host.mathilda-ubuntu
      2024-06-09 17:58:59.722 error instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.722 error Caught by controller[0]: at Socket.emit (node:events:517:28)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.722 error Caught by controller[0]: at Socket.socketErrorListener (node:_http_client:501:9)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.722 error Caught by controller[0]: at ClientRequest.emit (node:domain:489:12)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.722 error Caught by controller[0]: at ClientRequest.emit (node:events:529:35)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:877:8)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.emit (node:domain:489:12)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.emit (node:events:517:28)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.721 error Caught by controller[0]: at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.721 error Caught by controller[0]: at Request._callback (script.js.Homedingskacke.Sicherheit_Alarmanlage:297:27)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.721 error Caught by controller[0]: at JSON.parse (<anonymous>)
      host.mathilda-ubuntu
      2024-06-09 17:58:59.720 error Caught by controller[0]: SyntaxError: Unexpected token u in JSON at position 0

      javascript.0
      2024-06-09 17:58:59.389 error at Socket.emit (node:events:517:28)

      javascript.0
      2024-06-09 17:58:59.388 error at Socket.socketErrorListener (node:_http_client:501:9)

      javascript.0
      2024-06-09 17:58:59.388 error at ClientRequest.emit (node:domain:489:12)

      javascript.0
      2024-06-09 17:58:59.387 error at ClientRequest.emit (node:events:529:35)

      javascript.0
      2024-06-09 17:58:59.387 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:877:8)

      javascript.0
      2024-06-09 17:58:59.386 error at Request.emit (node:domain:489:12)

      javascript.0
      2024-06-09 17:58:59.386 error at Request.emit (node:events:517:28)

      javascript.0
      2024-06-09 17:58:59.385 error at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)

      javascript.0
      2024-06-09 17:58:59.385 error at Request._callback (script.js.Homedingskacke.Sicherheit_Alarmanlage:241:27)

      javascript.0
      2024-06-09 17:58:59.384 error at JSON.parse (<anonymous>)

      javascript.0
      2024-06-09 17:58:59.382 error script.js.Homedingskacke.Sicherheit_Alarmanlage: SyntaxError: Unexpected token u in JSON at position 0

      Ich bin ziemlich ratlos, zumal ich mit dem Folgenden ebenfalls nicht so recht viel anfangen kann:

      javascript.0
      2024-06-09 17:58:22.716	warn	script.js.Homedingskacke.Sicherheit_Alarmanlage: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
      

      Und zu Schluss ist durch die Umprogrammierung nun auch noch das hinzugekommen.

      pushover.0
      2024-06-09 18:08:01.117	error	Error from Pushover: SyntaxError: Unexpected token < in JSON at position 0
      

      Also seht es mir bitte, bitte nach - an sich versuche ich mich schon immer mit Testscripts, aber dies ist für mich jetzt eine Nummer zu groß.
      In der Hoffnung, dass mir einer einer helfen kann, viele Grüße, Martin

      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von haus-automatisierung
      #2

      @peterpan

      1. https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget
      2. https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md

      Und:

      const fs = require('node:fs');
      
      const user = 'bla'; // Username
      const pass = '!!!'; // Password
      const ip = 'xxx';   // IP-Adresse eures Synology-NAS
      const port = 1234;  // default Port der Surveillance Station
      
      const baseUrlApi = `http://${ip}:${port}/webapi/`;
      const defaultTimeout = 3000;
      
      const urlLogin = `${baseUrlApi}auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=${user}&passwd=${pass}&session=SurveillanceStation&format=sid`;
      
      // ÖFFNUNG DER HAUSTÜR
      on({ id: path_link + 'Eingang.Kontakt_Haustür.State', val: 1, change: 'ne' }, (obj) => {
          bewegung(1, 'Mobil');
      });
      
      function bewegung (cameraID, cameraIDtext) {
          // EINLOGGEN IN DIE SYNOLOGY SURVEILLANCESTATION
          httpGet(urlLogin, { timeout: defaultTimeout }, (err, response) => {
              if (!err) {
                  const mySid = JSON.parse(response.data).data.sid;
      
                  // ========================
                  // 2.3.4.5 GetSnapshot method
                  const urlGetSnapshot = `${baseUrlApi}entry.cgi?version=9&id=${cameraID}&api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&profileType=1&_sid=${mySid}`;
                  //console.log('urlGetSnapshot: ' + urlGetSnapshot);
                  // ========================
                  //2.3.34.8 TakeSnapshot method
                  const urlSnapshot = `${baseUrlApi}entry.cgi?api=SYNO.SurveillanceStation.SnapShot&method=TakeSnapshot&version=1&camId=${cameraID}&blSave=true&dsId=0&_sid=${mySid}`;
                  // ========================
                  // 2.3.10.1 (External) Record method => OK
                  const urlRecordStart = `${baseUrlApi}entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId=${cameraID}&action=start&_sid=${mySid}`;
                  const urlRecordStop = `${baseUrlApi}entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId=${cameraID}&action=stop&_sid=${mySid}`;
                  // ========================
                  const urlLogout = `${baseUrlApi}auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation&_sid=${mySid}`;
      
                  httpGet(urlGetSnapshot, { timeout: defaultTimeout }, { responseType: 'arraybuffer' }, (err, response) => {
                      const filename = `/home/iobroker/${formatDate(new Date(), 'YYYY.MM.DD_hh:mm:ss')}_Snap_Reolink_${cameraIDtext}.jpg`;
      
                      fs.writeFile(filename, response.data, 'binary', (err) => {
                          // Speichert Snapshot auch auf der Synology
                          httpGet(urlSnapshot, { timeout: defaultTimeout }, (err, response) => {});
                          httpGet(urlRecordStart, { timeout: defaultTimeout }, (err, response) => {});
      
                          setTimeout(() => {
                              httpGet(urlRecordStop, { timeout: defaultTimeout }, (err, response) => {
                                  httpGet(urlLogout, { timeout: defaultTimeout }, (err, response) => {});
                              });
                          }, 6000);
                      });
                  });
              } else {
                  console.error(err);
              }
          });
      }
      

      EDIT: Anführungszeichen in Urls entfernt (was machen die da?) + Error-Handling

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      P 1 Antwort Letzte Antwort
      0
      • P PeterPan

        Guten Tag zusammen,

        ich habe mich versucht an den Lösungsvorschlägen, die ich bisher finden konnte. Mein Level ist aber nicht so hoch, als dass ich es momentan lösen kann.
        Zu erst waren alle meine NPM-Module verschwunden - bis auf jetzt neu eingefügte Modul "execljs" habe ich da im Moment nichts stehen.

        Nun ergibt das folgende Script, was bis zum Update ohne Fehler lief, eine längere Fehlerliste und es scheint meine beiden NAS mit Anfragen zu bombardieren, die sind nämlich jetzt per Webinterface nicht mehr erreichbar. Ich hatte mich gewundert, dass die erste in die Knie gegangen ist, mit der zweiten (unten ip_2) habe ich dass durch Test jetzt nachvollziehbar auch geschafft.

        Das Script habe ich gekürzt. Die Zeile 241 in der Fehlermeldung ist im hier gezeigten Script die Zeile 22.

        const ip_2 = "xxx";  // IP-Adresse eures Synology-NAS
        const port = yyy;  // default Port der Surveillance Station
        var iplong_2 = 'http://' + ip_2 + ':' + port + '/webapi/';
        const cameraID_mobil = 1;
        const cameraID_mobil_text = 'Mobil';
        
        var request = require('request');
        var fs = require('fs');
        
        var url_login_2 = iplong_2 + 'auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid';
        
        // ÖFFNUNG DER HAUSTÜR
        on({id: path_link + 'Eingang.Kontakt_Haustür.State', val:1, change: 'ne'}, function (obj) {
            bewegung(iplong_2, url_login_2, cameraID_mobil, cameraID_mobil_text);
        });
        
        
        function bewegung (iplong, url_login, cameraID, cameraIDtext){
            // EINLOGGEN IN DIE SYNOLOGY SURVEILLANCESTATION
            request(url_login, function(error, response, body){
                var my_sid = JSON.parse(body).data.sid;
               // ========================
                // 2.3.4.5 GetSnapshot method
                var url_GetSnapshot = iplong + 'entry.cgi?version=9&id='+cameraID+'&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=1&_sid=' + my_sid;
                //console.log('url_GetSnapshot: ' + url_GetSnapshot);
                // ========================
                //2.3.34.8 TakeSnapshot method
                var url_Snapshot = iplong + 'entry.cgi?camId='+cameraID+'&version="1"&blSave=true&api="SYNO.SurveillanceStation.SnapShot"&dsId=0&method="TakeSnapshot"&_sid=' + my_sid;
                // ========================
                // 2.3.10.1 (External) Record method => OK
                var url_RecordStart = iplong + 'entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId='+cameraID+'&action=start&_sid=' + my_sid;
                var url_RecordStop = iplong + 'entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId='+cameraID+'&action=stop&_sid=' + my_sid;
                // ========================
                var filename = '/home/iobroker/' + GetCurrentTimeStamp() + '_Snap_Reolink_'+cameraIDtext+'.jpg';
                request.get({url: url_GetSnapshot, encoding: 'binary'}, function(error, response, body){
                    fs.writeFile(filename, body, 'binary', function(err){
                        function fake(){}
                        setTimeout(fake,1000);
                        //(28.07.2023)g_pushover('Bewegung ',6,filename,'tugboat');
                        //Speichert Snapshot auch auf der Synology
                        request(url_Snapshot,function(error, response, body) {});
                        request(url_RecordStart,function(error, response, body) {});
                        setTimeout(function() {
                            // weitere Befehle
                            request(url_RecordStop,function(error, response, body) {});
                            //AUSLOGGEN
                            var url_logout = iplong + 'auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation&_sid=' + my_sid;
                            request.get({url: url_logout, encoding: 'binary'},function (error){});
                            }, 6000);
                        });
                    });
                });
            };
        
        

        Die Zeile 297 in der Fehlermeldung ist im hier gezeigten Script die Zeile 1.

        function formatTwoDigits(n) {
            return n < 10 ? '0' + n : n;
            }
         
        function GetCurrentTimeStamp() {
            var now = new Date();
            var dd = now.getDate();
            var mm = now.getMonth()+1;
         
            var yyyy = now.getFullYear();
            dd = formatTwoDigits(dd);
            mm = formatTwoDigits(mm);
         
            var hours = formatTwoDigits(now.getHours());
            var minutes = formatTwoDigits(now.getMinutes());
            var seconds = formatTwoDigits(now.getSeconds());
         
            var TimeStampString = yyyy + "." + mm + "." + dd + "_" + hours + ":" + minutes + ":" + seconds;
         
            return TimeStampString;
            }
        


        host.mathilda-ubuntu
        2024-06-09 17:58:59.722 error instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.722 error Caught by controller[0]: at Socket.emit (node:events:517:28)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.722 error Caught by controller[0]: at Socket.socketErrorListener (node:_http_client:501:9)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.722 error Caught by controller[0]: at ClientRequest.emit (node:domain:489:12)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.722 error Caught by controller[0]: at ClientRequest.emit (node:events:529:35)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:877:8)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.emit (node:domain:489:12)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.721 error Caught by controller[0]: at Request.emit (node:events:517:28)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.721 error Caught by controller[0]: at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.721 error Caught by controller[0]: at Request._callback (script.js.Homedingskacke.Sicherheit_Alarmanlage:297:27)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.721 error Caught by controller[0]: at JSON.parse (<anonymous>)
        host.mathilda-ubuntu
        2024-06-09 17:58:59.720 error Caught by controller[0]: SyntaxError: Unexpected token u in JSON at position 0

        javascript.0
        2024-06-09 17:58:59.389 error at Socket.emit (node:events:517:28)

        javascript.0
        2024-06-09 17:58:59.388 error at Socket.socketErrorListener (node:_http_client:501:9)

        javascript.0
        2024-06-09 17:58:59.388 error at ClientRequest.emit (node:domain:489:12)

        javascript.0
        2024-06-09 17:58:59.387 error at ClientRequest.emit (node:events:529:35)

        javascript.0
        2024-06-09 17:58:59.387 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:877:8)

        javascript.0
        2024-06-09 17:58:59.386 error at Request.emit (node:domain:489:12)

        javascript.0
        2024-06-09 17:58:59.386 error at Request.emit (node:events:517:28)

        javascript.0
        2024-06-09 17:58:59.385 error at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)

        javascript.0
        2024-06-09 17:58:59.385 error at Request._callback (script.js.Homedingskacke.Sicherheit_Alarmanlage:241:27)

        javascript.0
        2024-06-09 17:58:59.384 error at JSON.parse (<anonymous>)

        javascript.0
        2024-06-09 17:58:59.382 error script.js.Homedingskacke.Sicherheit_Alarmanlage: SyntaxError: Unexpected token u in JSON at position 0

        Ich bin ziemlich ratlos, zumal ich mit dem Folgenden ebenfalls nicht so recht viel anfangen kann:

        javascript.0
        2024-06-09 17:58:22.716	warn	script.js.Homedingskacke.Sicherheit_Alarmanlage: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
        

        Und zu Schluss ist durch die Umprogrammierung nun auch noch das hinzugekommen.

        pushover.0
        2024-06-09 18:08:01.117	error	Error from Pushover: SyntaxError: Unexpected token < in JSON at position 0
        

        Also seht es mir bitte, bitte nach - an sich versuche ich mich schon immer mit Testscripts, aber dies ist für mich jetzt eine Nummer zu groß.
        In der Hoffnung, dass mir einer einer helfen kann, viele Grüße, Martin

        HomoranH Offline
        HomoranH Offline
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von Homoran
        #3

        @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

        zumal ich mit dem Folgenden ebenfalls nicht so recht viel anfangen kann:

        das ist doch ganz deutlich, oder etwa nicht?

        @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

        javascript.0 2024-06-09 17:58:22.716 warn script.js.Homedingskacke.Sicherheit_Alarmanlage: request package is deprecated - please use httpGet (or a stable lib like axios) instead!

        Du verwendest eine abgekündigte Version und sollst sie ersetzen

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        P 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @peterpan

          1. https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget
          2. https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md

          Und:

          const fs = require('node:fs');
          
          const user = 'bla'; // Username
          const pass = '!!!'; // Password
          const ip = 'xxx';   // IP-Adresse eures Synology-NAS
          const port = 1234;  // default Port der Surveillance Station
          
          const baseUrlApi = `http://${ip}:${port}/webapi/`;
          const defaultTimeout = 3000;
          
          const urlLogin = `${baseUrlApi}auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=${user}&passwd=${pass}&session=SurveillanceStation&format=sid`;
          
          // ÖFFNUNG DER HAUSTÜR
          on({ id: path_link + 'Eingang.Kontakt_Haustür.State', val: 1, change: 'ne' }, (obj) => {
              bewegung(1, 'Mobil');
          });
          
          function bewegung (cameraID, cameraIDtext) {
              // EINLOGGEN IN DIE SYNOLOGY SURVEILLANCESTATION
              httpGet(urlLogin, { timeout: defaultTimeout }, (err, response) => {
                  if (!err) {
                      const mySid = JSON.parse(response.data).data.sid;
          
                      // ========================
                      // 2.3.4.5 GetSnapshot method
                      const urlGetSnapshot = `${baseUrlApi}entry.cgi?version=9&id=${cameraID}&api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&profileType=1&_sid=${mySid}`;
                      //console.log('urlGetSnapshot: ' + urlGetSnapshot);
                      // ========================
                      //2.3.34.8 TakeSnapshot method
                      const urlSnapshot = `${baseUrlApi}entry.cgi?api=SYNO.SurveillanceStation.SnapShot&method=TakeSnapshot&version=1&camId=${cameraID}&blSave=true&dsId=0&_sid=${mySid}`;
                      // ========================
                      // 2.3.10.1 (External) Record method => OK
                      const urlRecordStart = `${baseUrlApi}entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId=${cameraID}&action=start&_sid=${mySid}`;
                      const urlRecordStop = `${baseUrlApi}entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=1&cameraId=${cameraID}&action=stop&_sid=${mySid}`;
                      // ========================
                      const urlLogout = `${baseUrlApi}auth.cgi?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation&_sid=${mySid}`;
          
                      httpGet(urlGetSnapshot, { timeout: defaultTimeout }, { responseType: 'arraybuffer' }, (err, response) => {
                          const filename = `/home/iobroker/${formatDate(new Date(), 'YYYY.MM.DD_hh:mm:ss')}_Snap_Reolink_${cameraIDtext}.jpg`;
          
                          fs.writeFile(filename, response.data, 'binary', (err) => {
                              // Speichert Snapshot auch auf der Synology
                              httpGet(urlSnapshot, { timeout: defaultTimeout }, (err, response) => {});
                              httpGet(urlRecordStart, { timeout: defaultTimeout }, (err, response) => {});
          
                              setTimeout(() => {
                                  httpGet(urlRecordStop, { timeout: defaultTimeout }, (err, response) => {
                                      httpGet(urlLogout, { timeout: defaultTimeout }, (err, response) => {});
                                  });
                              }, 6000);
                          });
                      });
                  } else {
                      console.error(err);
                  }
              });
          }
          

          EDIT: Anführungszeichen in Urls entfernt (was machen die da?) + Error-Handling

          P Offline
          P Offline
          PeterPan
          schrieb am zuletzt editiert von
          #4

          @haus-automatisierung Vielen Dank für die Antwort und die Bearbeitung des Skriptes, was mir an den Stellen mit "request" dann in der Übersetzung geholfen hat. Mit der Änderung der Variablen würde ich mich dann später beschäftigen ... Ich habe versucht, die geänderte Schreibweise zu übernehmen, bekomme jetzt eine Fehlermeldung, dass kein Inhalt drin ist.

          Könnte es daranliegen, dass die NAS aktuell keine Antwort durch ihre Überlastung geben kann?

          Zuvor hatte ich "console.log" hinter der Variablen stehen, da erhielt ich

          	2024-06-09 20:28:46.008	error	script.js.Homedingskacke.Fehler: timeout of 2000ms exceeded
          
          javascript.0
          2024-06-09 20:28:46.008	info	script.js.Homedingskacke.Fehler: null
          
          
          

          Codeauszug:

              httpGet(url_login, function(err, response){
                  console.log('data: ', response.data);
                  console.error('Error: ',err);
                  var my_sid = JSON.parse(response.data).data.sid;
          ...
          

          Fehlermeldung dazu:

          avascript.0
          2024-06-09 20:32:06.530	error	at processTimers (node:internal/timers:512:7)
          
          javascript.0
          2024-06-09 20:32:06.529	error	at listOnTimeout (node:internal/timers:538:9)
          
          javascript.0
          2024-06-09 20:32:06.529	error	at runNextTicks (node:internal/process/task_queues:60:5)
          
          javascript.0
          2024-06-09 20:32:06.529	error	at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1217:38
          
          javascript.0
          2024-06-09 20:32:06.529	error	at Object.<anonymous> (script.js.Homedingskacke.Fehler:243:47)
          
          javascript.0
          2024-06-09 20:32:06.528	error	Error in callback: TypeError: Cannot read properties of null (reading 'data')
          
          javascript.0
          2024-06-09 20:32:06.526	error	script.js.Homedingskacke.Fehler: Error:
          
          javascript.0
          2024-06-09 20:32:06.525	info	script.js.Homedingskacke.Fehler: data:
          

          Viele Grüße!

          HomoranH haus-automatisierungH 2 Antworten Letzte Antwort
          0
          • P PeterPan

            @haus-automatisierung Vielen Dank für die Antwort und die Bearbeitung des Skriptes, was mir an den Stellen mit "request" dann in der Übersetzung geholfen hat. Mit der Änderung der Variablen würde ich mich dann später beschäftigen ... Ich habe versucht, die geänderte Schreibweise zu übernehmen, bekomme jetzt eine Fehlermeldung, dass kein Inhalt drin ist.

            Könnte es daranliegen, dass die NAS aktuell keine Antwort durch ihre Überlastung geben kann?

            Zuvor hatte ich "console.log" hinter der Variablen stehen, da erhielt ich

            	2024-06-09 20:28:46.008	error	script.js.Homedingskacke.Fehler: timeout of 2000ms exceeded
            
            javascript.0
            2024-06-09 20:28:46.008	info	script.js.Homedingskacke.Fehler: null
            
            
            

            Codeauszug:

                httpGet(url_login, function(err, response){
                    console.log('data: ', response.data);
                    console.error('Error: ',err);
                    var my_sid = JSON.parse(response.data).data.sid;
            ...
            

            Fehlermeldung dazu:

            avascript.0
            2024-06-09 20:32:06.530	error	at processTimers (node:internal/timers:512:7)
            
            javascript.0
            2024-06-09 20:32:06.529	error	at listOnTimeout (node:internal/timers:538:9)
            
            javascript.0
            2024-06-09 20:32:06.529	error	at runNextTicks (node:internal/process/task_queues:60:5)
            
            javascript.0
            2024-06-09 20:32:06.529	error	at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1217:38
            
            javascript.0
            2024-06-09 20:32:06.529	error	at Object.<anonymous> (script.js.Homedingskacke.Fehler:243:47)
            
            javascript.0
            2024-06-09 20:32:06.528	error	Error in callback: TypeError: Cannot read properties of null (reading 'data')
            
            javascript.0
            2024-06-09 20:32:06.526	error	script.js.Homedingskacke.Fehler: Error:
            
            javascript.0
            2024-06-09 20:32:06.525	info	script.js.Homedingskacke.Fehler: data:
            

            Viele Grüße!

            HomoranH Offline
            HomoranH Offline
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von Homoran
            #5

            @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

            rror at Object.<anonymous> (script.js.Homedingskacke.Fehler:243:47)

            und was steht an dieser Stelle?

            Möglicherweise ist der Timeout zu kurz und dies ein Folgefehler weil kein data.response kommt

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            P 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

              zumal ich mit dem Folgenden ebenfalls nicht so recht viel anfangen kann:

              das ist doch ganz deutlich, oder etwa nicht?

              @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

              javascript.0 2024-06-09 17:58:22.716 warn script.js.Homedingskacke.Sicherheit_Alarmanlage: request package is deprecated - please use httpGet (or a stable lib like axios) instead!

              Du verwendest eine abgekündigte Version und sollst sie ersetzen

              P Offline
              P Offline
              PeterPan
              schrieb am zuletzt editiert von
              #6

              @homoran Ja, für viele sicher offensichtlich und auch ich hatte gefunden, dass man request gegen httpget tauschen muss. Aber für mich ist es schon mit Unsicherheit behaftet, dann dies auch aus request.get zu übertragen. Ich gebe dir recht, aber als jemand, der sich aus Skript-Schnipsel aus dem Forum ernährt, ist vieles erst einmal nicht so offensichtlich. :face_with_rolling_eyes:

              1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                rror at Object.<anonymous> (script.js.Homedingskacke.Fehler:243:47)

                und was steht an dieser Stelle?

                Möglicherweise ist der Timeout zu kurz und dies ein Folgefehler weil kein data.response kommt

                P Offline
                P Offline
                PeterPan
                schrieb am zuletzt editiert von
                #7

                @homoran Es ist dann die Zeile nach der Variablen my_sid:

                        var url_GetSnapshot = iplong + 'entry.cgi?version=9&id='+cameraID+'&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=1&_sid=' + my_sid;
                
                
                HomoranH 1 Antwort Letzte Antwort
                0
                • P PeterPan

                  @haus-automatisierung Vielen Dank für die Antwort und die Bearbeitung des Skriptes, was mir an den Stellen mit "request" dann in der Übersetzung geholfen hat. Mit der Änderung der Variablen würde ich mich dann später beschäftigen ... Ich habe versucht, die geänderte Schreibweise zu übernehmen, bekomme jetzt eine Fehlermeldung, dass kein Inhalt drin ist.

                  Könnte es daranliegen, dass die NAS aktuell keine Antwort durch ihre Überlastung geben kann?

                  Zuvor hatte ich "console.log" hinter der Variablen stehen, da erhielt ich

                  	2024-06-09 20:28:46.008	error	script.js.Homedingskacke.Fehler: timeout of 2000ms exceeded
                  
                  javascript.0
                  2024-06-09 20:28:46.008	info	script.js.Homedingskacke.Fehler: null
                  
                  
                  

                  Codeauszug:

                      httpGet(url_login, function(err, response){
                          console.log('data: ', response.data);
                          console.error('Error: ',err);
                          var my_sid = JSON.parse(response.data).data.sid;
                  ...
                  

                  Fehlermeldung dazu:

                  avascript.0
                  2024-06-09 20:32:06.530	error	at processTimers (node:internal/timers:512:7)
                  
                  javascript.0
                  2024-06-09 20:32:06.529	error	at listOnTimeout (node:internal/timers:538:9)
                  
                  javascript.0
                  2024-06-09 20:32:06.529	error	at runNextTicks (node:internal/process/task_queues:60:5)
                  
                  javascript.0
                  2024-06-09 20:32:06.529	error	at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1217:38
                  
                  javascript.0
                  2024-06-09 20:32:06.529	error	at Object.<anonymous> (script.js.Homedingskacke.Fehler:243:47)
                  
                  javascript.0
                  2024-06-09 20:32:06.528	error	Error in callback: TypeError: Cannot read properties of null (reading 'data')
                  
                  javascript.0
                  2024-06-09 20:32:06.526	error	script.js.Homedingskacke.Fehler: Error:
                  
                  javascript.0
                  2024-06-09 20:32:06.525	info	script.js.Homedingskacke.Fehler: data:
                  

                  Viele Grüße!

                  haus-automatisierungH Offline
                  haus-automatisierungH Offline
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                  Könnte es daranliegen, dass die NAS aktuell keine Antwort durch ihre Überlastung geben kann?

                  Du kannst den Timeout auch mitgeben und erhöhen. Siehe Link oben zur Doku.

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  1 Antwort Letzte Antwort
                  0
                  • P PeterPan

                    @homoran Es ist dann die Zeile nach der Variablen my_sid:

                            var url_GetSnapshot = iplong + 'entry.cgi?version=9&id='+cameraID+'&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=1&_sid=' + my_sid;
                    
                    
                    HomoranH Offline
                    HomoranH Offline
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #9

                    @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                    Es ist dann die Zeile

                    und wo ist Position 47? (incl. Einrückung)
                    ist am Handy schwer abzuzählen.

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    P 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                      Es ist dann die Zeile

                      und wo ist Position 47? (incl. Einrückung)
                      ist am Handy schwer abzuzählen.

                      P Offline
                      P Offline
                      PeterPan
                      schrieb am zuletzt editiert von
                      #10

                      @homoran sagte in Update v8.3.1 fehlerhafte Skripte:

                      @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                      Es ist dann die Zeile

                      und wo ist Position 47? (incl. Einrückung)
                      ist am Handy schwer abzuzählen.

                      Hi, tut mir leid, ich bin im Skript verrutscht, die ist die richtige Zeile:

                              var my_sid = JSON.parse(response.data).data.sid;
                      

                      Position ist das zweite "data".

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • P PeterPan

                        @homoran sagte in Update v8.3.1 fehlerhafte Skripte:

                        @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                        Es ist dann die Zeile

                        und wo ist Position 47? (incl. Einrückung)
                        ist am Handy schwer abzuzählen.

                        Hi, tut mir leid, ich bin im Skript verrutscht, die ist die richtige Zeile:

                                var my_sid = JSON.parse(response.data).data.sid;
                        

                        Position ist das zweite "data".

                        HomoranH Offline
                        HomoranH Offline
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #11

                        @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                        Position ist das zweite "data".

                        dann wird

                        @homoran sagte in Update v8.3.1 fehlerhafte Skripte:

                        dies ein Folgefehler weil kein response.data kommt

                        sein.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        P 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                          Position ist das zweite "data".

                          dann wird

                          @homoran sagte in Update v8.3.1 fehlerhafte Skripte:

                          dies ein Folgefehler weil kein response.data kommt

                          sein.

                          P Offline
                          P Offline
                          PeterPan
                          schrieb am zuletzt editiert von
                          #12

                          @homoran @haus-automatisierung

                          @homoran sagte in Update v8.3.1 fehlerhafte Skripte:

                          dies ein Folgefehler weil kein response.data kommt

                          sein.

                          Ich habe jetzt wieder zu einer NAS Kontakt und das timeout hoch gesetzt. Es ist klar das "response.data" leer.

                          javascript.0
                          2024-06-09 21:49:08.474	info	script.js.Homedingskacke.Fehler: mysid:
                          
                          javascript.0
                          2024-06-09 21:49:08.473	error	script.js.Homedingskacke.Fehler: Error:
                          
                          javascript.0
                          2024-06-09 21:49:08.470	info	script.js.Homedingskacke.Fehler: data:
                          
                          

                          Ich versuche mich morgen und vermutlich die Tage mit Ersetzung der Variablen.

                          Ganz lieben Dank für eure Unterstützung!

                          Viele Grüße

                          haus-automatisierungH 1 Antwort Letzte Antwort
                          0
                          • P PeterPan

                            @homoran @haus-automatisierung

                            @homoran sagte in Update v8.3.1 fehlerhafte Skripte:

                            dies ein Folgefehler weil kein response.data kommt

                            sein.

                            Ich habe jetzt wieder zu einer NAS Kontakt und das timeout hoch gesetzt. Es ist klar das "response.data" leer.

                            javascript.0
                            2024-06-09 21:49:08.474	info	script.js.Homedingskacke.Fehler: mysid:
                            
                            javascript.0
                            2024-06-09 21:49:08.473	error	script.js.Homedingskacke.Fehler: Error:
                            
                            javascript.0
                            2024-06-09 21:49:08.470	info	script.js.Homedingskacke.Fehler: data:
                            
                            

                            Ich versuche mich morgen und vermutlich die Tage mit Ersetzung der Variablen.

                            Ganz lieben Dank für eure Unterstützung!

                            Viele Grüße

                            haus-automatisierungH Offline
                            haus-automatisierungH Offline
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @peterpan Hab das Script oben nochmal angepasst. Waren teilweise irgendwelche Anführungszeichen um die GET-Parameter (warum das? und warum nur bei manchen?).

                            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                            📚 Meine inoffizielle ioBroker Dokumentation

                            P 1 Antwort Letzte Antwort
                            0
                            • haus-automatisierungH haus-automatisierung

                              @peterpan Hab das Script oben nochmal angepasst. Waren teilweise irgendwelche Anführungszeichen um die GET-Parameter (warum das? und warum nur bei manchen?).

                              P Offline
                              P Offline
                              PeterPan
                              schrieb am zuletzt editiert von
                              #14

                              @haus-automatisierung sagte in Update v8.3.1 fehlerhafte Skripte:

                              @peterpan Hab das Script oben nochmal angepasst. Waren teilweise irgendwelche Anführungszeichen um die GET-Parameter (warum das? und warum nur bei manchen?).

                              Besten Dank, schaue ich mir in Ruhe an, da brauche ich etwas mehr Zeit für. Bezüglich der Anführungszeichen sind die Skripte ein wenig historisch gewachsen (und nicht von mir nachgezogen).

                              Viele Grüße

                              P 1 Antwort Letzte Antwort
                              0
                              • P PeterPan

                                @haus-automatisierung sagte in Update v8.3.1 fehlerhafte Skripte:

                                @peterpan Hab das Script oben nochmal angepasst. Waren teilweise irgendwelche Anführungszeichen um die GET-Parameter (warum das? und warum nur bei manchen?).

                                Besten Dank, schaue ich mir in Ruhe an, da brauche ich etwas mehr Zeit für. Bezüglich der Anführungszeichen sind die Skripte ein wenig historisch gewachsen (und nicht von mir nachgezogen).

                                Viele Grüße

                                P Offline
                                P Offline
                                PeterPan
                                schrieb am zuletzt editiert von
                                #15

                                @homoran @haus-automatisierung

                                Ich wollte jetzt doch auch nach längerer Zeit ein kurzes Feedback geben.

                                Es lag am timeout, welches ich jetzt noch etwas höher gestellt habe, ich hatte zuvor das Script auf das Minimum reduziert und dann mit der verlinkten Anleitung und mit eurer Skriptbearbeitung alles wieder ans Laufen bekommen. Ebenso habe ich das Error-Handling eingefügt und die Anführungszeichen sind nicht mehr da :). Herzlichen Dank dafür!!

                                VG

                                M 1 Antwort Letzte Antwort
                                0
                                • P PeterPan

                                  @homoran @haus-automatisierung

                                  Ich wollte jetzt doch auch nach längerer Zeit ein kurzes Feedback geben.

                                  Es lag am timeout, welches ich jetzt noch etwas höher gestellt habe, ich hatte zuvor das Script auf das Minimum reduziert und dann mit der verlinkten Anleitung und mit eurer Skriptbearbeitung alles wieder ans Laufen bekommen. Ebenso habe ich das Error-Handling eingefügt und die Anführungszeichen sind nicht mehr da :). Herzlichen Dank dafür!!

                                  VG

                                  M Offline
                                  M Offline
                                  MrLee
                                  schrieb am zuletzt editiert von
                                  #16

                                  @peterpan

                                  Moin!

                                  Geht bei Dir die //2.3.34.8 TakeSnapshot method noch?
                                  Habe am Wochenende DSM auf 7.2.2 upgedatetd und in diesem Zuge wurde auch die SurvillanceStation upgedated...
                                  sietdem geht obige Funktion bei mir nicht mehr...

                                  • sid holen geht
                                  • Snapshot anzeigen geht

                                  Nur einen Snapshot speichern und die Nummer zurückzubekommen geht nicht mehr...

                                  bis denne
                                  Mr.Lee

                                  P 1 Antwort Letzte Antwort
                                  0
                                  • M MrLee

                                    @peterpan

                                    Moin!

                                    Geht bei Dir die //2.3.34.8 TakeSnapshot method noch?
                                    Habe am Wochenende DSM auf 7.2.2 upgedatetd und in diesem Zuge wurde auch die SurvillanceStation upgedated...
                                    sietdem geht obige Funktion bei mir nicht mehr...

                                    • sid holen geht
                                    • Snapshot anzeigen geht

                                    Nur einen Snapshot speichern und die Nummer zurückzubekommen geht nicht mehr...

                                    bis denne
                                    Mr.Lee

                                    P Offline
                                    P Offline
                                    PeterPan
                                    schrieb am zuletzt editiert von
                                    #17

                                    @mrlee

                                    Hi Mr.Lee,

                                    ich bin auch auf DMS 7.2.2. Ich hole mir nach Einloggen an der Surveillance Station den Snapshot (Abschnitt 2.3.4.5) und speichere ihn im home-Verzeichnis des iobrokers, damit ich mit pushover dieses Bild mit einer Nachricht aufs Handy bekomme. Weiterhin speichere ein kleinen Film auf der NAS (Abschnitt 2.3.10.1) als "Backup". Allerdings finde ich auch kein Bild nach Abschnitt 2.3.34.8, also TakeSnapshot.

                                    Muss ich mir anschauen - falls du eine Lösung finden solltest, würd ich mich über eine Info freuen.

                                    VG peterpan

                                    P 1 Antwort Letzte Antwort
                                    0
                                    • P PeterPan

                                      @mrlee

                                      Hi Mr.Lee,

                                      ich bin auch auf DMS 7.2.2. Ich hole mir nach Einloggen an der Surveillance Station den Snapshot (Abschnitt 2.3.4.5) und speichere ihn im home-Verzeichnis des iobrokers, damit ich mit pushover dieses Bild mit einer Nachricht aufs Handy bekomme. Weiterhin speichere ein kleinen Film auf der NAS (Abschnitt 2.3.10.1) als "Backup". Allerdings finde ich auch kein Bild nach Abschnitt 2.3.34.8, also TakeSnapshot.

                                      Muss ich mir anschauen - falls du eine Lösung finden solltest, würd ich mich über eine Info freuen.

                                      VG peterpan

                                      P Offline
                                      P Offline
                                      PeterPan
                                      schrieb am zuletzt editiert von
                                      #18

                                      @mrlee
                                      Hi Mr.Lee,

                                      const url_Snapshot = `${iplong}entry.cgi?camId=${cameraID}&version=1&blSave=true&api=SYNO.SurveillanceStation.SnapShot&dsId=0&method=TakeSnapshot&_sid=${my_sid}`;
                                      const url_Snapshot2 = `${iplong}SurveillanceStation/ThirdParty/SnapShot/Take/v1?camId=${cameraID}&_sid=${my_sid}`;
                                      
                                      

                                      Durch Austausch von url_Snapshot durch url_Snapshot2 funktioniert es bei mir wieder, dass im entsprechenden Suveillance-Verzeichnis ein Bild gespeichert wird. Es scheint, dass in der API-Beschreibung sämtliche Befehle nach dem neuem Muster umgeschrieben wurden, d.h., hier müssten diese auch nachgezogen werden.

                                      VG peterpan

                                      haus-automatisierungH 1 Antwort Letzte Antwort
                                      0
                                      • P PeterPan

                                        @mrlee
                                        Hi Mr.Lee,

                                        const url_Snapshot = `${iplong}entry.cgi?camId=${cameraID}&version=1&blSave=true&api=SYNO.SurveillanceStation.SnapShot&dsId=0&method=TakeSnapshot&_sid=${my_sid}`;
                                        const url_Snapshot2 = `${iplong}SurveillanceStation/ThirdParty/SnapShot/Take/v1?camId=${cameraID}&_sid=${my_sid}`;
                                        
                                        

                                        Durch Austausch von url_Snapshot durch url_Snapshot2 funktioniert es bei mir wieder, dass im entsprechenden Suveillance-Verzeichnis ein Bild gespeichert wird. Es scheint, dass in der API-Beschreibung sämtliche Befehle nach dem neuem Muster umgeschrieben wurden, d.h., hier müssten diese auch nachgezogen werden.

                                        VG peterpan

                                        haus-automatisierungH Offline
                                        haus-automatisierungH Offline
                                        haus-automatisierung
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #19

                                        @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                                        d.h., hier müssten diese auch nachgezogen werden.

                                        Gibt es dazu schon einen Issue auf GitHub?

                                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                        📚 Meine inoffizielle ioBroker Dokumentation

                                        P 1 Antwort Letzte Antwort
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          @peterpan sagte in Update v8.3.1 fehlerhafte Skripte:

                                          d.h., hier müssten diese auch nachgezogen werden.

                                          Gibt es dazu schon einen Issue auf GitHub?

                                          P Offline
                                          P Offline
                                          PeterPan
                                          schrieb am zuletzt editiert von
                                          #20

                                          @haus-automatisierung

                                          Hi, mit "Nachziehen" meinte ich eher Nachziehen in meinem ganz oben aufgeführten Skript bzw. in der Anpassung, bei der ihr mir im Juni geholfen hattet - im Fall, dass jemand es in Verwendung hat. Wenn ich allerdings irgendwo etwas dokumentieren kann/soll, mache ich das.

                                          haus-automatisierungH 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          330

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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