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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Synology Surveillance Station API

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    280

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

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

Synology Surveillance Station API

Synology Surveillance Station API

Scheduled Pinned Locked Moved ioBroker Allgemein
181 Posts 51 Posters 61.4k 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
    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 Online
      K Online
      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 😄

      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 Online
        K Online
        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 Online
            K Online
            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
                    • A Offline
                      A Offline
                      ak1
                      wrote on last edited by
                      #75

                      Ich bin auf der Suche nach einem Script-Beispiel, bei dem der Home Mode der Surveillance Station an- bzw. ausgeschaltet wird. Ich möchte den Schaltzustand des Home Modes an z.B. eine Anwesenheitsvariable knüpfen.

                      andyb hatte hier im Thread davon gesprochen. Ein passendes Skript würde mir helfen.

                      Danke

                      ak1

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        MrLee
                        wrote on last edited by
                        #76

                        Mon!

                        Ich muß mich hier mal ranhänge.

                        Ausgangslage:

                        Ich benutze die hier geposteten PHP-Scripte um auf der Synology Snapshots zu triggern und die ID des Snapshots in Variablen zu schreiben.

                        Diese kann man dann per SQL-History konfortabel durchsuchen.

                        Dieses funktionierte lange ohne Probleme.

                        Problem:

                        Seit ca. einem Monat ist die Anmeldung an der Synology so langsam, das der Anmeldedienst (da ich das Bild alle 2sek Refreshe das System komplett auslastet.

                        Eine Anmeldung dauert ca. 10sec. (bis sid geholt).

                        Scriptfehler sinds nicht, auch wenn ich im Browser "manuell" eine Authetifizierung mache und eine sid hole dauert es so lange.

                        Hat jemand Ähnliches? Weiß jemand welche Einstellung/Update/etc. bei der Synology den Authetifizierungsdienst verändert hat?

                        Danke Euch!

                        Mr.Lee

                        bis denne

                        Mr.Lee

                        pattylandP 1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          dominik.braun82
                          wrote on last edited by
                          #77

                          Hi.

                          Grundsätzlich geht es ja hier um Screenshots erstellen, verschicken und einbindne in VIS.

                          Ich möchte was ganz simples, weiß aber nicht wie ich es anstellen kann.

                          Ich habe 4 Kameras in der SSS und möchte die SSS aktivieren, wenn ich meine Alarmanlage scharf schalte (quasi eine Systemvariable in der Homematic…)

                          Ich habes mir so vorgestellt, dass ich die Aufnahme Einstellungen in der SSS einfach auf Bewegungserkennung stelle, rund um die Uhr….

                          Und aktivieren tue ich eben über den Modus Alarmanlage aktiv.

                          Gibt es dazu eine Lösung.

                          Habe das Widget schon drauf, aber da kann man nur screenshots und so erstellen und nicht die SSS aktivieren und deaktiviren.

                          Habe die aktuelleste Version drauf. (8...)

                          Danke, Gruß 😄

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            aleks-83
                            wrote on last edited by
                            #78

                            @dominik.braun82:

                            Ich habe 4 Kameras in der SSS und möchte die SSS aktivieren, wenn ich meine Alarmanlage scharf schalte (quasi eine Systemvariable in der Homematic…)

                            Ich habes mir so vorgestellt, dass ich die Aufnahme Einstellungen in der SSS einfach auf Bewegungserkennung stelle, rund um die Uhr….

                            Und aktivieren tue ich eben über den Modus Alarmanlage aktiv. `

                            Hast du mal in den Aktionsregeln geschaut?

                            Dort kann man -durch externe Ereignisse aktiviert- AKtionen auslösen.

                            z.B. Kameras de-/aktivieren, HomeMode de-/aktivieren, Aufnahme starten/stoppen oder weitere Externe AKtionen ausführen.

                            Somit habe ich geregelt dass mein ioBroker -sobald per WLAN Anwesenheit erkannt- den Home Mode einschaltet.

                            Die DS Cam App funktioniert hier ja nicht zuverlässig.

                            Dazu habe ich allerdings eine Frage:

                            Mein Befehl zum Einschalten des Homemode lautet:

                            https://192.168.0.123:5001/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method="Trigger"&version=1&eventId=1&account="admin"&password="XXXXXXX"
                            

                            Wenn ich den per Browser ausführe, wird der Homemode eingeschaltet.

                            Wenn der ioBroker aufm Pi den Befehl ausführt, passiert nichts.

                            So sieht das Blockly dazu aus:
                            7541_homemodeblockly.png

                            = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                            = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                            Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                            Glasfaser 400

                            1 Reply Last reply
                            0
                            • A Offline
                              A Offline
                              aleks-83
                              wrote on last edited by
                              #79

                              Habe meinen Fehler selbst entdeckt!

                              Der "exec" Baustein war hier nicht der richtige.

                              Ich habe jetzt den "request" Baustein genommen.

                              Damit bekomme ich beim Ausführen des SKriptes dei Fehlermeldung:

                              script.js.Synology.HomeModeSchalten: Error: unable to verify the first certificate
                              

                              Der request ist ja ein https request, das SSL Zertifikat auf der Syno ist aber nicht signiert.

                              Dann muss ich mich woh doch nochmal mit dem Thema Let's encrypt auf der Syno beschäftigen!? Oder geht es um was anderes?

                              EDIT:

                              Auch diesen Fehler habe ich gelöst :mrgreen:

                              Habe nun endlich ein Lets Encrypt Zertifikat in meine Syno einbinden können. Das hat nie funktioniert. Jetzt ging es plötzlich.

                              Jetzt sende ich zwar den Befehl aus dem Broker einmal raus ins www und über meine DynDNS wieder rein in meine Syno, aber egal.

                              Funktioniert!

                              Für interne LAN Adressen kann man ja scheinbar kein Zertifikat erstellen…

                              = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                              = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                              Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                              Glasfaser 400

                              1 Reply Last reply
                              0
                              • hollywootH Offline
                                hollywootH Offline
                                hollywoot
                                wrote on last edited by
                                #80

                                @Alveran:

                                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. `

                                Hab das gleiche Problem.

                                Hast Du zufällig eine Lösung gefunden?

                                Gruß

                                1 Reply Last reply
                                0
                                • H Offline
                                  H Offline
                                  HoffmannOs
                                  wrote on last edited by
                                  #81

                                  Gibt es schon eine Lösung? Ich bekomme cam 1 angezeigt, allerdings bekomme ich bei der Camera 2 keine Ausgabe, bei jpp die Meldung das die Bilder fehler enthalten….

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

                                    Nein leider nicht. Hab es aufgegeben mit dem Script. Scheint mit neueren Surveillance Station Version nicht mehr kompatibel zu sein.

                                    1 Reply Last reply
                                    0
                                    • K Online
                                      K Online
                                      Kueppert
                                      wrote on last edited by
                                      #83

                                      @Alveran:

                                      Nein leider nicht. Hab es aufgegeben mit dem Script. Scheint mit neueren Surveillance Station Version nicht mehr kompatibel zu sein. ` Also ich hab die Station v8.2 drauf. Bei mir im Heimnetz läuft alles wunderbar…

                                      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                                      PS: gerade WLAN vom Handy ausgeschaltet. Kamera tut es immer noch 🙂 (nutze Cloud Pro, keine Ahnung ob das damit zusammenhängt)

                                      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
                                      • hollywootH Offline
                                        hollywootH Offline
                                        hollywoot
                                        wrote on last edited by
                                        #84

                                        Ziemlich unbefriedigend 😄

                                        1 Reply Last reply
                                        0
                                        • K Online
                                          K Online
                                          Kueppert
                                          wrote on last edited by
                                          #85

                                          NACHTRAG: Update auf Version 6.2 führte auch bei mir dazu, dass das Skript nicht mehr funktioniert 😞

                                          2. NACHTRAG: Habe alles noch mal überprüft (inkl. SSS geöffnet und geschaut, ob Kamera noch da). Problem war, die hatte sich abgemeldet 😮

                                          …Strom raus, wieder rein, Skript läuft wieder und das Icon in VIS auch :mrgreen:

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

                                          217

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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