NEWS
Synology Surveillance Station API
-
Ich hab's. Ich Horst.
iobroker läuft bei mir auf 2 raspis im multihost modus. Telegram auf dem master, die js-Instanzen laufen auf dem slave.
Ihr ahnt es schon: die Datei snap.jpg wurde jedes Mal planmäßig von der Syno abgeholt und unter /tmp auf dem Slave gespeichert. Der Telegram-Adapter sucht auf dem Master unter /tmp, findet aber naturgemäß keine Datei.Habe nun ein fach eine js-Instanz auf dem Master hinzugefügt. Et voilà, alles läuft wie es soll.
Das erklärt auch eine Vielzahl von Problemen der letzten Wochen, warum diverse Skripts bei mir nicht liefen. :schäm:
Danke für Euren Support. -
@hollywoot said in Synology Surveillance Station API:
Update für alle:
mein System war scheinbar nicht ganz in Ordnung.
Zudem hatte ich node 10 installiert. Diese beiden Sachen zusammen haben scheinbar dazu geführt, dass ich die hier geposteten Skripte nicht nutzen konnte.Nachdem ich jetzt ioBroker sauber neu aufgesetzt habe, funktioniert alles wie es soll!
Ein riesiges Dankeschön geht raus an @dslraser, der sich stundenlang mit mir im TeamViewer hingesetzt hat um das Problem zu lösen. Alleine hätte ich wohl spätestens nach 4-5 Stunden wieder aufgegeben.Top!
Ich habe ähnliche Logs:
kannst Du @hollywoot oder @dslraser oder jemand anderes mir hier etwas weiterhelfen? heisst das ebenso, dass "mein System nicht ganz in Ordnung ist"?
Was genau waren denn die Probleme?Mein Skript sieht folgendermaßen aus - Vielen Dank hier an der Stelle an das Forum!!!!:
dazu gesagt sei: Ich bin absoluter Newbie und Anfänger, lese mich aber gerne ausgiebig ein und recherchiere aufwändig... dennoch: aller anfang ist schwer habt bitte Nachsicht mit mir...
Mein Ziel soll sein, dass bei einem Trigger (Alarmauslösung der Alarmanlage) zu einem Zeitpunkt x eine gewisse Anzahl an Screenshots von Kameras (Synology Surveillance Station) ab Zeitpunkt y-Minuten vor dem Zeitpunkt x bis z-Minuten nach x in eine Cloud (oder per Mail o.ä.) geschoben werden. Also z.B., dass im Alarmfall sekündliche Standbilder von Zeitpunkt 1 Minute vor dem Alarm bis 5 Minuten nach dem Alarm in die Dropbox gehen.
Möglich natürlich auch gleich als kompletter Stream, also Video jeder Kamera.Davon bin ich noch weit entfernt, aber das stell ich mir vor... und mit dem Skript von oben möchte ich erste Erfahrungen sammeln...
Vielleicht noch was zu meinem Set-up:
Raspberry Pi 3B+ (Raspbian Stretch with desktop and recommended software, wobei ich den Desktop und die Software bislang nicht nutze), ioBroker (u.a. Lupusec, javascript, pushover ), Synology DS, Surveillance Station, alles über LANBei Fragen, einfach her damit!
Danke für jede Hilfe...
-
@hobbycamper sagte in Synology Surveillance Station API:
Hi zusammen,
hat noch jemand @apollon77 Skript am laufen?
var request = require('request'); // Konfiguration var user = "XXXXXX"; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen var pass = "XXXXXXX"; // Passwort zu eben eingegebenem Benutzer var ip = "192.168.178.XXX"; // IP-Adresse eures Synology-NAS var port = XXX; // 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();
Lief monatelang ohne Probleme. Scheinbar nach irgend einem Update, entweder iobroker oder SurveillanceStation (aktuell 8.2.3-5828), kommt kein Bild mehr. Wenn ich die angelegte URL aus dem Datenpunkt in den Browser kopiere, kommt auch kein Bild.
Das wäre z.B. das Format des aktuellen Datenpunkt:http://192.168.178.XXX:XXX/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=ibdh4MDGQhITs1790QDN403203
Es kommt auch nicht "Seite nicht erreichbar", sondern der Browser sucht und sucht...
Es hilft auch kein Neustart des iobroker oder der synology.
Im Log kommt auch nichts ungewöhnliches:
javascript.0 2019-03-02 08:29:30.867 info script.js.common.Kamera: registered 0 subscriptions and 1 schedule javascript.0 2019-03-02 08:29:30.842 info Start javascript script.js.common.Kamera javascript.0 2019-03-02 08:29:30.828 info Stop script script.js.common.Kamera
Ist da jemand schon was bekannt?
LG
ThomasDie Problem habe (hatte) ich auch.
Snology hat mit dem Update auf die Surveillance Station 8.2.3-5828 die API verändert. Das Problem wird in den einschlägigen Foren auch diskutiert. Mittlerweile gibt es einen Fix in Form eines inoffiziellen Updates auf die 8.2.3-5829.Kann von hier runtergeladen werden:
https://supfiles.synology.com/sharing/oXkk1MptJDer Zugang ist passwortgeschützt. Gebe ich gern auf Chatanfrage weiter, da ich nicht weis ob ich das hier frei posten kann/darf.
-
Sauber von Dir!!!!
Läuft wieder!!
Danke!! -
@Samson71
Tipp top, hat wunderbar geklappt! Ich danke dir!!! -
Funktioniert bei mir auch!
Super. Danke!Ich musste nur erst meine Kamera ID herausfinden
Dazu einfach in der SSS einen Rechtsklick auf die Kamera unter "IP-Kameras",
Dann "Stream Pfad freigeben",
Dort steht dann am Ende der URL "...Sms=4.unicast", was bedeutet dass diese Kamera jetzt ID 4 hat. -
Hab gerade Anfrage zwecks Zugang gestellt, mal sehen ob es dann auch wieder bei mir läuft,
wär ja echt Klasse. -
Sehr geilLeute , es funzt wieder , vielen Dank an Samson71 für Unterstützung !!!!
-
@Samson71 sagte in Synology Surveillance Station API:
@hobbycamper sagte in Synology Surveillance Station API:
Hi zusammen,
hat noch jemand @apollon77 Skript am laufen?
var request = require('request'); // Konfiguration var user = "XXXXXX"; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen var pass = "XXXXXXX"; // Passwort zu eben eingegebenem Benutzer var ip = "192.168.178.XXX"; // IP-Adresse eures Synology-NAS var port = XXX; // 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();
Lief monatelang ohne Probleme. Scheinbar nach irgend einem Update, entweder iobroker oder SurveillanceStation (aktuell 8.2.3-5828), kommt kein Bild mehr. Wenn ich die angelegte URL aus dem Datenpunkt in den Browser kopiere, kommt auch kein Bild.
Das wäre z.B. das Format des aktuellen Datenpunkt:http://192.168.178.XXX:XXX/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=ibdh4MDGQhITs1790QDN403203
Es kommt auch nicht "Seite nicht erreichbar", sondern der Browser sucht und sucht...
Es hilft auch kein Neustart des iobroker oder der synology.
Im Log kommt auch nichts ungewöhnliches:
javascript.0 2019-03-02 08:29:30.867 info script.js.common.Kamera: registered 0 subscriptions and 1 schedule javascript.0 2019-03-02 08:29:30.842 info Start javascript script.js.common.Kamera javascript.0 2019-03-02 08:29:30.828 info Stop script script.js.common.Kamera
Ist da jemand schon was bekannt?
LG
ThomasDie Problem habe (hatte) ich auch.
Snology hat mit dem Update auf die Surveillance Station 8.2.3-5828 die API verändert. Das Problem wird in den einschlägigen Foren auch diskutiert. Mittlerweile gibt es einen Fix in Form eines inoffiziellen Updates auf die 8.2.3-5829.Kann von hier runtergeladen werden:
https://supfiles.synology.com/sharing/oXkk1MptJDer Zugang ist passwortgeschützt. Gebe ich gern auf Chatanfrage weiter, da ich nicht weis ob ich das hier frei posten kann/darf.
Hi,
könntest du mir den Zugang bitte zukommen lassen.
Ich habe das gleiche Problem. -
@totocotonio sagte in Synology Surveillance Station API:
könntest du mir den Zugang bitte zukommen lassen.
Hast PN.
Was ist eigentlich an dem Satz
@Samson71 sagte in Synology Surveillance Station API:
Gebe ich gern auf Chatanfrage weiter, da ich nicht weis ob ich das hier frei posten kann/darf.nicht zu verstehen?
-
@Samson71 Vielen Dank für deine Hilfe es funktioniert.
-
Hm,
bei mir läuft es leider immer noch nichtjavascript.0 script.js.common.SurveillanceStation.CameraEsszimmer: Error update SurveillanceStation Stream URL: SyntaxError: Unexpected token u in JSON at position 0
Jemand eine Idee, was das bedeutet?
-
@Samson71
Würdest du mir den Zugangscode auch bitte zusenden?
Vielen Dank im Voraus! -
@zahnheinrich sagte in Synology Surveillance Station API:
@Samson71
Würdest du mir den Zugangscode auch bitte zusenden?Hast ne Chatnachricht.
-
@Kueppert hab das Problem gefunden. Hatte https und port 5001. Wieder auf http und Port 5000 geändert - läuft wieder
-
Mit dem Update auf die Version 8.2.3-5829 funktioniert es bei mir auch wieder.
Danke @Samson71 -
Hallo zusammen,
ist das mit dem api-Code und dem Skript noch aktuell?
Ich bekomme leider über die URL vom Skript kein Bild angezeigt - nur über den RTSP-Stream über Freigabe und VLC funktioniert es bei mir.Der Snapshot haut hin...
Danke für die Rückinfo.
-
Das Script funktioniert und erstellt auch dann im Datenpunkt eine erzeugte URL.
Nur diese erstellte URL wird im VIS nicht angezeigt ,im Browser lädt sie endlos .......
nur im VLC wird einmalig mit der erstellten URL ein Standbild angezeigt .Daher nutze ich da Script nicht .
Bin auch nicht weiterkommen , aber mir reicht das Snapshot mit Intervall. -
danke dir für die schnelle Antwort.
Denke ich werde auch beim Intervall bleiben.eigentlich voll schade
-