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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Synology Surveillance Station API

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Synology Surveillance Station API

Scheduled Pinned Locked Moved ioBroker Allgemein
181 Posts 51 Posters 65.1k Views 35 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    deifel
    wrote on last edited by
    #55

    Da habe ich mich wohl ein bisschen zu früh gefreut. Nachdem jetzt von extern alles läuft, wollte ich auf zuhause auf die internen IPs umstellen.

    Da bekomme ich aber (auch beim Aufuf mit dem Browser) folgenden Fehler:

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

    Das besagt wohl, dass man eine Session-ID angeben muss. Weiß jemand, wo ich diese ID finde und wie ich die in den Aufruf mit einbaue - sowohl im Browser als auch über das Script?

    Oder geht das bei Euch ohne Session ID aus dem internen Netz??

    Vielen Dank im Voraus!

    1 Reply Last reply
    0
    • lobomauL Offline
      lobomauL Offline
      lobomau
      wrote on last edited by
      #56

      @deifel:

      Da habe ich mich wohl ein bisschen zu früh gefreut. Nachdem jetzt von extern alles läuft, wollte ich auf zuhause auf die internen IPs umstellen.

      Da bekomme ich aber (auch beim Aufuf mit dem Browser) folgenden Fehler:

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

      Das besagt wohl, dass man eine Session-ID angeben muss. Weiß jemand, wo ich diese ID finde und wie ich die in den Aufruf mit einbaue - sowohl im Browser als auch über das Script?

      Oder geht das bei Euch ohne Session ID aus dem internen Netz??

      Vielen Dank im Voraus! `
      Interessant. Ich habe es andersrum am Laufen.

      Ich habe die lokale IP von NAS angegeben und kann nur die Bilder sehen, wenn ich im eigenen Netz bin oder unterwegs VPN dazu nehme. So gefällt mir das ganz gut.

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
      • Slave: Pi4
      1 Reply Last reply
      0
      • P Offline
        P Offline
        PrinzEisenherz1
        wrote on last edited by
        #57

        Hi zusammen, mal kurz ne Frage an die Fachleute

        Wie kann ich mit ioBroker durch einen z.b. BWM eine Aufnahme auf der Synology Surveillance Station starten (also mit Vorlauf und Nachlauf)

        Ich verwende die SSS 7.2.

        Brauche ich da auch immer ne neue SID?

        Die Syno schlägt mir solch einen Link vor

        http://<ip>:<port>/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method="Trigger"&version=1&eventId=1&eventName="ExtAlarm"&account="username"&password="userpassword"</port></ip>
        

        Wie ist da eure Erfahrung?

        Kann ich das in nem Javascript einfach mit nem request anstoßen?

        z.B.

        var request = require('request');
        
        function record() {
        request('http://<ip>:<port>/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method="Trigger"&version=1&eventId=1&eventName="ExtAlarm"&account="username"&password="userpassword");
        }
        
        on({id: "hm-rpc.0.XXXXXXXXXXXX.1.MOTION"}, record);</port></ip> 
        

        Gruß

        Johnny

        Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

        1 Reply Last reply
        0
        • A Offline
          A Offline
          andyb
          wrote on last edited by
          #58

          Sollte gehen. Ich würde aber noch, wie in die vorherigen Beispielen die SID mit in das Skript einbauen.

          Anderer Ansatz wäre noch, den Homemodus zu deaktivieren und entsprechende Aufnahmeregeln auf der SSS zu erstellen. Dafür hab ich aber den api Befehl noch nicht rausgefunden.

          Ebenfalls eine Alternative, per Request die Cam per Skript zu aktivieren bzw deaktivieren. Hat halt den Nachteil, wenn deaktiviert alle Regeln der SSS ausser Kraft gesetzt.

          1 Reply Last reply
          0
          • A Offline
            A Offline
            ACE76
            wrote on last edited by
            #59

            @deifel:

            Da habe ich mich wohl ein bisschen zu früh gefreut. Nachdem jetzt von extern alles läuft, wollte ich auf zuhause auf die internen IPs umstellen.

            Da bekomme ich aber (auch beim Aufuf mit dem Browser) folgenden Fehler:

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

            Das besagt wohl, dass man eine Session-ID angeben muss. Weiß jemand, wo ich diese ID finde und wie ich die in den Aufruf mit einbaue - sowohl im Browser als auch über das Script?

            Oder geht das bei Euch ohne Session ID aus dem internen Netz??

            Vielen Dank im Voraus! `

            Hallo,

            ich bekomme einen ähnlichen Fehler.

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

            Hat jemand vielleicht schon eine Lösung hierzu gefunden?

            1 Reply Last reply
            0
            • A Offline
              A Offline
              andyb
              wrote on last edited by
              #60

              Ich steuere inzwischen Aufnahmen und Screenshots über den Home Modus. Da die Gefence Erkennung der App aber eine riesen Prozesserlast auf der Syno produziert schalte ich den Home Modus der SSS über meine Anwesenheitserkennung von IOBroker. Dazu einfach auf der SSS eine Aktionregel für Home on und eine für Home off erstellen. Den Rest der Aufnahmesteuerung usw hab ich alles auf der SSS eingerichtet.
              1586_2017-09-09_09_17_38-surveillance_station_client_-_neckarstat.jpg
              1586_2017-09-09_09_27_46-2017-09-09_09_19_36-surveillance_station_client_-_neckarstat.jpg
              1586_2017-09-09_09_20_19-surveillance_station_client_-_neckarstat.jpg
              1586_2017-09-09_09_20_28-surveillance_station_client_-_neckarstat.jpg

              1 Reply Last reply
              0
              • Samson71S Offline
                Samson71S Offline
                Samson71
                Global Moderator
                wrote on last edited by
                #61

                @apollon77:

                Es gibt dann einen Datenpunkt wo ich einmal pro Stunde ne neue URL hole und reinschreibe.

                In Vis zeige ich es dann mit dem Cam-Widget an und {javascript.0.Anzeigen.Kamera.Eingangstuer-Stream} als "Source"/Quelle. Das klappt recht gut. `
                Hallo,

                ich beschäftige mich auch gerade mit der Thematik, da ich Cams habe, die nur rtsp können und nicht wie die meisten Foscams nativ über eine normale URL einzubinden sind. Habe das jetzt soweit auch erfolgreich nachgebaut. Klappt einwandfrei.

                Kann mich jemand aufschlauen, wie ich diese URL regelmäßig neu hole? Ich habe von Scripting keine Ahnung. Muss ich dafür das Script, bzw. die Scripte in Intervallen neu anstoßen? Wenn ja wie?

                Markus

                Bitte beachten:
                Hinweise für gute Forenbeiträge
                Maßnahmen zum Schutz des Forums

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  deifel
                  wrote on last edited by
                  #62

                  @andyb:

                  Ich steuere inzwischen Aufnahmen und Screenshots über den Home Modus. Da die Gefence Erkennung der App aber eine riesen Prozesserlast auf der Syno produziert schalte ich den Home Modus der SSS über meine Anwesenheitserkennung von IOBroker. Dazu einfach auf der SSS eine Aktionregel für Home on und eine für Home off erstellen. Den Rest der Aufnahmesteuerung usw hab ich alles auf der SSS eingerichtet.

                  2017-09-09 09_17_38-Surveillance Station Client - Neckarstat.jpg

                  2017-09-09 09_27_46-2017-09-09 09_19_36-Surveillance Station Client - Neckarstat.jpg

                  2017-09-09 09_20_19-Surveillance Station Client - Neckarstat.jpg

                  2017-09-09 09_20_28-Surveillance Station Client - Neckarstat.jpg `

                  Hallo,

                  kannst Du bitte sagen wie Du das über IoBroker gelöst hast. Wie sieht Dein Script aus bzw. wie kann ich den Home-Modus aktivieren und deaktivieren in Abhängigkeit von einer Homematic Variable.

                  Ich bekomme es hin, dass ich es über einen Browser aktiviere und deaktiviere, aber am einbauen in Iobroker oder Homematic scheitere ich leider…

                  Sorry für die dumme Frage...

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mitzu1981
                    wrote on last edited by
                    #63

                    @deifel:

                    Hi Lobomau,

                    danke für Deine Hilfe. Habe es kapiert und bin jetzt auf das Script von Apollon gegangen und habe dieses unter Common angelegt und die jeweiligen Daten korrigiert.

                    Leider bleibt das Bild noch immer dunkel… :(

                    Hast Du eine Idee, wo mein Fehler sein könnte?

                    Unter Objekte sehe ich den Status "true".

                    var request = require('request');
                    
                    // Konfiguration
                    var user = "Admin";  // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
                    var pass = "Passwort";  // Passwort zu eben eingegebenem Benutzer
                    var ip = "externeAdresse.net";  // IP-Adresse eures Synology-NAS
                    var port = 8881;  // default Port der Surveillance Station
                    var cameraID = 1;  // ID der Kamera, welche angezeigt werden soll
                    
                    createState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""});
                    
                    // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID
                    
                    function updateStreamUrl() {
                        request('https://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) {
                            //console.log('error:', error); // Print the error if one occurred
                            //console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
                            //console.log('body:', body); // Print the HTML for the Google homepage.
                            try {
                                var bodyObj = JSON.parse(body);
                            }
                            catch (e) {
                                console.log("Error update SurveillanceStation Stream URL: " + e);
                                return;
                            }
                            if (bodyObj && bodyObj.data && bodyObj.data.sid) {
                                var sid = bodyObj.data.sid;
                                setState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true);
                            }
                            else {
                                console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj));
                                return;
                            }
                        });
                    }
                    
                    schedule("0 * * * *", function() {
                        updateStreamUrl();
                    });
                    
                    updateStreamUrl();
                    ```` `  
                    

                    Hallo, ich hätte noch eine Frage dazu.

                    Ich habe dieses, mein erstes Script von Apollon jetzt zum Laufen bekommen und die URL zu dem Kamera Stream wird in IO Broker unter Objekte angezeigt und funktioniert.

                    Kann man vielleicht jetzt mithilfe von IO Broker von einer festen URL auf diese "dynamische URL" verlinken? Oder muss man dazu einen Web Server installieren und diese SS API Abfrage noch in PHP betreiben?

                    Ich würde gern den Stream noch in anderen Anwendungen nutzen, zB in Kodi im surveillance room addon.

                    1 Reply Last reply
                    0
                    • DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      wrote on last edited by
                      #64

                      @mitzu1981:

                      Kann man vielleicht jetzt mithilfe von IO Broker von einer festen URL auf diese "dynamische URL" verlinken? Oder muss man dazu einen Web Server installieren und diese SS API Abfrage noch in PHP betreiben?

                      Ich würde gern den Stream noch in anderen Anwendungen nutzen, zB in Kodi im surveillance room addon. `

                      Mir vis könntest du den Link einer iframe wiedergeben bin mir aber nicht sicher ob das ist was du suchst?

                      –-----------------------

                      Send from mobile device

                      Das schöne ios hat Auto Korrektur zum k****

                      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        andyb
                        wrote on last edited by
                        #65

                        @mitzu1981:

                        Kann man vielleicht jetzt mithilfe von IO Broker von einer festen URL auf diese "dynamische URL" verlinken? Oder muss man dazu einen Web Server installieren und diese SS API Abfrage noch in PHP betreiben?

                        Ich würde gern den Stream noch in anderen Anwendungen nutzen, zB in Kodi im surveillance room addon. `

                        Nur wenn Kodi auf dem gleichen Rechner wie IOBroker läuft. Die abgefragte SID hat nur auf diesem Rechner Gültigkeit.

                        Du kannst aber auch die Gültigkeit des Links in der Surveillance auf der Syno auf "dauerhaft" stellen, dann die mit deinem Rechner wo Kodi drauf ist einmalig einloggen und die SID abfragen, dann hast du die Links dort auch. (Falls sich aber was ändert, z.B. eine IP, gehen die Links nicht mehr)

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          der_Auge
                          wrote on last edited by
                          #66

                          @apollon77:

                          Hey,

                          weil bisher primär PHP Code gepostet wurde, hier mal meine Lösung die ich aktuell verwende.

                          In der Synology Surveillancestation bei der "Stream Gültigkeit" habe ich "Dauerhaft" gewählt, trotzdem wird die URL nach 1-2 Wochen ungültig, also hole ich Sie jetzt täglich neu.

                          var request = require('request');
                          
                          // Konfiguration
                          var user = "surveillanceUser";  // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
                          var pass = "...";  // Passwort zu eben eingegebenem Benutzer
                          var ip = "...";  // IP-Adresse eures Synology-NAS
                          var port = 5000;  // default Port der Surveillance Station
                          var cameraID = 1;  // ID der Kamera, welche angezeigt werden soll
                          
                          createState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""});
                          
                          // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID
                          
                          function updateStreamUrl() {
                              request('http://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) {
                                  //console.log('error:', error); // Print the error if one occurred
                                  //console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
                                  //console.log('body:', body); // Print the HTML for the Google homepage.
                                  try {
                                      var bodyObj = JSON.parse(body);
                                  }
                                  catch (e) {
                                      console.log("Error update SurveillanceStation Stream URL: " + e);
                                      return;
                                  }
                                  if (bodyObj && bodyObj.data && bodyObj.data.sid) {
                                      var sid = bodyObj.data.sid;
                                      setState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true);
                                  }
                                  else {
                                      console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj));
                                      return;
                                  }
                              });
                          }
                          
                          schedule("0 * * * *", function() {
                              updateStreamUrl();
                          });
                          
                          updateStreamUrl();
                          

                          Es gibt dann einen Datenpunkt wo ich einmal pro Stunde ne neue URL hole und reinschreibe.

                          In Vis zeige ich es dann mit dem Cam-Widget an und {javascript.0.Anzeigen.Kamera.Eingangstuer-Stream} als "Source"/Quelle. Das klappt recht gut

                          Ingo `

                          Super Danke

                          Genau so habe ich es übernommen. Und es funktioniert.

                          Gruß

                          Jürgen

                          Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                          Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                          SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                          Test : DS916+ VM Debian

                          Test : Tinker mit piVCCU

                          XBiTX 1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            Kueppert
                            wrote on last edited by
                            #67

                            Hi,

                            sitze jetzt stunden daran, das Bild im ioBroker zu erhalten…jetzt hab ich es...manmanman.

                            Lösung:

                            1. Ich nutze den dyndns-Service von NO-IP und habe nicht meine IP, sondern entsprechend die NO-IP-Adresse im Skript hinterlegt

                            2. Ich nutze https und den entsprechenden Port 5001. Hab 2 Adressen in https abgeändert und oben im Skript die 5001 eingetragen

                            3. JETZT: Ich habe die Cam-ID 5 :lol: :lol: :lol: das hat mich die meisste Zeit gekostet...hab alles probiert und immer nur ID 1-4 :mrgreen:

                            Tip: Um den Link zu testen, einfach den generierten Link aus den Objekten herauskopieren, bei mir in Chrome einfügen und manuell die "&cameraId=X&" ändern (X = 1, 2, 3...) bis ein Bild kommt.

                            Daaaaaaanke für das Skript. Jetzt nur noch in vis reinbekommen :D

                            Viele Grüße, Thorsten

                            UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              Kueppert
                              wrote on last edited by
                              #68

                              Sooo,

                              ich wieder. Die camera-widgets hab ich jetzt alle durch…tut es keins von. Funktionieren ja schon mal klasse.

                              Mit dem "basic string img src" widget klappt es...aber das verdeckt mir meine ganze Wohnung im View :lol: Kann ich irgendwie erreichen, dass ich ein Kamera.Symbol angezeigt bekomme und bei druffklicken geht das Bild auf? Und dann bei nem Klick von mir aus auf Schließen oder woanders hin geht das wieder zu?

                              Wenn das nicht geht, muss ich hat eine neue View mit dem cam-Bild machen (hab da etwas Angst, weil der mir in der App auf Android bei rsync ab und zu sagt, keine main view im Projekt :shock: . Muss dann 5-6 mal neu resyncen und auch neu laden, dann gehts wieder ).

                              Wie habt ihr das in euren Views umgesetzt?

                              Danke euch und Grüße, Thorsten

                              UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                              1 Reply Last reply
                              0
                              • arteckA Offline
                                arteckA Offline
                                arteck
                                Developer Most Active
                                wrote on last edited by
                                #69

                                ich habs so

                                ! ````
                                [{"tpl":"tplMfdCamSnapshot","data":{"visibility-cond":"==","visibility-val":1,"asButton":false,"interval":"1000","dialog_width":"800","dialog_height":"600","icon":"","url":"http://xxxxxxx:5000/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=yyyyyyyyyy","title":"Kamera vorne","modal":false,"name":"Kamera vorne Dialog für großes Bild","filterkey":"Kamera","dialog_top":"20","dialog_left":"20","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-is-moment":false,"lc-zindex":0,"autoclose":""},"style":{"left":"738px","top":"309px","width":"140px","height":"60px","border-width":"2px","border-style":"solid","border-color":"#ebe6d6","border-radius":"5px","z-index":"4","opacity":"0","background-color":"#861d1d","color":""},"widgetSet":"jqui-mfd"}]

                                zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                1 Reply Last reply
                                0
                                • K Offline
                                  K Offline
                                  Kueppert
                                  wrote on last edited by
                                  #70

                                  @arteck:

                                  ich habs so

                                  ! [{"tpl":"tplMfdCamSnapshot","data":{"visibility-cond":"==","visibility-val":1,"asButton":false,"interval":"1000","dialog_width":"800","dialog_height":"600","icon":"","url":"http://xxxxxxx:5000/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=yyyyyyyyyy","title":"Kamera vorne","modal":false,"name":"Kamera vorne Dialog für großes Bild","filterkey":"Kamera","dialog_top":"20","dialog_left":"20","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-is-moment":false,"lc-zindex":0,"autoclose":""},"style":{"left":"738px","top":"309px","width":"140px","height":"60px","border-width":"2px","border-style":"solid","border-color":"#ebe6d6","border-radius":"5px","z-index":"4","opacity":"0","background-color":"#861d1d","color":""},"widgetSet":"jqui-mfd"}] ` Hi danke dir. Kannst du noch nen Screen dazu Posten? Dann muss ich nicht erst importieren damit ich sehe, wir es aussehen sollte ;)

                                  Danke und Grüße, Thorsten

                                  Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                                  UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                                  1 Reply Last reply
                                  0
                                  • A Offline
                                    A Offline
                                    Alveran
                                    wrote on last edited by
                                    #71

                                    Hallo,

                                    ich bekomme mit dem Script von Apollon folgenden Fehler:

                                    javascript.0 2018-03-05 21:14:33.596 info script.js.MeineScripte.CamGarten: Invalid return on SurveillanceStation Stream URL: {"error":{"code":400},"success":false}

                                    Weiß jemand warum?

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      MarkusL
                                      wrote on last edited by
                                      #72

                                      Hallo zusammen,

                                      ich habe ein Schwierigkeiten mit der Darstellung meiner Kamera Streams und vielleicht hat jemand eine Idee:

                                      Ich habe 5 Trendnet (=HIKVision) Kameras. Da diese Probleme mit einem direkten Abruf der Streams machen (sie können wohl immer nur einen Client bedienen und steigen gerne mal ganz aus) habe ich sie in meine Synology eingebunden (das klappt gut) und hole mir mit dem obigen Script die dynamischen Links. Das passt alles auch gut. Die Darstellung erfolgt dann über das "Basic String Img src" Widget.

                                      ABER:

                                      Sobald ich auf die View wechsle mit den Kamerabildern, geht die Prozessor Last auf der Synology auf 100% und die Bilder kommen sporadisch bzw gar nicht mehr, wenn es mehr als eines sind. Und das bleibt auch so, wenn die View wieder weggeschaltet wird. D.h. der Stream "verstopft" weiterhin die Synology.

                                      habt Ihr auch das Problem? Hat jemand eine Idee, wie ich das lösen kann.

                                      Also den Load reduzieren und den Stream auch wieder stoppen, wenn der View nicht mehr aktiv ist.

                                      Vielen Dank,

                                      Markus

                                      1 Reply Last reply
                                      0
                                      • arteckA Offline
                                        arteckA Offline
                                        arteck
                                        Developer Most Active
                                        wrote on last edited by
                                        #73

                                        @Alveran:

                                        Hallo,

                                        ich bekomme mit dem Script von Apollon folgenden Fehler:

                                        javascript.0 2018-03-05 21:14:33.596 info script.js.MeineScripte.CamGarten: Invalid return on SurveillanceStation Stream URL: {"error":{"code":400},"success":false}

                                        Weiß jemand warum? `

                                        die login daten sind falsch .. würde ich tippen

                                        zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                        1 Reply Last reply
                                        0
                                        • A Offline
                                          A Offline
                                          Alveran
                                          wrote on last edited by
                                          #74

                                          Also irgendwie stimmt was mit dem Script nicht.

                                          Ich habe einen extra benutzter für die Kamera bei mir der admini angelegt und ein temporäres Passwort(wird natürlich danach geändert) vergeben wie ihr im Script sehen könnt.

                                          Hier ist das Script und danach der Fehler:

                                          __var request = require('request');

                                          // Konfiguration

                                          var user = "admini"; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen

                                          var pass = "Winter2018"; // Passwort zu eben eingegebenem Benutzer

                                          var ip = "192.168.6.200"; // IP-Adresse eures Synology-NAS

                                          var port = 9900; // default Port der Surveillance Station

                                          var cameraID = 2; // ID der Kamera, welche angezeigt werden soll

                                          createState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""});

                                          // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID

                                          function updateStreamUrl() {

                                          request('http://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) {

                                          console.log('error:', error); // Print the error if one occurred

                                          console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received

                                          console.log('body:', body); // Print the HTML for the Google homepage.

                                          try {

                                          var bodyObj = JSON.parse(body);

                                          }

                                          catch (e) {

                                          console.log("Error update SurveillanceStation Stream URL: " + e);

                                          return;

                                          }

                                          if (bodyObj && bodyObj.data && bodyObj.data.sid) {

                                          var sid = bodyObj.data.sid;

                                          setState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true);

                                          }

                                          else {

                                          console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj));

                                          return;

                                          }

                                          });

                                          }

                                          schedule("0 * * * *", function() {

                                          updateStreamUrl();

                                          });

                                          updateStreamUrl();__

                                          script.js.common.CamEingang: Invalid return on SurveillanceStation Stream URL: {"error":{"code":400},"success":false}

                                          Baue ich den String selber zusammen funktioniert es:

                                          http://192.168.6.200:9900//webapi/auth. … format=sid

                                          {"data":{"sid":"2wUTJTseubyHg1710NNN034612"},"success":true}

                                          Also lieber Schwarm, irgendwo muss ein Fehler sein.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          633

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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