FHEM Forum

FHEM => Sonstiges => Thema gestartet von: DS_Starter am 14 Dezember 2015, 16:19:08

Titel: 49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Dezember 2015, 16:19:08
Hallo zusammen,

ich habe diesen Thread geöfnet um hier Themen rund um das Modul 49_SSCam sowie den damit zusammenhängenden Fragen und Anregungen (Steuerung von Kameraoperationen in der Synology Surveillance Station) einen (Sammel)Platz zu bieten.

Eine Übersicht der gegenwärtig verfügbaren Kommandos sind in der Commandref (http://fhem.de/commandref_DE.html#SSCam) enthalten.

Auch das Wiki (http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station) enthält Informationen und Hilfen rund um das Modul. Das Wiki ist im Aufbau begriffen und wird immer wieder upgedatet.

Eigene Ergänzungen und Darstellungen von Lösungsszenarien für bestimmte Problemstellungen sind gern willkommen um den Wikieintrag auszubauen.

Die aktuellste Entwicklungsversion ist in contrib zu finden:

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter  (Downloadbutton benutzen)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: The-Holgi am 18 Dezember 2015, 15:38:41
Hallo,
erstmal besten Dank für das Modul.
Hat soweit alles auf Anhieb funktioniert und das Modul tut was es soll.
Schön wäre wenn ich von der Diskstation einen Push auf´s Handy bekommen würde, sobald die Aufnahme gestartet wurde.
Weiß zufällig jemand ob man das irgendwie in der SurveillanceStation aktivieren kann ? Habe da nichts gefunden.

Gruß Holgi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: eldrik am 18 Dezember 2015, 17:32:07
die Diskstation hat wohl irgendwo eine Synology Push Funktion, ob die aber auch für die Surveillence Station genutzt werden kann?

Leg dir doch ein notify an, welches auf das Event Start vom SSCam Record reading reagiert und nutze einen der via Fhem nutzbaren Push Dienste.

Greetz
Eldrik
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Dezember 2015, 08:52:26
Guten Morgen,
ja, ich denke die Variante von eldrik ist die wohl praktikabelste Lösung.

Es gibt zwar in der SS 7.1 eine Anwendung Benachrichtigungen -> Push-Dienst bzw. Benachrichtigungen -> Einstellungen -> Surveillance Station. Dort kann man für bestimmte Ereignisse eine EMail, SMS oder Mobile-Push aktivieren.

Aber die mit SSCam verwendeten Funktionen der SS Web API sind nicht dabei und wird demnach nicht funktionieren.  Später habe ich noch vor ein Modul zu bauen was speziell der Auslösung von Externen Ereignissen (1-10) dient.
Das würde noch einmal einen Flexibilitätsschub bringen weil in der SS externe Ereignisse dazu dienen, mehr oder weniger komplexe Aktionsregeln zu erstellen welche dann auch den Push-Dienst der SS verwenden könnten. Aber soweit bin ich noch nicht.

Danke für das Feedback .... freut mich dass es so prima klappt   :)
Titel: 49_SSCam: Schnappschüsse jetzt möglich
Beitrag von: DS_Starter am 19 Dezember 2015, 09:12:56
Hallo zusammen,

mit der angehängten neuen Entwicklungsversion können nun auch Schnappschüsse ausgelöst werden. Bevor ich sie einchecke könnt ihr sie auch jetzt hier schon runterladen und testen. Gebt bitte Feedback wenn euch etwas auffallen sollte.
Ich werde noch einige Werte die jetzt noch in den Internals sichtbar sind umbauen, damit sie dort verschwinden weil sie entweder dort nicht gewünscht oder einfach an der Stelle nicht benötigt werden.


Hier noch ein paar Beispiele der derzeitigen Möglichkeiten.

Es gibt zur Zeit folgende Optionen für "Set".

    "on"  :          startet eine Aufnahme. Die Aufnahme wird automatisch nach Ablauf der Zeit <RecordTime> gestoppt.
    "off" :           stoppt eine laufende Aufnahme manuell oder durch die Nutzung anderer Events (z.B. über at, notify)
    "snap":        löst einen Schnappschuß der entsprechenden Kamera aus und speichert ihn in der Surveillance Station

Ein Schnappschuß kann ausgelöst werden durch:


  set <name> snap

Wenn eine Reihe Schnappschüsse ausgelöst werden soll wenn eine Aufnahme startet, kann das z.B. durch folgendes notify geschehen.
Wird der Start der Kamera CamHE1 ausgelöst (vorher Attribut event-on-change-reading -> "Record" setzen), dann werden abhängig davon 3 Snapshots im Abstand von 2 Sekunden getriggert.


 define he1_snap_3 notify CamHE1:Record.*Start define h3 at +*{3}00:00:02 set CamHE1 snap

Triggern von 2 Schnappschüssen der Kamera "CamHE1" im Abstand von 6 Sekunden nachdem der Bewegungsmelder "MelderHE1" einen Event gesendet hat, kann z.B. mit folgendem notify geschehen (anpassen an eigene Umgebung):


 define he1_snap_2 notify MelderHE1:on.* define h2 at +*{2}00:00:06 set CamHE1 snap

Dabei wird die ID des letzten Snapshots als Wert der Variable "LastSnapId" in den Readings der Kamera ausgegeben.

Nachfolgend die unterstützten verbose-Modes.

        0   -   Start/Stop-Ereignisse werden geloggt
        1   -   Fehlermeldungen werden geloggt
        3   -   gesendete Kommandos werden geloggt
        4   -   gesendete und empfangene Daten werden geloggt
        5   -   alle Ausgaben zur Fehleranalyse werden geloggt. ACHTUNG: unter Umständen werden sehr viele Daten in das Logfile geschrieben!

Zur Anzeige der Drucktaste für einen Schnappschuß auf der Weboberfläche für die manuelle Nutzung bei gleichzeitiger Änderung der Bezeichnung:

  attr CamHE1 eventMap on:Start off:Stop snap:Snap
  attr CamHE1 webCmd Start:Stop:Snap

FHEM auf jeden Fall restarten.
Viel Spaß beim Testen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: chris1284 am 19 Dezember 2015, 09:54:48
kann ich über das modul alarmmeldungen der cam's abgreifen (bewegungserkennung der cams)?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Dezember 2015, 11:46:22
Zitat
kann ich über das modul alarmmeldungen der cam's abgreifen (bewegungserkennung der cams)?

Nein, dafür war/ist es nicht gedacht.
Es war gerade die sehr unbefriedigende Bewegungserkennung der Kameras und auch der Surveillance Station die zu der Idee dieses Moduls geführt hat.
Die in den Geräten eingebaute Bewegungserkennung bereitet sehr viel Fehlalarme, z.B. Helligkeitsänderungen von Scheinwerfern oder vorbeiziehende Wolken.

Aber man könnte so etwas wohl einbauen wenn die SS Web API diesen Abgriff ermöglicht. Das müßte man mal nachschauen und durchdenken.
Das würde aber auch nur funktionieren wenn man die Bewegungserkennung durch die SS machen läßt und nicht über die Kamera direkt.

Ist das so dein Ansatz ? Vielleicht kannst du noch etwas dazu erläutern wozu der Abgriff bei dir dienen würde.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 19 Dezember 2015, 12:33:01
Hallo DS_Starter!

Hab die neue Version Deines Moduls gerade getestet. Läuft alles wie von Dir beschrieben. Mal sehen, wie es sich nun anstellen lässt, die Schnappschüsse bei Bewegungserkennung über FHEM per Mail zu versenden.

Vielen Dank für das Modul. Das löst bei mir endlich das von Dir beschriebene Problem der äußerst unbefriedigenden Bewegungserkennung über die Kameras. Früher hatte ich teilweise mit hunderten Mails am Tag zu kämpfen, nur weil es bewölkt und windig war.

Ich freue mich schon auf alles, was Du noch so einbaust.


Schönes Wochenende.
Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: The-Holgi am 19 Dezember 2015, 12:51:35
Hallo,
Danke für die neue Version. Werde ich gleich mal testen. Zur Benachrichtigung werde ich dann pushover nutzen.

Gruß Holgi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: The-Holgi am 19 Dezember 2015, 13:08:54
habe gerade die neue Version getestet, soweit funktioniert alles. Nur im log diese Meldung:
2015.12.19 13:01:16 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/49_SSCam.pm line 227.
Gruß Holgi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Dezember 2015, 13:40:24
Hallo Holgi,

kommt die Meldung nur einmalig ?

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Dezember 2015, 13:45:06
Hallo DS_Starter!

Hab die neue Version Deines Moduls gerade getestet. Läuft alles wie von Dir beschrieben. Mal sehen, wie es sich nun anstellen lässt, die Schnappschüsse bei Bewegungserkennung über FHEM per Mail zu versenden.


Hallo Oli,
freue mich über deine Mitteilung .... wenn du mit dem Versand des Schnappschusses über FHEM-Mail etwas in Erfahrung gebracht hast dann lass es uns gerne wissen. Ich baue derweil am Modul weiter ....

Schönen 4. Advent !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: The-Holgi am 19 Dezember 2015, 13:57:56
Hallo,
ja die Meldung kam nur einmal, nachdem ich die neue Version installiert habe und ein shutdown restart ausgeführt hatte.
Nach wiederholtem shutdown restart ist die Meldung bis jetzt nicht mehr aufgetreten.

Gruß Holgi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Dezember 2015, 14:03:53
Ah... danke für die Rückinfo.
Dann weiß ich schon was ich bereinigen muß .... hat ein definierter Anfangswert für eine verwendete Variable gefehlt.
Fixe ich gleich und kommt mit der eingecheckten Version dann mit.

schönes WE !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: The-Holgi am 19 Dezember 2015, 14:10:30
Danke, wünsche ich auch und einen schönen 4. Advent.

Gruß Holgi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 19 Dezember 2015, 15:28:21
.... wenn du mit dem Versand des Schnappschusses über FHEM-Mail etwas in Erfahrung gebracht hast dann lass es uns gerne wissen.

Der Surveillance-Ordner auf dem NAS, in dem die Snapshots abgelegt werden, lässt sich auf dem Raspberry mounten. Anschließend lassen sich die Snapshots auch problemlos mit DebianMail o. ä. aus FHEM heraus versenden. Ich hab allerdings momentan noch keine Ahnung, wie ich an DebianMail übergebe, das aktuellste oder ein bestimmtes Bildzu senden. Die Snapshots werden bei mir mit dem Dateinamen Kameraname-Datum-Uhrzeit.jpg abgelegt. Reguläre Ausdrücke, wie "Kameraname.*.jpg" funktionieren nicht. Ich versuche weiter...

EDIT: Das Problem ist auch, dass sich die Anzahl der gespeicherten Snapshots im Surveillance-Ordner nicht genau begrenzen lässt. In der Surveillance Station kann man nur ein Speicherkontingent für den Ordner festlegen.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: eldrik am 21 Dezember 2015, 09:23:58
Der Surveillance-Ordner auf dem NAS, in dem die Snapshots abgelegt werden, lässt sich auf dem Raspberry mounten. Anschließend lassen sich die Snapshots auch problemlos mit DebianMail o. ä. aus FHEM heraus versenden. Ich hab allerdings momentan noch keine Ahnung, wie ich an DebianMail übergebe, das aktuellste oder ein bestimmtes Bildzu senden. Die Snapshots werden bei mir mit dem Dateinamen Kameraname-Datum-Uhrzeit.jpg abgelegt. Reguläre Ausdrücke, wie "Kameraname.*.jpg" funktionieren nicht. Ich versuche weiter...

EDIT: Das Problem ist auch, dass sich die Anzahl der gespeicherten Snapshots im Surveillance-Ordner nicht genau begrenzen lässt. In der Surveillance Station kann man nur ein Speicherkontingent für den Ordner festlegen.

Oli
Hi Oli,

wo befindet sich der Ablageort physisch auf deiner DS? Im Ordner surveillance bin ich nicht fündig geworden bzw. hab die jpgs wohl übersehen?

Greetz
Eldrik
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 21 Dezember 2015, 11:13:24
Hi Oli,

wo befindet sich der Ablageort physisch auf deiner DS? Im Ordner surveillance bin ich nicht fündig geworden bzw. hab die jpgs wohl übersehen?

Greetz
Eldrik

Bei mir liegen die Snapshots in /surveillance/@Snapshot. Die Ordnerstruktur hat die Surveillance Station so angelegt.

Oli
Titel: 49_SSCam: neue Funktion enable/disable von Kameras in Surveillance Station
Beitrag von: DS_Starter am 22 Dezember 2015, 16:15:46
Hallo miteinander,

habe etwas weiter gebaut und die Möglichkeit zum Deaktivieren / Aktivieren von Kameras eingefügt.

set <name> disable  -> deaktiviert die Kamera <name> in der Surveillance Station
set <name> enable   -> aktiviert die Kamera <name> in der Surveillance Station

Bei der Gelegenheit habe ich ebenfalls die Ablaufsteuerung verbessert, also wenn z.B. eine Aufnahme oder ein Schnappschuß gerade aktiv ist, kann die Kamera nicht disabled werden und wird erst durchgeführt wenn die Aktivitäteten beendet wurden.

Um eine Liste von Kameras zum Beispiel um 21:46 zu deaktivieren / zu aktivieren:

define a13 at 21:46 set CamCP1,CamFL,CamHE1,CamTER disable (enable)
Recht komfortabel gelingt das Deaktivieren/Aktivieren aller Kameras gleichzeitig über einen Dummy. Zunächst habe ich mir einen Dummy angelegt:
 
define allcams dummy
attr allcams eventMap on:enable off:disable
attr allcams room Cams
attr allcams webCmd enable:disable

Durch die Verknüpfung mit zwei angelegten notify jeweils für "enable" und "disable" kann man durch Schalten des Dummys auf "enable" bzw. "disable" (entweder manuell über die Weboberfläche, oder durch einen Event) alle Kameras zusammen aktivieren bzw. deaktivieren.

define all_cams_disable notify allcams:.*off set CamCP1,CamFL,CamHE1,CamTER disable
attr all_cams_disable room Cams

define all_cams_enable notify allcams:on set CamCP1,CamFL,CamHE1,CamTER enable
attr all_cams_enable room Cams

Eine komplette Konfiguration einer Kamera sieht bei mir beispielhaft so aus. Die devStateIcon habe ich verwendet, um in Abhängigkeit des Wertes von STATE entsprechend andere Icons für enable, disable, snap, on und off darzustellen. 

define CamHE1 <Server> 5000 apiuser <Passwort> Hauseingang 22
attr CamHE1 alias Hauseingang
attr CamHE1 devStateIcon .*isable:set_off .*nable:FS20.off .*nap:li_wht_on
attr CamHE1 event-on-change-reading Record,Error,Errorcode,LastSnapId,Availability
attr CamHE1 eventMap on:Start off:Stop snap:Snap enable:Enable disable:Disable
attr CamHE1 group Kameras
attr CamHE1 icon it_camera
attr CamHE1 room Cams
attr CamHE1 verbose 3
attr CamHE1 webCmd Start:Stop:Snap:Enable:Disable

# Aufnahmestart durch MelderHE1
define cam_he1_on notify MelderHE1:on.* set CamHE1 on
attr cam_he1_on room Cams

# 3 Schnappschüsse im Abstand von 4s getriggert durch MelderHE1
define he1_snap_3 notify MelderHE1:on.* define h3 at +*{3}00:00:04 set CamHE1 snap
attr he1_snap_2 room Cams

Viel Spaß beim Test der neuen Funktionen und gerne wieder Feedback wie es bei euch läuft oder wie ihr eure Konfigurationen aufgesetzt habt um die Funktionen von SSCam mit anderen Sensoren und Triggern zu verknüpfen. Es gibt da sicherlich interressante Variationen .....

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 22 Dezember 2015, 18:04:46
Ich dreh durch! Was für ein cooles Modul!

Nach erstem kurzen Testen funktioniert alles sehr gut. Ab und zu habe bei einer oder mehreren Kameras den Fehler

read from to http://diskstation:5000 timed out
Soweit ich das überblicke, passiert das aber nur, wenn ich alle Kameras (4 Stk.) mit regEx-Befehlen gleichzeitig ansteuere, z.B. mit

... set SSCam_.* on/off/enable/disable
Das war aber auch schon bei der letzten Version des Moduls der Fall. Ich werde mal sehen, ob ich da ein Muster finde.

Ansonsten wie gesagt ein wirklich tolles Modul, welches mir einen wirklichen Mehrwert bringt. Danke dafür.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 Dezember 2015, 18:19:14
Hi Oli Thx  :)

Ja schau mal ob du ein Muster findest.

Ich habe auch eine Vermutung. In dem Modul verwende ich Rudis HTTP_Utils wegen dem Non_blocking.
Bei diesen Aufrufen ist ein Timeout mitzugeben, den ich z.Zt. immer auf 5 Sekunden stehen habe.

Die Stelle sieht z.B. so aus (kommt oft im Script vor) timeout => 5 :

   # URL zur Abfrage der Eigenschaften von API SYNO.SurveillanceStation.ExternalRecording,$apicam
   $url = "http://$servername:$serverport/webapi/query.cgi?api=$apiinfo&method=Query&version=1&query=$apiauth,$apiextrec,$apicam,$apitakesnap";
   
   $param = {
               url      => $url,
               timeout  => 5,
               hash     => $hash,
               method   => "GET",
               header   => "Accept: application/json",
               callback => \&login_nonbl
            };
   
   # API-Sites werden abgefragt und mit Routine "login_nonbl" verarbeitet
   HttpUtils_NonblockingGet ($param); 

Du kannst ja mal probieren wie es ausschaut wenn du den Wert höher setzt.

Kannst auch mal verbose=4 einstellen und  im Log schauen ob es immer bei dem gleichen HTTP-Aufruf passiert.

Vielleicht macht es auch Sinn wenn ich diesen Parameter als Attribut programmiere, sodass man ihn als Nutzer anpassen kann. Wäre etwas fürs ToDo für mich.
Als Schnelllösung würde ich im Modul den Wert entsprechend anheben wenn du einen gefunden hast der auch bei dir gut funktioniert.

Was hast du denn für eine Syno ? Antwortet die vielleicht etwas träge bei vielen Anfragen ?
Freue mich auf deine Rückmeldung ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 22 Dezember 2015, 19:51:11
Hey, DS_Starter,

ich habe den Wert mal nach und nach bis 30 hochgesetzt. Als das keinen Erfolg brachte, habe ich ihn mal auf 100 gesetzt. Leider ebenfalls ohne Erfolg. Mindestens eine Kamera wirft immer den Timeout-Fehler aus.

Ich aktiviere die Kameras mittels DOIF. Als Workaround nutze ich jetzt erst mal das wait-Attribut, um die Kameras einzeln, im Abstand von einer Sekunde anzusteuern.

define di_cam_activate DOIF ([CamActivate] eq "alle") (set SSCam_Haustuer enable)(set SSCam_Kellertreppe enable)(set SSCam_Terrasse1 enable)(set SSCam_Garten enable) DOELSEIF ([CamActivate] eq "aus") (set SSCam_Haustuer disable)(set SSCam_Kellertreppe disable)(set SSCam_Terrasse1 disable)(set SSCam_Garten disable)
attr di_cam_activate wait 0,1,1,1:0,1,1,1

Das funktioniert erst mal ganz gut.

Ich habe eine DS212+. Ist zwar schon ein etwas betagteres Modell, aber doch recht performant.

EDIT: Man sollte auch gründlich lesen. Du hast geschrieben, dass der Wert für das Timeout an mehreren Stellen geändert werden muss. Habe ich natürlich nicht getan. Hole ich nach und melde mich noch mal.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 22 Dezember 2015, 21:04:45
Ich habe den Timeout-Wert jetzt an allen fünf Stellen auf "6" hochgesetzt und nun scheint es problemlos zu funktionieren. Entschuldige bitte noch mal die Verwirrung.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 Dezember 2015, 22:15:03
Hi Oli,

na sieht doch gut aus  :)  Bin zwar verwirrt, aber nur wegen des Whisky-Tasting bei dem ich gerade war  8)
Werde den Wert vor dem einchecken generell anpassen , aber heute nicht mehr.

Setze mir mal auf die Agenda diesen Wert per Attribut anpassbar zu machen.

Danke für dein Feedback !!!

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 23 Dezember 2015, 16:07:26
Ich platze vor Neugier, was Du noch so auf der Agenda hast... Was hast Du denn noch so für Ideen? Im Prinzip sind die Möglichkeiten ja nur durch die API begrenzt, oder?

Oli

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 Dezember 2015, 17:51:57
Hi Oli,

ja stimmt, ich greife auf die in der Web API beschriebenen Funktionen zu und versuche mir vorzustellen wie etwas sinnvoll in FHEM umgesetzt werden könnte.
Aber nur das was einen Mehrwert für uns bringt.

Über Weihnachten mache ich erstmal eine Pause, da ist die Familie dran.

Aber dann sind ein paar Sachen auf der Agenda, die jetzt nicht so viele Features ergänzen aber auch sinnvoll/wichtig sind, z.B.:

* Die Aufnahmedauer beim set mitgeben: set DEVICE start 5 (oder eben set DEVICE on 5)
* Standardaufnahmedauer per Attribut (nicht im Define) konfigurierbar machen. Diese wird verwendet, wenn beim set nichts angegeben wird
* Passwort nicht im Define mitgeben, sondern per set als key ablegen
* Port beim Define optional machen, falls er nicht von 5000 abweicht -> dürfte bei den meisten 5000 sein
* Timeout für HttpUtils als Attribut verfügbar machen


Weiterhin wäre es toll Schnappschüsse gleich mit den SS internen Prozessen zu versenden. Da habe ich in der Web API bis jetzt noch nichts brauchbares gefunden.
Und was auch nicht schlecht wäre, ist die Verwendung der rtsp-Multicaststreams der SS um die Cams Live in FHEM darzustellen.... zum Beispiel wenn geklingelt wird oder dgl.

Der ganz simple Aufruf im Browser klappt zwar, aber meine Versuche mit weblink iframe ....  waren nicht so gewaltig.  Es wird eine Anwendung (z.B. VLC) gestartet und nicht im Browser eingebettet.
Da gibt es bestimmt was besseres/ anderes....

Ich hoffe es finden sich noch ein paar Interressierte die gern etwas zum Modul beitragen möchten. Jeder ist gern willkommen Vorschläge und Lösungsansätze einzubringen.

Aber ich freue mich dass das Modul bei dir und auch Anderen so gut ankommt und hilfreich ist, das ist wirklich motivierend !  :)
Also immer gerne Ideen und Feedback liefern, ich versuche das Modul weiter zu verbessern soweit ich dazu in der Lage bin.

Jetzt erstmal wünsche ich dir bzw. uns allen ein paar schöne Weihnachtstage mit viel Erholung und neuen Eindrücken .....



 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 24 Dezember 2015, 00:08:36
Ja, das klingt auf jeden Fall spannend.

Besonders die Funktion, die Schnappschüsse FHEM-intern per Mail zu versenden wäre sehr interessant. Bisher löse ich das über das IPCAM-Modul, da man dort Einfluss auf die Namenskonvention der Schnappschüsse hat. Darüber lassen sich auch die PT-Funktionen und die IR-Leds der Kameras ansteuern, was auch sehr nette Möglichkeiten in Abhängigkeit von FHEM-Events mit sich bringt.

Eine Idee, die mir noch gekommen ist, wäre die Möglichkeit, das Modul für verschiedene SS-Versionen anpassbar zu machen. In der Art, dass man bei der Definition des Moduls gleich die entsprechende Version mit angibt. Ich kann mir vorstellen, dass ältere Diskstations nicht mehr mit den neueren Paketen kompatibel sind. Dein Modul läuft wegen der geänderten API ja momentan ausschließlich ab SS 7.x. Das wäre aber wahrscheinlich etwas, wenn man das Modul so gar nicht mehr verbessern könnte.

Ich wünsche Dir und Deiner Familie frohe Weihnachten.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 31 Dezember 2015, 08:40:11
Hallo zusammen,

ich habe doch die Zeit gefunden etwas an dem Modul weiterzuarbeiten.
Bis jetzt waren Funktionen integriert mit denen Befehle an die Synology Surveillance Station abgesetzt werden konnten. Gefehlt hat der Rückkanal, also die Abfrage von Kameraeigenschaften etc. 
Auch in Vorbereitung weiterer Änderungen und Verbesserungen habe ich das nun nachgeholt und eine Get-Funktion eingebaut.
Nun bekommt das Modul (neben anderen Informationen) mit, wenn eine Cam in der SS selbst (also nicht über FHEM) deaktiviert wird oder sich disconnected.  Damit es automatisch funktioniert, ist ein konfigurierbares Polling integriert welches über Attribut eingeschaltet werden kann.

Bei mir läuft es schon einige Zeit im Test und funktioniert prima.
Die neue Version ist angehängt und ich würde mich über euer Feedback freuen.
Vor allem würde mich interessieren wie sich die Performance von FHEM mit eingeschalteten automatischen Polling in anderen FHEM-Installationen darstellt.  Bei mir liegen die maximalen Laufzeitwerte beim Polling lt. apptime bei 23ms.

Leider habe ich nur eine PTZ-Kamera neben drei normalen Cams zum Test zur Verfügung. Fisheye-Cams habe ich nicht. Deswegen wäre es für mich auch interessant wie sich die Readings in euren Kameraumgebungen verhalten. Es sollten wesentliche Kennwerte dargestellt werden (alle sind nicht implementiert, stehe dazu auch noch mit Synology in Kontakt).

Hier nun noch ein Abriß der zu erweiternden Doku:

Mit SSCam können die Eigenschaften der Kameras aus der Surveillance Station abgefragt werden. Dazu steht der Befehl zur Verfügung:

Get <name> caminfoall
Abhängig von der Art der Kamera (z.B. Fix- oder PTZ-Kamera) werden die verfügbaren Eigenschaften ermittelt und als Readings zur Verfügung gestellt.
So wird zum Beispiel das Reading "Availability" auf "disconnected" gesetzt falls die Kamera von der Surveillance Station getrennt wird und kann für weitere Verarbeitungen genutzt werden.

Polling der Kameraeigenschaften:
Die Abfrage der Kameraeigenschaften erfolgt automatisch, wenn das Attribut "pollcaminfoall" (siehe Attribute) mit einem Wert > 10 gesetzt wird. Per Default ist das Attribut "pollcaminfoall" nicht gesetzt und das automatische Polling nicht aktiv. Der Wert dieses Attributes legt das Intervall der Abfrage in Sekunden fest. Ist das Attribut nicht gesetzt oder < 10 wird kein automatisches Polling gestartet bzw. gestoppt wenn vorher der Wert > 10 gesetzt war.

Das Attribut "pollcaminfoall" wird durch einen Watchdog-Timer überwacht. Änderungen des Attributwertes werden alle 90 Sekunden ausgewertet und entsprechend umgesetzt. Eine Änderung des Pollingstatus / Pollingintervalls wird im FHEM-Logfile protokolliert.

Der Status des automatischen Polling wird durch das Reading "PollState" signalisiert:

  PollState = Active     -    automatisches Polling wird mit Intervall entsprechend <pollcaminfoall> ausgeführt
  PollState = Inactive   -    automatisches Polling wird nicht ausgeführt

Neues Attribut:

* pollcaminfoall - Intervall der automatischen Eigenschaftsabfrage (Polling) einer Kamera (kleiner 10: kein Polling, größer 10: Polling mit Intervall)

Readings:

* Availability     - Verfügbarkeit der Kamera (disabled, enabled, disconnected, other)
* CamIP            - IP-Adresse der Kamera
* CamLiveMode      - Quelle für Live-Ansicht (DS, Camera)
* CamPort          - IP-Port der Kamera
* CamRecShare      - gemeinsamer Ordner auf der DS für Aufnahmen
* CamRecVolume     - Volume auf der DS für Aufnahmen
* CapAudioOut      - Fähigkeit der Kamera zur Audioausgabe über Surveillance Station (false/true)
* CapChangeSpeed   - Fähigkeit der Kamera verschiedene Bewegungsgeschwindigkeiten auszuführen
* CapPTZAbs        - Fähigkeit der Kamera für absolute PTZ-Aktionen
* CapPTZAutoFocus  - Fähigkeit der Kamera für Autofokus Aktionen
* CapPTZDirections - die verfügbaren PTZ-Richtungen der Kamera
* CapPTZFocus      - Art der Kameraunterstützung für Fokussierung
* CapPTZHome       - Unterstützung der Kamera für Home-Position
* CapPTZIris       - Unterstützung der Kamera für Iris-Aktion
* CapPTZPan        - Unterstützung der Kamera für Pan-Aktion
* CapPTZTilt       - Unterstützung der Kamera für Tilt-Aktion
* CapPTZZoom       - Unterstützung der Kamera für Zoom-Aktion
* DeviceType       - Kameratyp (Camera, Video_Server, PTZ, Fisheye)
* Error            - Meldungstext des letzten Fehlers
* Errorcode        - Fehlercode des letzten Fehlers
* LastUpdateTime   - Datum / Zeit der letzten Aktualisierung der Kamera in der Surrveillance Station
* PollState        - zeigt den Status des automatischen Pollings an
* Presets          - verfügbare voreingestellte Positionen (bei PTZ-Kameras)
* Record           - Aufnahme läuft = Start, keine Aufnahme = Stop
* UsedSpaceMB      - durch Aufnahmen der Kamera belegter Plattenplatz auf dem Volume


Viel Spaß beim Testen und einen guten Rutsch !

EDIT: SSCam - letzten Bearbeitungsstand angehängt.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: karl0123 am 31 Dezember 2015, 11:11:05
SSCam bringt mein FHEM um Absturz. Das ganze passiert immer einen unregelmäßigen Zeitraum, nachdem ich ein  SSCam-Device (neueste offizielle Version) definiert habe. Da ich keine anderen Änderungen am System vorgenommen habe, gehe ich davon aus, dass SSCam "schuld" am Absturz von FHEM ist. Alle Versuche, das zu debuggen, schlugen fehl. Ich habe sowohl verbose 5 im SSCam Device gesetzt, als auch in global. Das Log enthält jedoch keinerlei Hinweise.

Ich würde die Möglichkeit nicht ausschließen, dass hier irgendwelche nicht geschlossenen Timer oder eine Wechselwirkung mit einem anderen Modul existiert. Ich würde den Fehler gerne näher beschreiben, finde jedoch keine Möglichkeit, das ganze anderweitig zu debuggen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 31 Dezember 2015, 11:39:14
Hallo karl0123,

das ist natürlich schwierig wenn das Log überhaupt nichts enthält. Wenn du nach dem Absturz FHEM wieder startest kommt FHEM ohne Fehlermeldungen im Log wieder hoch ?
Und in den letzten Zeilen vor dem Neustart, quasi zum Zeitpunkt des Absturzes, steht auch nichts ?

In der Vergangenheit hatte ich Abstürze wenn die Antwort von der SS nicht im JSON-Format zurückkam. Aber diesen Fehler fange ich inzwischen ab und der würde sich auch im FHEM-Log vor dem Neustart des Systems wiederfinden.

Gibt denn das Betriebssystemlog etwas her ? 

(Die neueste Version von oben kannst du natürlich einmal testen)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: karl0123 am 31 Dezember 2015, 11:41:50
Wie schon geschrieben, gibt keines der Logs etwas her. Das Betriebssystemlog habe ich nicht explizit erwähnt. Kleiner Hinweis: Ich bin kein Anfänger in dem Bereich FHEM und hätte dir alles an Logs und Hinweisen geliefert, falls es welche gäbe. Leider gibt es keine. Ich finde es selbst blöd, dass ich so im dunkeln tappe. Ich wollte den Fehler auch ursprünglich erst melden, wenn ich das Problem identifiziert hätte, da ich aber nichts finde, dachte ich ich weise dann trotzdem mal darauf hin und eventuell gibt es noch andere mit dem Problem.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 31 Dezember 2015, 11:46:19
Danke auf jeden Fall für den Hinweis. Bis jetzt hat sich bei mir noch keiner mit demselben Problem gemeldet und davon berichtet.
Auf welchem BS läuft denn dein FHEM und welche Module verwendest du noch ?  Eventuell kann ich es versuchen nachzustellen falls ich die Möglichkeit dazu habe.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: karl0123 am 31 Dezember 2015, 11:50:36
Ubuntu 14.04.3 LTS

FHEM aktuell

Module:

Defined modules:
  AMAD            : 6
  CALVIEW         : 1
  CUL             : 1
  CUL_HM          : 311
  Calendar        : 1
  CustomReadings  : 1
  DOIF            : 1
  DbLog           : 3
  EGPM            : 12
  EGPM2LAN        : 3
  ENIGMA2         : 2
  FB_CALLLIST     : 2
  FB_CALLMONITOR  : 1
  FHEMWEB         : 7
  FRITZBOX        : 1
  FS20            : 7
  FileLog         : 3
  GUEST           : 5
  HMLAN           : 4
  HMinfo          : 1
  HTTPMOD         : 10
  IPCAM           : 5
  JeeLink         : 1
  LaCrosse        : 10
  NUT             : 1
  PRESENCE        : 25
  Pushover        : 1
  RESIDENTS       : 1
  ROOMMATE        : 2
  RandomTimer     : 2
  SB_PLAYER       : 5
  SB_SERVER       : 1
  SVG             : 24
  SYSMON          : 1
  TRX             : 1
  TRX_SECURITY    : 1
  TRX_WEATHER     : 5
  Text2Speech     : 5
  Weather         : 1
  WeekdayTimer    : 5
  YAMAHA_AVR      : 3
  allowed         : 8
  at              : 46
  autocreate      : 1
  cmdalias        : 20
  dewpoint        : 4
  dummy           : 59
  eventTypes      : 1
  fronthem        : 1
  fronthemDevice  : 12
  logProxy        : 1
  mailcheck       : 1
  notify          : 68
  rain            : 1
  readingsGroup   : 15
  readingsHistory : 5
  readingsProxy   : 6
  sequence        : 5
  statistics      : 4
  structure       : 3
  telnet          : 1
  watchdog        : 19
  weblink         : 19
  weekprofile     : 1
  yowsup          : 3

Ich denke, das könnte eine schwierige Aufgabe sein ;) Ich werde in den nächsten Tagen wohl einmal versuchen, das ganze auf meinem Testsystem nachzustellen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 31 Dezember 2015, 11:59:10
Guten Morgen! Hallo, DS_Starter!

Danke für die neuen Funktionen.
Zitat
SSCam bringt mein FHEM um Absturz.
Bei mir scheint FHEM nicht abzustürzen, sondern wird eher komplett blockiert. Jedenfalls gibt die Konsole die Auskunft, dass der Dienst noch läuft. Nur das WEBUI ist nicht mehr bedienbar. Darum kann ich apptime auch nicht ausführen.
Attr pollcaminfoall hatte ich auf 11 gesetzt. Nach Entfernen des Attributes in der fhem.cfg über ssh läuft es wieder stabil. Ich hoffe, ich komme heute oder morgen noch dazu, ein bisschen zu probieren und mir die Logs anzuschauen. Melde mich dann wieder.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 31 Dezember 2015, 12:10:29
Zitat
Ich denke, das könnte eine schwierige Aufgabe sein ....

Oops.... das sehe ich genauso  :)
Ja schauen wir mal was dein Testsystem sagt ... guten Rutsch !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 31 Dezember 2015, 12:15:44
Hi Oli,

wie sieht es denn aus wenn du "get <name> caminfoall" manuell ausführst ..... klappt das bei dir ?

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 31 Dezember 2015, 12:45:29
wie sieht es denn aus wenn du "get <name> caminfoall" manuell ausführst ..... klappt das bei dir ?

Ja, das funktioniert problemlos. Ich versuche gerade mal das Polling Attribut für nur eine Kamera zu setzen und dann zu schauen, was die Logs und apptime sagen.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 31 Dezember 2015, 13:59:51
Keine Chance! Hab jetzt nur mal eine Kamera mit dem Attribut pollcaminfoall 11 versehen, FHEM fängt dann an zu hängen und raucht irgendwann ab. Ich konnte apptime kurz laufen lassen.
Das Ganze läuft bei mir auf einem Pi2 mit recht aktuellem Raspbian und aktuellem FHEM.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 01 Januar 2016, 11:33:03
Hallo zusammen und ein gesundes neues Jahr mit viel Gesundheit !

Oli, mir ist etwas eingefallen.
SSCam habe ich komplett auf HttpUtils_NonblockingGet umgestellt. Die URL-Calls sind nicht mehr blockierend, wohl aber noch DNS-Abfragen.

Ich hatte auch noch teilweise Hostnamen statt IP-Adressen für die DS in den Kamera Defines eingetragen und habe diese jetzt komplett auf IP-Adressen umgestellt. Muß ich auch noch in der Doku zum Modul ändern habe ich gerade bemerkt.
Mit der neuesten Messung über Apptime komme ich nun auf max-Werte von 1ms, dabei habe ich ebenfalls ein Pollinterval von 11s für 2 Kameras eingestellt.

Du hattest doch auch bereits Schwierigkeiten mit dem Standard-Timeoutwert für HttpUtils_NonblockingGet ... vielleicht gibt es da einen Zusammenhang.
Ändere doch mal bitte die Kamera-Defines auf IP-Adressen statt Hostnamen der DS, falls noch nicht passiert.
Und versuche auch mal bitte den Pollingwerte deutlich hochzusetzen, z.b. 900.

Schauen wir mal wie es dann aussieht....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 01 Januar 2016, 11:52:22
Guten Morgen, DS_Starter und ein frohes neues Jahr!

Das scheint es gewesen zu sein. Läuft jetzt schon einige Minuten, ohne zu blockieren. Sehr gute Arbeit!
Soll ich den Polling-Wert wieder runtersetzen? Welcher Wert ist da sinnvoll? Ist das der Zeitintervall in Millisekunden, in dem das Modul sich die Infos der Kameras holt?

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 01 Januar 2016, 13:50:13
Hi Oli,

deine max-Zeiten für SSCam-Operationen sind auch deutlich reduziert wenn ich das richtig sehe.

Was einen sinvollen Pollingwert betrifft bin ich der Meinung ihn nur so weit runter zu setzen wie man ihn für die weitere Verarbeitung braucht. Im Moment werte ich im Modul die ausgelesenen Werte nicht weiter aus, bis auf den Status.
Aber es soll in die Richtung gehen zum Beispiel bei PTZ-Kameras die voreingestellten Cam-Positionen (Presets) oder Überwachungstouren auszulesen (was schon passiert) und dann für "Set" zur Verfügung zu stellen. Also wenn Fenster / Tür - Melder Event meldet drehe Cam auf Position x.

Die voreingestellten Infos sind aber auch recht statisch, sodass meiner Meinung nach ein langes Pollintervall zur Aktualisierung ausreicht. Ich lasse es erst einmal pro Cam bei 1800s.
Letzendlich belastet das Polling FHEM und das würde ich nicht mehr als nötig strapazieren. Hängt ja auch von der verwendeten Hardware ab. Aber ich werden auch noch etwas experimentieren.
Festgestellt habe ich auch, dass die Synology die SS kurz stoppt wenn man das Anwendungs-Backup eingeplant hat. Wenn in der Zeit Anfragen an die SS laufen kommt es zwangsläufig zu Fehlermeldungen.

Der Wert für pollcaminfoall ist Sekunden, d.h. 900 wäre ein Intervall von 15 Minuten in dem die Infos geholt werden.

Schau mal bitte was deine (PTZ)-Kameras für Readings liefern und ob das schlüssig ist. Kann sein dass vielleicht Infos fehlen, Synology hat diese Funktion leider nicht in eine einzige API gelegt, sondern stellt etliche APIs dafür zur Verfügung die ich alle abfragen muß um die Readings zu sammeln.
Dadurch summieren sich die Verarbeitungszeiten der Http-Calls.
Könnte mir vorstellen dass es ungünstig ist wenn das Pollingintervall kleiner ist als die Summe aller Http-Call Verarbeitungszeiten.

Ich weiß nicht wie man das Intervall besser als durch Tests und Iteration  in seiner eigenen Umgebung ermitteln kann.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 01 Januar 2016, 14:48:48
Ah, ok, verstanden.

Ja, momentan habe ich für die Readings auch noch keine sinnvolle Verwendung. Selbst für den Status nicht, da ich die Kameras nur noch aus FHEM heraus aktiviere und deaktiviere. Deshalb werde ich das Polling bei mir vorerst deaktivieren. Wenn es dann jedoch irgendwann in Richtung PTZ-Steuerung der Kameras in Abhängigkeit von FHEM-Events geht, wird es auch für mich interessant. Da eröffnen sich dann wieder jede Menge Spielmöglichkeiten.

Die Readings meiner PTZ-Cams sind allesamt schlüssig, soweit ich das sehe.

Hast Du über die API eigentlich auch Zugriff auf die IR-LEDs der Kameras? Bei meinen Billig-Foscams kommt es öfter vor, dass die sich selbst neu starten. Dann sind immer die IR-LED eingeschaltet, was bei mir blöd ist, weil die Kameras hinter den Fenstern angebracht sind.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 01 Januar 2016, 16:32:49
Zitat
Hast Du über die API eigentlich auch Zugriff auf die IR-LEDs der Kameras?

Bin mir nicht sicher. Es gibt eine Funktion die das möglicherweise erledigen kann (Nachtmode/Tagmode-Umschaltung). Muß ich mal probieren.
Wenn nicht ... ich stehe mit Synology eh noch wegen Fragen bzw. Unstimmigkeiten/Problemen  mit der Web API in Verbindung und könnte es mit anbringen. Fragen kostet ja nichts.

Zum Verständnis .... die IR-LEDs "ein" heißt , die Cam startet quasi im Night-Mode sonst wären die ja nicht an, richtig ?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 01 Januar 2016, 17:06:49
Zum Verständnis .... die IR-LEDs "ein" heißt , die Cam startet quasi im Night-Mode sonst wären die ja nicht an, richtig ?

Also bei meinen Foscams ist es so, dass diese abhängig von der Dämmerung in den Night-Mode schalten. Heißt, die IR-LEDs gehen dann an. Man kann die LEDs aber auch über das WEBUI der Cams ausschalten. Dann sind sie so lange aus, bis die Kamera neu gestartet wird, oder man die LEDs eben wieder manuell einschaltet.
LEDs ein => LEDs gehen bei Dämmerung an, bei Tageslicht aus
LEDs aus => LEDs sind immer aus, auch bei Dämmerung

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Fredi69 am 01 Januar 2016, 23:52:47
Ich bekomme bei der Nutzung des SSCam Modul den Fehler "Camera(ID) not found in Surveillance Station".
Der Name der Cam wurde kopiert!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 02 Januar 2016, 07:44:15
Ich bekomme bei der Nutzung des SSCam Modul den Fehler "Camera(ID) not found in Surveillance Station".
Der Name der Cam wurde kopiert!


Das sind zu wenige Informationen, um wirklich eine qualifizierte Aussage zu treffen. Du hättest mindestens deinen Kameranamen angeben sollen, besser aber ein list von deinem SSCam Device.

Mein Tipp: Umlaute oder andere Zeichen im Namen der Kamera, die nicht erlaubt sind.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Fredi69 am 02 Januar 2016, 11:41:38
Hier mein List:
Internals:
   CAMNAME    WZHTIP211
   CFGFN
   DEF        192.168.0.50 5000 User Password WZHTIP211 30
   NAME       WZ_HooToo_HT_IP211
   NR         6124
   OPMODE     Enable
   RECTIME    30
   SERVERNAME 192.168.0.50
   SERVERPORT 5000
   STATE      ???
   TYPE       SSCam
   USERNAME   User
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMMAXVER 7
     APICAMPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     PASSWORD   Password
     SID        Ng0KHLTZiXarc14B0LTN409803
   Readings:
     2016-01-01 22:11:56   Availability
     2016-01-01 22:12:35   Error           Camera(ID) not found in Surveillance Station
     2016-01-01 22:12:35   Errorcode       none
     2016-01-01 22:11:56   Record          Stop
Attributes:
   room       Wohnzimmer
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 02 Januar 2016, 12:36:17
Das sieht eigentlich alles normal aus.
Setze doch mal bitte für das Device den verbosemode = 5 und poste uns das Log ab "Begin Function getcamid":

...................................................
2016.01.02 12:04:11 4: CamCP1_test - --- Begin Function getcamid nonblocking ---
2016.01.02 12:04:11 4: CamCP1_test - URL-Call: http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=7&method=List&session=SurveillanceStation&_sid="9OuBd1DV3AMe214A0MIN235902"
2016.01.02 12:04:11 5: CamCP1_test - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), ................

Das kann ziemlich viel sein, deswegen wahrscheinlich am Besten in ein File packen und am Post anhängen.

Hast du noch weitere Cams definiert und wie sieht es bei diesen Devices aus ?

Testweise habe ich gerade eine Kamera bei mir ebenfalls so genannt wie deine (WZHTIP211) und diverse Funktionen durchgespielt ..... ohne Probleme.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Fredi69 am 02 Januar 2016, 13:11:17
2016.01.02 13:08:42 4: WZ_HooToo_HT_IP211 - --- Begin Function getcamid nonblocking ---
2016.01.02 13:08:42 4: WZ_HooToo_HT_IP211 - URL-Call: http://192.168.0.50:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=7&method=List&session=SurveillanceStation&_sid="Ug9FnWdYlX6U614B0LTN409803"
2016.01.02 13:08:42 5: WZ_HooToo_HT_IP211 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'timestamp' => '1451736521',
                      'cameras' => [],
                      'delcam' => [],
                      'total' => 0,
                      'existCamMntTypeMap' => undef,
                      'keyUsedCnt' => 1
                    }
        };

2016.01.02 13:08:42 1: WZ_HooToo_HT_IP211 - ERROR - Cameraname WZHTIP211 wasn't found in Surveillance Station. Check Cameraname and Spelling.
2016.01.02 13:08:42 4: WZ_HooToo_HT_IP211 - --- End Function getcamid nonblocking with error ---
 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 02 Januar 2016, 13:20:13
Ja , das Modul kann nichts finden weil von deiner SS auch nichts geliefert wird.

Normal sieht es so ungefähr aus (und sehr viele weitere Infos):

2016.01.02 12:27:23 5: CamCP1_test - JSON returned: $VAR1 = {
          'data' => {
                      'delcam' => [],
                      'timestamp' => '1451734043',
                      'existCamMntTypeMap' => undef,
                      'cameras' => [
                                     {
                                       'status_flags' => 0,
                                       'blLiveviewPriv' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
                                       'video_mirror' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ),
                                       'deviceType' => 1,
                                       'setDOCap' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'recStatus' => 0,
                                       'autoFocus' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'dsPort' => 5000,
                                       'presetNum' => 0,
......................

Vermutung von mir ist, dass der von dir verwendete User im DSM nicht Mitglied der Admin-Gruppe ist bzw. er keine ensprechenden Rechte hat sich die Infos auslesen zu lassen.
Checke das mal bitte.
Und schau auch mal in die SS rein ob die Kamera dort wirklich verfügbar und funktionierend ist ..... ich weiß, ist trivial aber man weiß ja nie  ;)

In dem Wert 'total' steht die Anzahl der in SS verfügbaren Cams drin, bei dir 'total' => 0 .
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Fredi69 am 02 Januar 2016, 20:38:34
Vielen Dank, es war die fehlende Admin-Gruppe, obwohl ich mir sicher war die hinzugefügt zu haben. Habe der Gruppe nochmals den User hinzugefügt und es lief. Danke, nochmals.
Titel: Flexibilisierung Aufnahmezeit <Recordtime>
Beitrag von: DS_Starter am 05 Januar 2016, 00:44:27
Hallo zusammen,

ich habe auf meiner ToDo-Liste einen Punkt, den man mit Flexibilisierung der Aufnahmezeit beschreiben könnte.

Der Hintergrund ist, dass zur Zeit die Aufnahmezeit in den Defines festgelegt ist und man das Define ändern muß um die Aufnahmezeit zu ändern. Das ist so recht unflexibel und nicht unbedingt "state of the art".

Um das zu ändern und inspiriert durch marvin78 (danke marvin)  habe ich vor, die Nutzung der Aufnahmezeit wie folgt anzupassen:

     Wir nehmen die Rectime komplett aus dem Define raus und ersetzen "set <name> on" durch "set <name> on-for-timer <Rectime>". 
    <Rectime> ist  hier  optional  ---> d.h.  wenn die Variable nicht beim Befehl angegeben ist,  wird mit einem Standardwert gearbeitet
    den ich beim ersten Define als Attribut definiere und der kameraspezifisch vom Nutzer dauerhaft in den Attributen geändert werden kann.

    Das hat den Charme dass es sich in das FHEM Vokabular gut einreiht (on-for-timer).

    Gleichzeitig würde ich das bisherige "set <name> on"  auf eine dauerhafte Aufzeichnung umstellen, die mit "set <name> off"  wieder abgeschaltet     
    werden kann.
    Eine solche Funktion ist für den einen oder anderen Fall sicherlich auch wünschenswert zumal es sie  in der SS auch gibt.

Daneben reduziert sich das Define für die Cams, was mir für die weiteren Vorhaben in Richtung Verbannung User/Passwort von dieser Stelle sehr gefällt.

Was sagt ihr zu diesem Vorhaben bzw. dieser Änderung ?  Können wir hier gerne mal diskutieren. Nach dem Update des SSCam-Moduls müßte der Nutzer seine Cam-defines und notifies usw. anpassen.

Aber ich denke das hat Charme ....

Viele Grüße
   
     
     
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 05 Januar 2016, 07:44:45
Ich hatte dir ähnliches ja schon vor einiger Zeit vorgeschlagen. Die Umsetzung per on-for-timer finde ich gut. Eventuell helfen da die setExtensions von fhem.

Allerdings hätte die Passwort-Sicherheit in meinen Augen Priorität ;)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 05 Januar 2016, 08:28:36
Ja, baut auf deinen Vorschlägen auf  :)
An die Passwortgeschichte will ich dann auch zügig rangehen, versuche den Define-String quasi von hinten aufzuräumen.  Blöderweise habe ich zwischen Passwort und Rectime den Kameranamen drin den man nun auf jeden Fall im Define haben muß.
Hab da hin und her überlegt wie am Besten programmtechnisch angehen und fand dies als ersten Schritt eine gute Vorgehnsweise.

Die setExtensions muß ich mir mal anschauen was die machen und wie die hier nützlich sein könnten.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 05 Januar 2016, 08:57:41
Guten Morgen!

Klingt für mich alles nach einem guten Plan.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 05 Januar 2016, 21:17:05
Hi.
Habe heute das Modul eingerichtet, da ich damit zum einen meine Kameras bei Feier ausschalten wollte und sonst als Bewegungsmelder-Ersatz nutzen wollte.
Leider ändert sich bei mir der Status von Record nicht, sondern bleibt bei "Stop".

Muss ich die Readings pollen oder aktualisieren dieses sich automatisch?

Danke für die Hilfe
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 05 Januar 2016, 22:36:43
Hi Oli82,

für die von dir benutzten Funktionen brauchst du das Polling normalerweise nicht.
Die Readings wie Error, Errorcode, Availability, Record aktualisieren sich automatisch. Hast du "attr WEB longpoll 1" gesetzt bzw. das Attribut event-on-change-reading: Record,Error,Errorcode,LastSnapId,Availability gesetzt ?
Ändert sich denn der Status wenn du den Browser manuell aktualisierst wenn einen Aufnahme läuft ?

Kannst du näher beschreiben wie du welche Aktivität auslöst und auch ein list von einer deiner Kameras bzw. einen Auszug aus deinem Log ?

Das Problem ist für mich momentan nicht so richtig greifbar.....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 05 Januar 2016, 23:04:25
Danke für die schnelle Antwort
Hast du "attr WEB longpoll 1" gesetzt bzw. das Attribut event-on-change-reading: Record,Error,Errorcode,LastSnapId,Availability gesetzt ?
Ändert sich denn der Status wenn du den Browser manuell aktualisierst wenn einen Aufnahme läuft ?

Kannst du näher beschreiben wie du welche Aktivität auslöst und auch ein list von einer deiner Kameras bzw. einen Auszug aus deinem Log ?
Longpoll und event-on-change-reading waren bereits gesetzt

Im Moment laufe ich einfach in die Kamera und schaue auf der DS ob die Aufnahme startet.
Wenn Sie dann gestartet ist, aktualisiere ich vorsorglich die Fhem Ansicht. Lieder ändert sich dann der Status nicht.

Im Anhang die Readings, sobald ich "get Doorcam caminfoall" ausführe.

Hier das Listing:
Internals:
   CAMID      1
   CAMNAME    Doorcam
   CHANGED
   DEF        192.168.xxx.xxx xxxx xxxxxxxxx xxxxxxxxxxxx Doorcam 10
   NAME       DoorCam
   NR         271
   OPMODE     Getcapabilities
   RECTIME    10
   SERVERNAME 192.168.xxx.xxx
   SERVERPORT xxxxx
   STATE      off
   TYPE       SSCam
   USERNAME   
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMMAXVER 7
     APICAMPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     OLDVALPOLLNOLOGGING 0
     PASSWORD   
   Readings:
     2016-01-05 23:00:03   Availability    enabled
     2016-01-05 23:00:03   CamIP           192.168.xxx.xxx
     2016-01-05 23:00:03   CamLiveMode     Liveview from DS
     2016-01-05 23:00:03   CamPort         80
     2016-01-05 23:00:03   CamRecShare     surveillance
     2016-01-05 23:00:03   CamRecVolume    volume1
     2016-01-05 23:00:05   CapAudioOut     0
     2016-01-05 23:00:05   CapChangeSpeed  0
     2016-01-05 23:00:05   CapPTZAbs       0
     2016-01-05 23:00:05   CapPTZAutoFocus 0
     2016-01-05 23:00:05   CapPTZDirections 0
     2016-01-05 23:00:05   CapPTZFocus     false
     2016-01-05 23:00:05   CapPTZHome      0
     2016-01-05 23:00:05   CapPTZIris      false
     2016-01-05 23:00:05   CapPTZPan       false
     2016-01-05 23:00:05   CapPTZTilt      false
     2016-01-05 23:00:05   CapPTZZoom      false
     2016-01-05 23:00:03   DeviceType      Camera
     2016-01-05 23:00:05   Error           none
     2016-01-05 23:00:05   Errorcode       none
     2016-01-05 23:00:03   LastUpdateTime  05.01.2016 / 22:04:41
     2016-01-05 22:59:57   PollState       Inactive
     2016-01-05 20:57:51   Record          Stop
     2016-01-05 23:00:03   UsedSpaceMB     0.142
Attributes:
   event-on-change-reading Record,Error,Errorcode,LastSnapId,Availability
   icon       it_camera
   room       06_Cam
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 05 Januar 2016, 23:21:35
Ah, jetzt habe ich verstanden denke ich.

Der Ansatz für SSCam ist ein bisschen anders als von dir verwendet.  Das Modul wertet nicht aus wenn die KAMERA eine Bewegung erkennt, sondern es führt Aktivitäten wie Aufnahmen, Schnappschüsse aus, wenn Sensoren wie z.B. IR-Bewegungsmelder, Fenster / Tür -Melder eine Aktivität feststellen. Das passiert dann gewöhnlich über ein FHEM-Notify.

Es können auch diverse Aktivitäten (Aufnahme starten, Enable, Disable) über Befehle "set <name> on" usw. ausgelöst werden.
Schau dir dazu auch die commandref oder Device specific help an.

Durch das Modul sollte eben die immer wieder unbefriedigende Bewegungserkennung der Kameras durch Mechanismen der Hausautomatisisierung abgelöst werden.

Der Status solte sich also ändern wenn du die Kamera durch "set <name> disable" bzw. "set <name> enable"  deaktivierst / aktivierst.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 06 Januar 2016, 09:37:17
Schade.
Ich ging davon aus, dass durch die API Funktion auch der Status der Kamera permanent übergeben wird. also auch, wenn z.b. eine WLan Cam getrennt wurde usw.
Dann muss ich das anders lösen ;)

Danke trotzdem für die schnelle Hilfe und Klarstellung.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Januar 2016, 11:10:51
Schade.
Ich ging davon aus, dass durch die API Funktion auch der Status der Kamera permanent übergeben wird. also auch, wenn z.b. eine WLan Cam getrennt wurde usw.
Dann muss ich das anders lösen ;)

Danke trotzdem für die schnelle Hilfe und Klarstellung.

Ich hab das bisher mit dem Modul "mailcheck" gelöst. Die SS verschickt ja bei einigen Ereignissen, wie bsw. Kamera getrennt, eine Mail. Über mailcheck kann man dann beim Eintreffen einer Mail mit einem bestimmten Betreff in FHEM Aktionen auslösen. Ist zwar auch nur eine Krücke, aber funktionierte bisher ganz gut.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Januar 2016, 16:19:54
Zitat
Ich ging davon aus, dass durch die API Funktion auch der Status der Kamera permanent übergeben wird. also auch, wenn z.b. eine WLan Cam getrennt wurde

Also DIESER Status wird übertragen wenn man das Polling aktiviert. Es ist der Wert von "Availability", siehe auch http://fhem.de/commandref_DE.html#SSCamreadings.

Nur wird nicht der Status geändert wenn die KAMERA eine Bewegungserkennung signalisiert, das stand nicht im Fokus dieser Lösung.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Januar 2016, 21:40:57
Guten Abend zusammen,

inzwischen habe ich die Funktion zur Flexibilisierung der Aufnahmezeit umgesetzt. (#51)
Allerdings habe ich mich doch entschlossen zum Starten bei "on" zu bleiben statt "on-for-timer". Es war mir einfach zu heiß ungewollt eine Endlosaufnahme zu starten die die Platte der DS zumüllt. Aber diese Funktion gibt es nun dennoch, nur etwas anders gelöst.

Hier sind die Neuerungen zusammengefasst:

 - die rectime im define-String (letzte Stelle) wird nicht mehr ausgewertet und kann / soll gelöscht werden
 - bei Restart des Systems nach dem SSCam-Update wird zunächst eine Default-Recordtime von 15 s der Kamera zugewiesen. Gleiches gilt
   bei der Neuanlage einer Kamera.
 - über ein neues Attribut "rectime" kann der Nutzer den Standardwert der Aufnahmedauer jeder Kamera frei anpassen.
 - der Wert "0" für "rectime" führt zu einer Endlosaufnahme die durch "set <name> off" gestoppt werden muß. Ein Logeintrag mit entsprechenden     
   Hinweis auf diesen Umstand wird geschrieben.
 - mit dem Befehl "set <name> on [rectime]" wird die Aufnahmedauer temporär festgelegt und überschreibt einmalig sowohl den Defaultwert als
   auch das Attribut "rectime". Auch hier führt "set <name> on 0" zu einer Daueraufnahme
 - wird das Attribut "rectime" gelöscht greift der Default-Wert (15s) für die Aufnahmedauer

Die neue Version hänge ich wieder hier an damit ihr sie vorab testen könnt. Nur die Dokumentation muß ich noch überarbeiten/anpassen.

Danach werde ich mich der Änderung der Credential-Speicherung zuwenden und komme zu dem Thema bestimmt auf dich zu marvin78....

Wünsche euch viel Spaß beim Test und Einsatz .....


   
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 14 Januar 2016, 23:03:58
Hallo Heiko,

hab's kurz angetestet. Läuft auf den ersten Blick alles wie beschrieben bei mir. Danke für Deine Arbeit.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Januar 2016, 23:15:39
Danke für deine Rückmeldung Oli ..... gute Nacht ..
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: dott.olivero am 18 Januar 2016, 15:30:59
Wowww, nach einem solchen Modul hatte ich vor ca. 2 Monaten lange gesucht und mir dann mit den APIs und der leider nicht aktuellen Dokumentation selbst eine Lösung gebastelt.
Diese habe ich soeben unter Synology Surveillance Station: Aufnahmen und Kamerasteuerung (http://forum.fhem.de/index.php/topic,47744.msg394039.html#msg394039) beschrieben.

Vielen Dank für das neue Modul, DS_STARTER!

Bei der Verwendung dieses Moduls erhalte ich die Fehlermeldung:
ERROR - Login of User surveillance_user unsuccessful. Errorcode: 402 - Permission denied
Das ist merkwürdig, da der gleiche User mit meiner Bastellösung, die ja die gleiche API nutzt, Berechtigung hat.
Ich habe auch den "_" aus dem Kameranamen entfernt - keine Abhilfe.
Ich habe mir dann mal den Source Code angesehen. Die Zeile 915 der letzten Version bzw. 907 der im Feed verfügbaren Version habe ich geändert (Anführungszeichen sid gelöscht - dürfte aber egal sein und '&session=SurveillanceStation' hinzugefügt.
$url = "http://$serveraddr:$serverport/webapi/$apiauthpath?api=$apiauth&version=$apiauthmaxver&method=Login&account=$username&passwd=$password&format=\"sid\"";
nach
$url = "http://$serveraddr:$serverport/webapi/$apiauthpath?api=$apiauth&version=$apiauthmaxver&method=Login&account=$username&passwd=$password&format=sid&session=SurveillanceStation"; 
Und schon gehts  :)

Hardware: Synology DS214play (auf jener läuft auch FHEM)
Firmware: DSM 5.2-5644 Update 1
Surveillance Station: 7.1-4110

Eine Idee, woran das liegen könnte?

Hier noch der Auszug aus dem Log mit Verbose 5:
2016.01.18 13:56:13 4: ss_terrazza - Path of SYNO.API.Auth selected: auth.cgi
2016.01.18 13:56:13 4: ss_terrazza - MaxVersion of SYNO.API.Auth selected: 4
2016.01.18 13:56:13 4: ss_terrazza - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi
2016.01.18 13:56:13 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.18 13:56:13 4: ss_terrazza - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi
2016.01.18 13:56:13 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.Camera (optimized): 7
2016.01.18 13:56:13 4: ss_terrazza - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi
2016.01.18 13:56:13 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.SnapShot: 1
2016.01.18 13:56:13 4: ss_terrazza - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi
2016.01.18 13:56:13 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.PTZ: 4
2016.01.18 13:56:13 4: ss_terrazza - --- End Function getapisites nonblocking ---
2016.01.18 13:56:13 4: ss_terrazza - --- Begin Function serverlogin nonblocking ---
2016.01.18 13:56:13 4: ss_terrazza - URL-Call: http://192.168.1.101:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=surveillance_user&passwd=passwort1234&format="sid"
2016.01.18 13:56:13 1: ss_terrazza - ERROR - Login of User surveillance_user unsuccessful. Errorcode: 402 - Permission denied
2016.01.18 13:56:13 4: ss_terrazza - --- End Function serverlogin nonblocking with error ---
2016.01.18 13:56:14 4: ss_terrazza - Retrieval PTZ-ListPatrols of IPCAM_HAUSTUERE starts now
2016.01.18 13:56:14 4: ss_terrazza - --- Begin Function getapisites nonblocking ---
2016.01.18 13:56:14 4: ss_terrazza - URL-Call: http://192.168.1.101:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.18 13:56:14 4: ss_terrazza - JSON returned: $VAR1 = {
          'data' => {
                      'SYNO.SurveillanceStation.Camera' => {
                                                             'path' => '_______________________________________________________entry.cgi',
                                                             'requestFormat' => 'JSON',
                                                             'minVersion' => 1,
                                                             'maxVersion' => 8
                                                           },
                      'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                        'path' => '_______________________________________________________entry.cgi',
                                                                        'requestFormat' => 'JSON',
                                                                        'minVersion' => 1,
                                                                        'maxVersion' => 2
                                                                      },
                      'SYNO.API.Auth' => {
                                           'minVersion' => 1,
                                           'maxVersion' => 4,
                                           'path' => 'auth.cgi'
                                         },
                      'SYNO.SurveillanceStation.SnapShot' => {
                                                               'minVersion' => 1,
                                                               'maxVersion' => 1,
                                                               'path' => '_______________________________________________________entry.cgi',
                                                               'requestFormat' => 'JSON'
                                                             },
                      'SYNO.SurveillanceStation.PTZ' => {
                                                          'minVersion' => 1,
                                                          'maxVersion' => 4,
                                                          'requestFormat' => 'JSON',
                                                          'path' => '_______________________________________________________entry.cgi'
                                                        }
                    },
          'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        };

2016.01.18 13:56:14 4: ss_terrazza - Path of SYNO.API.Auth selected: auth.cgi
2016.01.18 13:56:14 4: ss_terrazza - MaxVersion of SYNO.API.Auth selected: 4
2016.01.18 13:56:14 4: ss_terrazza - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi
2016.01.18 13:56:14 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.18 13:56:14 4: ss_terrazza - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi
2016.01.18 13:56:14 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.Camera (optimized): 7
2016.01.18 13:56:14 4: ss_terrazza - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi
2016.01.18 13:56:14 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.SnapShot: 1
2016.01.18 13:56:14 4: ss_terrazza - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi
2016.01.18 13:56:14 4: ss_terrazza - MaxVersion of SYNO.SurveillanceStation.PTZ: 4
2016.01.18 13:56:14 4: ss_terrazza - --- End Function getapisites nonblocking ---
2016.01.18 13:56:14 4: ss_terrazza - --- Begin Function serverlogin nonblocking ---
2016.01.18 13:56:14 4: ss_terrazza - URL-Call: http://192.168.1.101:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=surveillance_user&passwd=passwort1234&format="sid"
2016.01.18 13:56:14 1: ss_terrazza - ERROR - Login of User surveillance_user unsuccessful. Errorcode: 402 - Permission denied
2016.01.18 13:56:14 4: ss_terrazza - --- End Function serverlogin nonblocking with error ---
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: eldrik am 18 Januar 2016, 18:39:23
Hi,

in deinem eigenen Thread gibst du die Info, dass du lediglich einen Benutzer verwendest, der nur betrachten darf.

Ich meine mich zu erinnern, dass der Benutzer für SsCam die generelle Admin Berechtigung braucht?!

Edit: Jupp so steht es auch in der Commandref zu dem Modul!

Greetz
Eldrik
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Januar 2016, 18:45:05
Hallo dott.olivero, hallo zusammen,

ist schon witzig wie das Leben manchmal so spielt .... mit deinem Thread, vielleicht magst du ja dort noch eine Ergänzung mit einem Link hierher machen, da können sich vielleicht noch ein paar Leute Arbeit sparen ;)

Also danke für die Info. Gemeinsam mit den Mitstreitern hier im Forum arbeite ich stetig an einer Verbesserung und Erweiterung des Moduls und jede Hilfe und Anregung ist gerne willkommen.
Vielleicht möchtest du dich ebenfalls noch mit einbringen.
An diversen Sachen wie PTZ-Steuerung arbeite ich schon gedanklich, aber habe mir eine ToDo-Liste mit Prios gemacht. Es sind dann erst ein paar andere Sachen vorher dran. Und die Zeit spielt auch eine Rolle.....

Aber zu der Sache mit der "sid".

Das ist schon echt eigenartig, denn genau zu diesem Thema und dem Fehler "105 - Insufficient Privileges" den ich in der Anfangszeit oft hatte, kontaktierte ich letztes Jahr den Syno- Entwicklungssupport.
Daraus resultierte dann auch die Empfehlung zur Problemlösung die sid in Anführungszeichen zu setzen. Man wird die API-Doku in der nächsten Version entsprechend anpassen hieß es.
Die " " sind die wichtigen Bestandteile in den HTTP-Strings.  Das betrifft übrigens auch andere Aufrufstellen im Modul.

Auch ist die Verwendung der API-Aufrufe in der Doku nicht einheitlich, mal mit und mal ohne Anführungszeichen, wahrscheinlich implementieren an der API unterschiedliche Entwickler.  ;)

Du kannst "Session=SurveillanceStation" weglassen, es ist optional. Per Default erfolgt so das Login in das DSM, wobei der Zugriff auf SVS dann ebenfalls gegeben ist.

Mittlerweile, ich habe es gerade getestet, funktioniert bei mir der Aufruf sowohl mit sid als auch mit "sid"
Ich habe ebenfalls  die SVS Version 7.1-4110, das Update kam ja erst vor Kurzem. Eventuell hängt es damit zusammen obwohl das nicht erklärt weshalb es bei mir beiden Schreibweisen klappt und bei dir nicht.

Ich habe euch mal die aktuelleste Version hier angehängt in der ich die Anführungszeichen an der bezeichneten Stelle entfernt habe.

Bitte testet mal ob es bei euch (die bis jetzt auch keine Login-Probleme hatten)  ebenfalls noch funktioniert. Dann kann ich die Anführungszeichen generell an dieser Stelle entfernen und einchecken.

Und Eldrik  hat Recht .... der Nutzer sollte Admin-Rechte haben.

viele Grüße
Heiko


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: dott.olivero am 18 Januar 2016, 22:33:04
Hi Heiko,

Zitat
magst du ja dort noch eine Ergänzung mit einem Link hierher machen
den Link auf SSCAM hatte ich schon eingefügt  :)

Zitat
Du kannst "Session=SurveillanceStation" weglassen, es ist optional. Per Default erfolgt so das Login in das DSM, wobei der Zugriff auf SVS dann ebenfalls gegeben ist.
Ah, okay, daher. Liegt nicht an den Quotes von sid oder "sid". Mein surveillance_user hat keinen Zugriff auf DSM (und soll ihn auch nicht bekommen).
Mit Deiner neuen Version kommt wieder der Login-Fehler. Ergänze ich allerdings 49_SSCam.pm > Zeile 911 um &session=SurveillanceStation, dann funktionierts auch mit dem Login (User mit Privileg "Betrachter für alle Objekte"), da ja dann in die Surveillance Station eingeloggt wird und nicht in DSM :). Liegt also an meinem User mit nicht zugeteilten Adminrechten (grundsätzlich habe ich gerne so wenig Rechte wie möglich, so viele wie ...) und nochmals grundsätzlich reichen allerdings ja auch Betrachterrechte.

Start funktioniert. Allerdings läuft die Aufzeichnung nicht die konfigurierten 90 Sek, sondern ca. 15-20s. Ich checke das parallel mit dem Tablet und sehe den roten Punkt an- und ausgehen. Ist das nur bei mir so?

Hier mal die Config:
define ss_terrazza SSCam 192.168.1.101 5000 surveillance_user passwort1234 IPCAM_TERRAZZA 90
attr ss_terrazza pollcaminfoall 0

Liebe Grüße
 - Oliver

P.S.:
Zitat
Vielleicht möchtest du dich ebenfalls noch mit einbringen
Immer gerne. Ich bin nur kein guter Programmierer...
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: dott.olivero am 18 Januar 2016, 22:38:38
Ich meine mich zu erinnern, dass der Benutzer für SsCam die generelle Admin Berechtigung braucht?!

Ja, Eldrik, danke für den Hinweis. Das hatte ich gesehen. Mit der eigenen Bastellösung habe ich festgestellt, dass keine Adminrechte benötigt werden wenn die Auth-API sich nur in die Surveillance Station einloggt und nicht in die DSM.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Januar 2016, 22:58:26
Hallo Oliver,

Zitat
....und nochmals grundsätzlich reichen allerdings ja auch Betrachterrechte.

Naja, kommt sicherlich darauf an welche Funktionen  das Modul letztlich ausführen soll. Deaktivieren von Kameras sollte ein User mit Betrachterrechten zum Beispiel nicht ausführen können.

Wir können aber ingesamt auf das Thema gern nochmal zurückkommen wenn ein höherer "Fertigungsstand" des Moduls erreicht ist. Momentan bin ich mit der Synology-Entwicklung im Dialog um das Versenden von Mails (optional mit  Snapshots) zu  realisieren wenn eine Aufnahme angetriggert wird. Sowas gibt es in der SVS Web API nicht out of the Box  (wird im DSM realisiert) und vielleicht braucht es dann immer noch ein Login in das DSM.
Deswegen erst einmal nicht "Session=SurveillanceStation" , ist ein bisschen proaktiv.

Aber schön dass es jetzt funktioniert. Bezüglich der Aufnahmedauer berücksichtige bitte dass es dafür seit gestern ein Attribut "rectime" gibt wo das eingestellt wird !

viele Grüße
Heiko

EDIT: Du kannst dem Nutzer im DSM ja auch nur die Admin-Berechtigung für die SVS geben und den Zugriff auf Filesysteme und andere Anwendungen entziehen. So hab ich das zur Zeit eingerichtet.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Januar 2016, 00:19:34
Hallo zusammen,

ich hatte die Zeit heute noch genutzt um den festen HTTP-Timeoutwert (alt 10 Sekunden) durch ein Attribut abzulösen.
Mit dem morgigen Update kommt die Änderung mit:

HTTP-Timeout setzen

Der Standardwert für den HTTP-Timeout (API-Aufrufe) beträgt 4 Sekunden.
Durch Setzen des  Attributes "httptimeout" > 0 kann dieser Wert bei Bedarf entsprechend den technischen Gegebenheiten angepasst werden.

Falls also jemand Schwierigkeiten mit dem Standardwert hat, bitte daran denken ihn entsprechend anzupassen.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Januar 2016, 12:27:11
Guten Tag miteinander,

angeregt durch die Fehlersuche gestern Abend und eine Nacht darüber schlafen werde ich wohl mit der anstehenden Überarbeitung der Credential-Ablage auch eine Wahlmöglichkeit des Login entweder in das DSM oder die SVS mit vorsehen. Dadurch steht dem Nutzer beides zur Verfügung, er kann je nach seinen beabsichtigten Funktionen die Methode wählen,  und das Modul ist auf kommende Funktionalitäten ebenfalls vorbereitet.
Ich stelle eine Version hier zur Verfügung wenn ich dazu gekommen bin.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 19 Januar 2016, 22:33:09
Bitte testet mal ob es bei euch (die bis jetzt auch keine Login-Probleme hatten)  ebenfalls noch funktioniert. Dann kann ich die Anführungszeichen generell an dieser Stelle entfernen und einchecken.

Hallo Heiko,

läuft bei mir ohne Probleme. Ich habe allerdings SS Version 7.1-4080. Ein Update wird mir nicht angezeigt. Könnte daran liegen, dass bei meinem DSM ein Update fällig wäre. Ist das für Dich wichtig, dass die SS aktuell ist? Dann würde ich die Tage mal das DSM Update installieren.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Januar 2016, 22:46:13
Nabend Oli,

super .... danke.  Ich denke Synology hält nicht auf allen seinen DS-Fabrikaten die Version der Pakete genau gleich. Die 7.1-4080 ist dann wahrscheinlich die für deine Architektur aktuelle SVS.
Das sollte schon passen. Hoffentlich hält Syno die API Implementierung auf seinen Auslieferungen wenigstens gleich  ;)
Was hast du gleich für eine Synology ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 19 Januar 2016, 22:52:38
Was hast du gleich für eine Synology ?

Eine 212+.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Januar 2016, 23:04:29
Hab grad mal geschaut, die SVS Version 7.1-4110 ist auch für deine Syno verfügbar.

https://www.synology.com/de-de/releaseNote/SurveillanceStation?model=DS212%2B (https://www.synology.com/de-de/releaseNote/SurveillanceStation?model=DS212%2B)

Vielleicht liegts dann wohl wirklich an deinem fälligen DSM-Update dass die noch nicht angeboten wird. Lass dir Zeit Oli, ich bastele grade weiter an der Veränderung der Paßwortspeicherung und baue noch die optionale Wahlmöglichkeit DSM oder SVS-Login ein. Aber viel wird heute nicht mehr ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 20 Januar 2016, 08:52:49
Bei Synology ist es häufig so, dass man das Update in vielen Schritten machen muss, weil ein Update auf dem anderen aufbaut. Schaut man also in seinem System nach, kann es durchaus sein, dass dort eine ältere Version angezeigt wird, als die aktuelle. Wenn man dieses Backup dann gemacht hat, steht an der Stelle dann das nächste usw.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 20 Januar 2016, 11:20:02
Bei Synology ist es häufig so, dass man das Update in vielen Schritten machen muss, weil ein Update auf dem anderen aufbaut. Schaut man also in seinem System nach, kann es durchaus sein, dass dort eine ältere Version angezeigt wird, als die aktuelle. Wenn man dieses Backup dann gemacht hat, steht an der Stelle dann das nächste usw.

Ja, genau das war es.

Ich bin jetzt auch auf DSM 5.2-4644-1 und SS 7.1-4110. Und das Modul scheint auch bei mir problemlos zu funktionieren.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 13:29:59
Hallo Leute,

ich habe eine 6.3er Surveillance Station und habe trotz aktuellem 49_SSCam Modul den Fehler: "Errorcode: 105 - Insufficient user privilege"
Ich habe auch geschaut was im Modul in Zeile 911 steht, bzw. in meiner Version ist das wahrscheinlich eher Zeile 928 und da ist die Variante mit der session=SurveillanceStation bereits eingetragen gewesen.
Zeile 928:
  $url = "http://$serveraddr:$serverport/webapi/$apiauthpath?api=$apiauth&version=$apiauthmaxver&method=Login&account=$username&passwd=$password&session=SurveillanceStation&format=\"sid\"";

Meine DSM Version = DSM 5.2-5592 Update 4
Meine Surveillance Version = 6.3-3380
Hier ein verbose 5 Log:
2016.01.24 13:17:47 4: CAM_4 - Disable Camera Cam4
2016.01.24 13:17:47 4: CAM_4 - --- Begin Function getapisites nonblocking ---
2016.01.24 13:17:47 5: CAM_4 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 13:17:47 4: CAM_4 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 13:17:47 4: CAM_4 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 13:17:47 4: CAM_4 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 13:17:47 4: CAM_4 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 13:17:47 4: CAM_4 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 13:17:47 4: CAM_4 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 13:17:47 4: CAM_4 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 13:17:47 4: CAM_4 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 13:17:47 4: CAM_4 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 13:17:47 4: CAM_4 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 13:17:47 4: CAM_4 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 13:17:47 4: CAM_4 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 13:17:48 4: CAM_4 - --- End Function getapisites nonblocking ---
2016.01.24 13:17:48 4: CAM_4 - --- Begin Function serverlogin nonblocking ---
2016.01.24 13:17:48 5: CAM_4 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 13:17:48 4: CAM_4 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=fhemuser&passwd=myPasswordIshidden!&session=SurveillanceStation&format="sid"
2016.01.24 13:17:48 4: CAM_4 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => '.NSZ.4I6cG0C6MYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 13:17:48 4: CAM_4 - Login of User fhemuser successful - SID: .NSZ.4I6cG0C6MYSERIALxxxx
2016.01.24 13:17:48 4: CAM_4 - --- End Function serverlogin nonblocking ---
2016.01.24 13:17:48 4: CAM_4 - --- Begin Function getcamid nonblocking ---
2016.01.24 13:17:48 5: CAM_4 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 13:17:48 4: CAM_4 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=5&method=List&_sid=".NSZ.4I6cG0C6MYSERIALxxxx"
2016.01.24 13:17:48 1: CAM_4 - ERROR - ID of Camera Cam4 couldn't be selected. Errorcode: 105 - Insufficient user privilege
2016.01.24 13:17:48 4: CAM_4 - --- End Function getcamid nonblocking with error ---


Was kann ich denn machen um das zu lösen??

Gruß

Holger

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 24 Januar 2016, 13:43:13
ich habe eine 6.3er Surveillance Station ...

Soweit ich weiß, hat Synology die API von Version 6.x auf 7.x der Surveillance Station geändert. Ich denke, dass Modul wird mit der alten Version nicht funktionieren. Aber Heiko kann da sicher mehr zu sagen.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 14:05:50
Hallo zusammen, hallo Holger,

wie Oli schon geschrieben hat, habe ich das Modul auf Funktionen der SVS Web API Version 2.0 aufgebaut und mit der Surveillance Station 7  getestet.
Ob die Funktionen mit SVS 6.x alle so laufen kann ich nicht garantieren. Ich würde also empfehlen wenn möglich auf SVS Version 7 zu gehen.

Allerdings, Holger, sieht dein Logauszug garnicht mal so schlecht aus. Es scheitert wohl erstmal nur an den Rechten des verwendeten Users. Hast du ihn im DSM angelegt und der Administrator-Gruppe zugewiesen ?

Wenn nicht, mach das mal und versuche es erneut.

Ansonsten mal bitte eine Stunde warten, ich schreibe nachher noch einen Beitrag und hänge eine neue SSCam-Version hier rein.  ;)

Grüße
Heiko
Titel: Neue Version SSCam - Define String geändert !!!
Beitrag von: DS_Starter am 24 Januar 2016, 14:53:45
Hallo miteinander,

mit der hier angehängten neuen Version werden Änderungen / Verbesserungen der Passwortsicherheit umgesetzt und auch die Möglichkeit des Sessionaufbaus flexibilisiert und den Möglichkeiten der SVS Web API angepasst.

Die Angabe des Users / Passworts im Define-String wird entfent und durch ein "set <name> credentials <user> <passwort>" ersetzt. Dieses Set-Kommando ist für jede Kamera nach dem Define einmalig zu setzen und bleibt auch nach reboot usw. erhalten. Es kann jederzeit neu gesetzt / überschrieben werden.

Daneben gibt es nun ein neues Attribut "session". Darüber kann ausgewählt werden, ob eine Session mit dem DSM oder der SVS aufgebaut werden soll. Per dafault (nach dem Define eines neuen Gerätes) erfolgt der Sessionaufbau weiterhin mit dem DSM (user mit Admin-Group Zugehörigkeit verwenden !).
Jeder Anwender hat aber nun die Möglichkeit die Nutzerrechte zu beschränken bzw. selektiv zu verfeinern. Lest dazu bitte die Erläuterungen zu der Credentials-Verwendung  unten.

Da ich den Define-String ohnehin anpassen mußte, habe ich ihn auch gleich für weitere Entwicklungen fit gemacht.
Der neue Define-String sieht nun so aus:

       define <name> SSCam <camname> <ServerAddr> <ServerPort>

Beispiel:

      define CamCP1 SSCAM Carport 192.168.2.20 5000

Das ist zwar jetzt mit etwas Aufwand verbunden, aber ich denke wir kriegen das hin.  ;)

Geht also bitte zur Aktualisierung folgendermaßen vor:

      1.   SSCam in FHEM-Verzeichnis einspielen
      2.   shutdown restart
      3.   die Define-Strings wie oben angegeben anpassen
      4.   set <name> credential <username> <passwort>  (für jede eurer definierten Kameras einmalig setzen)

Bei bestehenden Installationenn ist keine weitere Änderung nötig und wird/sollte  wie bisher funktionieren.
Wenn ihr die neuen Funktionen nutzen möchtet, könnt ihr dann weitere Anpassungen vornehmen.

Credentials

Nach dem Definieren des Gerätes müssen zuerst die Zugangsrechte gespeichert werden. Das geschieht mit dem Befehl:

    set <name> credentials <username> <password>

Der Nutzer kann in Abhängigkeit der beabsichtigten einzusetzenden Funktionen einen Nutzer im DSM bzw. in der Surveillance Station einrichten. Ist der DSM-Nutzer der Gruppe Administratoren zugeordnet, hat er auf alle Funktionen Zugriff. Ohne diese Gruppenzugehörigkeit können nur Funktionen mit niedrigeren Rechtebedarf ausgeführt werden. Die benötigten Mindestrechte der Funktionen sind in der Tabelle weiter unten aufgeführt. Alternativ zum DSM-Nutzer kann ein in der SVS angelegter Nutzer verwendet werden. Auch in diesem Fall hat ein Nutzer vom Typ Manager das Recht alle Funktionen auszuführen, wobei der Zugriff auf bestimmte Kameras/ im Privilegienprofil beschränkt werden kann (siehe Hilfefunktion in SVS).

Das Modul gestattet es über das Attribut "session" auszuwählen, ob das Login in das DSM oder die SVS erfolgen soll. Erfolgt das Login in das DSM, stehen neben der SVS Web-API auch darüber hinaus gehende API Zugriffe zur Verfügung die unter Umständen zur Verarbeitung benötigt werden.

Nach der Gerätedefinition ist die Grundeinstellung "Login in das DSM", d.h. es können Credentials mit Admin-Berechtigungen genutzt werden um zunächst alle Funktionen der Kameras testen zu können. Danach können die Credentials z.B. in Abhängigkeit der benötigten Funktionen auf eine SVS-Session mit entsprechend beschränkten Privilegienprofil umgestellt werden.

Die nachfolgende Aufstellung zeigt die Mindestanforderungen der jeweiligen Modulfunktionen an die Nutzerrechte.

* set ... on              session: ServeillanceStation - Betrachter mit erweiterten Privileg "manuelle Aufnahme"
* set ... off              session: ServeillanceStation - Betrachter mit erweiterten Privileg "manuelle Aufnahme"
* set ... snap               session: ServeillanceStation - Betrachter
* set ... disable         session: ServeillanceStation - Manager
* set ... enable          session: ServeillanceStation - Manager
* set ... credentials  -
* get ... caminfoall   session: ServeillanceStation - Betrachter

neues Attribut

* session - Auswahl der Login-Session. Nicht gesetzt oder "DSM" -> session wird mit DSM aufgebaut (Standard). "SurveillanceStation" -> Session-Aufbau erfolgt mit SVS

Wünsche euch viel Erfolg mit der Anpassung und Spaß bei der Verwendung.
Wenn sich die neue Version etabliert hat, kann ich mich wieder Funktionserweiterungen zuwenden.

Schönes WE und meldet euch bitte ob / wie ihr zurechtkommt !

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 16:40:14
Hallo!!

Ich habe mal die neue Version des Moduls installiert und bin so vorgegangen wie Heiko es beschrieben hatte

Ich habe meinem User "fhemuser" in DSM in die AdminGroup getan, und auch in der Surveillance Station habe ich den User dann noch in die Manager Group getan.

Dann habe ich eine weitere CAM eingebunden. in FHEM heisst diese "GA.Cam2" und in der Surveillance Station einfach nur "Cam2".

Dann noch nach dem neuen Stil die credentials gesetzt und dann alles noch zur Sicherheit mit save gespeichert.
Dann noch verbose 5 gesetzt, und den disable ausgelöst

Leider bekomme ich immernoch den 105er Fehler.
Hier das Log:

2016.01.24 16:18:43 4: GA.Cam2 - Disable Camera Cam2
2016.01.24 16:18:43 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 16:18:43 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 16:18:44 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 16:18:44 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 16:18:44 4: GA.Cam2 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 16:18:44 4: GA.Cam2 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 16:18:44 4: GA.Cam2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 16:18:44 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 16:18:44 4: GA.Cam2 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 16:18:44 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 16:18:44 4: GA.Cam2 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 16:18:44 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 16:18:44 4: GA.Cam2 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 16:18:44 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 16:18:44 4: GA.Cam2 - --- End Function getapisites nonblocking ---
2016.01.24 16:18:44 4: GA.Cam2 - --- Begin Function serverlogin nonblocking ---
2016.01.24 16:18:44 4: GA.Cam2 - Credentials read from RAM: fhemuser myPasswordIshidden!
2016.01.24 16:18:44 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 16:18:44 4: GA.Cam2 - Credentials read from RAM: fhemuser myPasswordIshidden!
2016.01.24 16:18:44 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=fhemuser&passwd=myPasswordIshidden!&format="sid"
2016.01.24 16:18:44 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => 'd66gC7AGqKsS6MYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 16:18:44 4: GA.Cam2 - Login of User fhemuser successful - SID: d66gC7AGqKsS6MYSERIALxxxx
2016.01.24 16:18:44 4: GA.Cam2 - --- End Function serverlogin nonblocking ---
2016.01.24 16:18:44 4: GA.Cam2 - --- Begin Function getcamid nonblocking ---
2016.01.24 16:18:44 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 16:18:44 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=5&method=List&_sid="d66gC7AGqKsS6MYSERIALxxxx"
2016.01.24 16:18:44 1: GA.Cam2 - ERROR - ID of Camera Cam2 couldn't be selected. Errorcode: 105 - Insufficient user privilege
2016.01.24 16:18:44 4: GA.Cam2 - --- End Function getcamid nonblocking with error ---



Es wäre echt genial wenn das gehen würde mit meiner 6er, denn ich kann nicht upgraden auf die 7er.

Ich weiss nicht in wie weit das hilfreich ist, oder erlaubt ist, einen Link zu Posten aber hier habe ich noch etwas was vielleicht hilft eine Version zu bauen wo man zwischen SS6 und SS7 umschalten kann.
http://www.dbuschke.de/blog/synology-surveillance-station-kamera-ueber-http-deaktivieren/ (http://www.dbuschke.de/blog/synology-surveillance-station-kamera-ueber-http-deaktivieren/)

Vielleich kann man das im Modul umschaltbar machen? Also per attribut oder so??
Ich kenn mich da nicht so aus, aber ich könnte mir sowas vorstellen wie LOREDO es beim Onkyo Modul gemacht hat, wo er pre2013 eingebaut hat wo es darum geht dass es quasi einmal AV Verstärker gibt die VOR 2013 entwickelt wurde und welche die danach entwicklet wurden. So wie ich das damals verstanden hatte ging es dabei auch genau darum dass man verschiedene "Befehlssätze" damit ansteuert.

Danke

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 16:55:45
Hi Holger,

ich will nicht sagen man könnte das Modul nicht anpassbar machen. Allerdings würde es mich überfordern für jede erdenkliche SVS-Version Testscenarien vorzuhalten an denen ich die Entwicklungen austesten könnte. Das kann ich leider als Einzelperson nicht erbringen.
Vielleicht kann hier jemand unterstützen um meine Entwicklungen auf die SVS 6.x zu portieren.

Aber laut deinem Log kann es eigentlich momentan nur an den Userrechten liegen. Der darf keinen List aller Kameras durchführen.

Hast du in der neuen SSCam-Version mal das Attribut "session" = SurveillanceStation" gesetzt nachdem du den User in der SVS angelegt hast und ihm Managerrechte zugewiesen hast ?

Edit: Nachdem ich dein Log noch einmal genauer angeschaut und die HTTP-Calls mit den 6.x Aufrufen aus dem angegeben Link verglichen habe sollte die Kompatibilität sogar passen da ich die API-Pfade vorher dynamisch ermittle. Insofern dürfte SSCam m.M. nach mit SVS 6.x sogar funktionieren.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 17:19:44
Hallo Heiko,

ich glaube inzwischen auch, dass es noch an einer anderen Stelle hakt.
Denn ich habe mal in FHEM für diese GA.Cam2 die credentials auf den lokalen admin user des NAS umgesetzt, und es ging trotzdem nicht.
Ich habe weiterhin den 105er bekommen.

inzwischen habe ich mir auch mal den API Guide angeschaut, und versucht zu verstehen was da so alles gemacht wird.
Und ich kann auch einen Teil der URLs absetzen, aber eben nicht alles.
Teilweise bekomme ich da Ausgaben ala "success":false wo ich es nicht erwartet hätte...

Das einzige was ich nämlich unbedingt machen wollte war, anhand vom Alaramanlagenstatus und in Verbindung mit Presence die CAM deaktivieren, oder einfach nur die Bewegungserkennung deaktivieren oder umschalten auf die CAM anstatt sie Surveillance Station.
Unter dem Motto:
"Wenn Presence eq "present" and alarm.status eq "scharf.anwesend" then set CAM4.innen Bewegungserkennung to cam instead of SurveillanceStation"

EDIT:
Ach ja, und um Deine Frage zu beantworten...
Ich habe auch versucht mal die session auf SurveillanceStation umzustellen und auch wieder zur DSM.
Hat beides nicht geholfen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 17:40:43
Hallo Holger,

vielleicht habe ich eine Idee. Ich mache mal eine kleine Änderung die ich dir nachher hier hinstelle.
Ist aber nur eine Vermutung, kann es wie gesagt nicht testen.

Bischen Geduld .....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 17:58:27
Hallo Holger,

anbei eine Version extra für dich  ;).
Bitte nach download umbenennen.
Dann nochmal mit verbose=5 testen und posten wenn nötig.

ACHTUNG:  alle anderen Mitstreiter bitte die Version aus #82 downloaden und einbauen, NICHT diese hier !!!

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 18:17:13
Hallo Heiko!

Danke dass Du für mich eine Extrawurst machst!

Hier das verbose 5 Log mit session auf DSM und user = admin

2016.01.24 18:12:54 4: GA.Cam2 - Disable Camera Cam2
2016.01.24 18:12:54 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 18:12:54 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:12:54 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 18:12:54 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 18:12:54 4: GA.Cam2 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 18:12:54 4: GA.Cam2 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 18:12:54 4: GA.Cam2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 18:12:54 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 18:12:54 4: GA.Cam2 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 18:12:54 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 18:12:54 4: GA.Cam2 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:12:54 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:12:54 4: GA.Cam2 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 18:12:54 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 18:12:54 4: GA.Cam2 - --- End Function getapisites nonblocking ---
2016.01.24 18:12:54 4: GA.Cam2 - --- Begin Function serverlogin nonblocking ---
2016.01.24 18:12:54 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:12:54 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:12:55 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:12:55 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=myPasswordIshidden!&format="sid"
2016.01.24 18:12:55 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => 'gU8hWcKMkT5SIMYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 18:12:55 4: GA.Cam2 - Login of User admin successful - SID: gU8hWcKMkT5SIMYSERIALxxxx
2016.01.24 18:12:55 4: GA.Cam2 - --- End Function serverlogin nonblocking ---
2016.01.24 18:12:55 4: GA.Cam2 - --- Begin Function getcamid nonblocking ---
2016.01.24 18:12:55 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:12:55 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=List&_sid=gU8hWcKMkT5SIMYSERIALxxxx
2016.01.24 18:12:55 5: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'cameras' => [
                             {
                               'status' => 2,
                               'name' => 'Cam1',
                               'host' => '192.168.111.241',
                               'ownerDsId' => 0,
                               'id' => 1,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 2,
                               'name' => 'Cam4',
                               'host' => '192.168.111.244',
                               'ownerDsId' => 0,
                               'id' => 2,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam2',
                               'host' => '192.168.111.242',
                               'ownerDsId' => 0,
                               'id' => 3,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam3',
                               'host' => '192.168.111.243',
                               'ownerDsId' => 0,
                               'id' => 4,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             }
                           ],
              'total' => 4,
              'offset' => 0
            }
}

2016.01.24 18:12:55 4: GA.Cam2 - Detection Camid successful - Cam2 ID: 3
2016.01.24 18:12:55 4: GA.Cam2 - --- End Function getcamid nonblocking ---
2016.01.24 18:12:55 4: GA.Cam2 - --- Begin Function cam: Disable nonblocking ---
2016.01.24 18:12:55 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:12:55 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=Disable&cameraIds=3&_sid="gU8hWcKMkT5SIMYSERIALxxxx"
2016.01.24 18:12:55 1: GA.Cam2 - ERROR - Operation Disable of Camera Cam2 was not successful. Errorcode: 105 - Insufficient user privilege
2016.01.24 18:12:55 4: GA.Cam2 - --- End Function cam: Disable nonblocking with error ---


gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 18:29:46
Hi Holger,

keine Ursache. Das sieht schon garnicht schlecht aus. Wenn du das Log anschaust, siehst du dass das Listing der Cams nun schon funktioniert:

URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=List&_sid=gU8hWcKMkT5SIMYSERIALxxxx
............

Anbei nochmal eine Änderung.  Schauen wir mal wie es damit aussieht ....

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 18:53:12
Hallo Heiko!

Danke Dir!!! Es klappt!

hier das disable verbose 5 log:
2016.01.24 18:44:21 4: GA.Cam2 - Disable Camera Cam2
2016.01.24 18:44:21 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 18:44:21 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:21 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 18:44:21 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 18:44:21 4: GA.Cam2 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 18:44:21 4: GA.Cam2 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 18:44:21 4: GA.Cam2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 18:44:21 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 18:44:21 4: GA.Cam2 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 18:44:21 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 18:44:21 4: GA.Cam2 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:44:21 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:44:21 4: GA.Cam2 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 18:44:21 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 18:44:21 4: GA.Cam2 - --- End Function getapisites nonblocking ---
2016.01.24 18:44:21 4: GA.Cam2 - --- Begin Function serverlogin nonblocking ---
2016.01.24 18:44:21 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:44:21 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:21 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:44:21 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=myPasswordIshidden!&format="sid"
2016.01.24 18:44:21 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => '8iaPcvRp2.gcEMYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 18:44:21 4: GA.Cam2 - Login of User admin successful - SID: 8iaPcvRp2.gcEMYSERIALxxxx
2016.01.24 18:44:21 4: GA.Cam2 - --- End Function serverlogin nonblocking ---
2016.01.24 18:44:21 4: GA.Cam2 - --- Begin Function getcamid nonblocking ---
2016.01.24 18:44:21 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:22 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=List&_sid=8iaPcvRp2.gcEMYSERIALxxxx
2016.01.24 18:44:22 5: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'cameras' => [
                             {
                               'status' => 2,
                               'name' => 'Cam1',
                               'host' => '192.168.111.241',
                               'ownerDsId' => 0,
                               'id' => 1,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 2,
                               'name' => 'Cam4',
                               'host' => '192.168.111.244',
                               'ownerDsId' => 0,
                               'id' => 2,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam2',
                               'host' => '192.168.111.242',
                               'ownerDsId' => 0,
                               'id' => 3,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam3',
                               'host' => '192.168.111.243',
                               'ownerDsId' => 0,
                               'id' => 4,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             }
                           ],
              'total' => 4,
              'offset' => 0
            }
}

2016.01.24 18:44:22 4: GA.Cam2 - Detection Camid successful - Cam2 ID: 3
2016.01.24 18:44:22 4: GA.Cam2 - --- End Function getcamid nonblocking ---
2016.01.24 18:44:22 4: GA.Cam2 - --- Begin Function cam: Disable nonblocking ---
2016.01.24 18:44:22 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:24 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=Disable&cameraIds=3&_sid=8iaPcvRp2.gcEMYSERIALxxxx
2016.01.24 18:44:24 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.01.24 18:44:24 2: GA.Cam2 - Camera Cam2 has been disabled successfully
2016.01.24 18:44:24 4: GA.Cam2 - --- End Function cam: Disable nonblocking ---
2016.01.24 18:44:24 4: GA.Cam2 - --- Begin Function logout nonblocking ---
2016.01.24 18:44:24 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:24 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:44:24 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Logout&_sid=8iaPcvRp2.gcEMYSERIALxxxx
2016.01.24 18:44:24 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.01.24 18:44:24 4: GA.Cam2 - Session of User admin has ended - SID: 8iaPcvRp2.gcEMYSERIALxxxx has been deleted
2016.01.24 18:44:24 4: GA.Cam2 - --- End Function logout nonblocking ---

und hier das enable verbose 5

2016.01.24 18:44:43 4: GA.Cam2 - Enable Camera Cam2
2016.01.24 18:44:43 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 18:44:43 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:43 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 18:44:43 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 18:44:43 4: GA.Cam2 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 18:44:43 4: GA.Cam2 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 18:44:43 4: GA.Cam2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 18:44:43 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 18:44:43 4: GA.Cam2 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 18:44:43 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 18:44:43 4: GA.Cam2 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:44:43 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:44:43 4: GA.Cam2 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 18:44:43 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 18:44:43 4: GA.Cam2 - --- End Function getapisites nonblocking ---
2016.01.24 18:44:43 4: GA.Cam2 - --- Begin Function serverlogin nonblocking ---
2016.01.24 18:44:43 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:44:43 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:44 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:44:44 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=myPasswordIshidden!&format="sid"
2016.01.24 18:44:44 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => 'V.bJbsDYzlHCIMYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 18:44:44 4: GA.Cam2 - Login of User admin successful - SID: V.bJbsDYzlHCIMYSERIALxxxx
2016.01.24 18:44:44 4: GA.Cam2 - --- End Function serverlogin nonblocking ---
2016.01.24 18:44:44 4: GA.Cam2 - --- Begin Function getcamid nonblocking ---
2016.01.24 18:44:44 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:44 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=List&_sid=V.bJbsDYzlHCIMYSERIALxxxx
2016.01.24 18:44:44 5: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'cameras' => [
                             {
                               'status' => 2,
                               'name' => 'Cam1',
                               'host' => '192.168.111.241',
                               'ownerDsId' => 0,
                               'id' => 1,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 2,
                               'name' => 'Cam4',
                               'host' => '192.168.111.244',
                               'ownerDsId' => 0,
                               'id' => 2,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 5,
                               'name' => 'Cam2',
                               'host' => '192.168.111.242',
                               'ownerDsId' => 0,
                               'id' => 3,
                               'privilege' => 15,
                               'enabled' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam3',
                               'host' => '192.168.111.243',
                               'ownerDsId' => 0,
                               'id' => 4,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             }
                           ],
              'total' => 4,
              'offset' => 0
            }
}

2016.01.24 18:44:44 4: GA.Cam2 - Detection Camid successful - Cam2 ID: 3
2016.01.24 18:44:44 4: GA.Cam2 - --- End Function getcamid nonblocking ---
2016.01.24 18:44:44 4: GA.Cam2 - --- Begin Function cam: Enable nonblocking ---
2016.01.24 18:44:44 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:47 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=Enable&cameraIds=3&_sid=V.bJbsDYzlHCIMYSERIALxxxx
2016.01.24 18:44:47 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.01.24 18:44:47 2: GA.Cam2 - Camera Cam2 has been enabled successfully
2016.01.24 18:44:47 4: GA.Cam2 - --- End Function cam: Enable nonblocking ---
2016.01.24 18:44:47 4: GA.Cam2 - --- Begin Function logout nonblocking ---
2016.01.24 18:44:47 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:44:47 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:44:47 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Logout&_sid=V.bJbsDYzlHCIMYSERIALxxxx
2016.01.24 18:44:47 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.01.24 18:44:47 4: GA.Cam2 - Session of User admin has ended - SID: V.bJbsDYzlHCIMYSERIALxxxx has been deleted
2016.01.24 18:44:47 4: GA.Cam2 - --- End Function logout nonblocking ---

Jetzt stellt sich mir halt eine Frage...
Ist das was Du da nun für mich geändert hast etwas was man verallgemeinern kann und in das Modul einpflegen kann, oder muss ich darauf achten diese Version hier zu behalten und darf nie ein Update machen?

EDIT:
Mir ist noch etwas aufgefallen, und ich weiss nicht, ob das wegen meiner Spezialversion ist, oder wegen was anderem...
hier ein verbose 5 von "caminfoall"

siehe hier:
2016.01.24 18:55:27 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/ptz.cgi?api=SYNO.SurveillanceStation.PTZ&version=3&method=ListPatrol&cameraId=3&_sid=YJHiVlveOyfR6MYSERIALxxxx
2016.01.24 18:55:27 1: GA.Cam2 - ERROR - Operation Getptzlistpatrol of Camera Cam2 was not successful. Errorcode: 401 - Parameter invalid



2016.01.24 18:55:22 4: GA.Cam2 - Retrieval Camera-Informations of Cam2 starts now
2016.01.24 18:55:22 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 18:55:22 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:22 2: GA.Cam2 - Polling of Camera Cam2 is deactivated now
2016.01.24 18:55:22 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 18:55:22 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 18:55:22 4: GA.Cam2 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 18:55:22 4: GA.Cam2 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 18:55:22 4: GA.Cam2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 18:55:22 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 18:55:22 4: GA.Cam2 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 18:55:22 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 18:55:22 4: GA.Cam2 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:55:22 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:55:22 4: GA.Cam2 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 18:55:22 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 18:55:22 4: GA.Cam2 - --- End Function getapisites nonblocking ---
2016.01.24 18:55:22 4: GA.Cam2 - --- Begin Function serverlogin nonblocking ---
2016.01.24 18:55:22 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:55:22 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:23 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:55:23 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=myPasswordIshidden!&format="sid"
2016.01.24 18:55:23 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => 'UKB5IljxT8dRAMYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 18:55:23 4: GA.Cam2 - Login of User admin successful - SID: UKB5IljxT8dRAMYSERIALxxxx
2016.01.24 18:55:23 4: GA.Cam2 - --- End Function serverlogin nonblocking ---
2016.01.24 18:55:23 4: GA.Cam2 - --- Begin Function getcamid nonblocking ---
2016.01.24 18:55:23 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:23 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=List&_sid=UKB5IljxT8dRAMYSERIALxxxx
2016.01.24 18:55:23 5: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'cameras' => [
                             {
                               'status' => 2,
                               'name' => 'Cam1',
                               'host' => '192.168.111.241',
                               'ownerDsId' => 0,
                               'id' => 1,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 2,
                               'name' => 'Cam4',
                               'host' => '192.168.111.244',
                               'ownerDsId' => 0,
                               'id' => 2,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam2',
                               'host' => '192.168.111.242',
                               'ownerDsId' => 0,
                               'id' => 3,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam3',
                               'host' => '192.168.111.243',
                               'ownerDsId' => 0,
                               'id' => 4,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             }
                           ],
              'total' => 4,
              'offset' => 0
            }
}

2016.01.24 18:55:23 4: GA.Cam2 - Detection Camid successful - Cam2 ID: 3
2016.01.24 18:55:23 4: GA.Cam2 - --- End Function getcamid nonblocking ---
2016.01.24 18:55:23 4: GA.Cam2 - --- Begin Function cam: Getcaminfo nonblocking ---
2016.01.24 18:55:23 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:23 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api="SYNO.SurveillanceStation.Camera"&version="6"&method="GetInfo"&cameraIds="3"&deviceOutCap=true&streamInfo=true&ptz=true&basic=true&camAppInfo=true&optimize=true&fisheye=true&eventDetection=true&_sid=UKB5IljxT8dRAMYSERIALxxxx
2016.01.24 18:55:23 1: GA.Cam2 - ERROR - Operation Getcaminfo of Camera Cam2 was not successful. Errorcode: 101 - Invalid parameters
2016.01.24 18:55:23 4: GA.Cam2 - --- End Function cam: Getcaminfo nonblocking with error ---
2016.01.24 18:55:24 4: GA.Cam2 - Retrieval Capabilities of Camera Cam2 starts now
2016.01.24 18:55:24 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 18:55:24 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:24 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 18:55:24 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'maxVersion' => 3,
                                                  'path' => 'SurveillanceStation/ptz.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'maxVersion' => 6,
                                                     'path' => 'SurveillanceStation/camera.cgi',
                                                     'minVersion' => 1
                                                   }
            }
}

2016.01.24 18:55:24 4: GA.Cam2 - Path of SYNO.API.Auth selected: auth.cgi
2016.01.24 18:55:24 4: GA.Cam2 - MaxVersion of SYNO.API.Auth selected: 4
2016.01.24 18:55:24 4: GA.Cam2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: SurveillanceStation/extrecord.cgi
2016.01.24 18:55:24 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.01.24 18:55:24 4: GA.Cam2 - Path of SYNO.SurveillanceStation.Camera selected: SurveillanceStation/camera.cgi
2016.01.24 18:55:24 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.Camera: 6
2016.01.24 18:55:24 4: GA.Cam2 - Path of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:55:24 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.SnapShot undefined - Surveillance Station may be stopped
2016.01.24 18:55:24 4: GA.Cam2 - Path of SYNO.SurveillanceStation.PTZ selected: SurveillanceStation/ptz.cgi
2016.01.24 18:55:24 4: GA.Cam2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 3
2016.01.24 18:55:24 4: GA.Cam2 - --- End Function getapisites nonblocking ---
2016.01.24 18:55:24 4: GA.Cam2 - --- Begin Function serverlogin nonblocking ---
2016.01.24 18:55:24 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:55:24 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:24 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:55:24 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=myPasswordIshidden!&format="sid"
2016.01.24 18:55:24 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => 'Vbre9VfKbkcdYMYSERIALxxxx',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.01.24 18:55:24 4: GA.Cam2 - Login of User admin successful - SID: Vbre9VfKbkcdYMYSERIALxxxx
2016.01.24 18:55:24 4: GA.Cam2 - --- End Function serverlogin nonblocking ---
2016.01.24 18:55:24 4: GA.Cam2 - --- Begin Function getcamid nonblocking ---
2016.01.24 18:55:24 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:24 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=List&_sid=Vbre9VfKbkcdYMYSERIALxxxx
2016.01.24 18:55:24 5: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'cameras' => [
                             {
                               'status' => 2,
                               'name' => 'Cam1',
                               'host' => '192.168.111.241',
                               'ownerDsId' => 0,
                               'id' => 1,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 2,
                               'name' => 'Cam4',
                               'host' => '192.168.111.244',
                               'ownerDsId' => 0,
                               'id' => 2,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam2',
                               'host' => '192.168.111.242',
                               'ownerDsId' => 0,
                               'id' => 3,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             },
                             {
                               'status' => 0,
                               'name' => 'Cam3',
                               'host' => '192.168.111.243',
                               'ownerDsId' => 0,
                               'id' => 4,
                               'privilege' => 15,
                               'enabled' => $VAR1->{'success'},
                               'recStatus' => 0
                             }
                           ],
              'total' => 4,
              'offset' => 0
            }
}

2016.01.24 18:55:24 4: GA.Cam2 - Detection Camid successful - Cam2 ID: 3
2016.01.24 18:55:24 4: GA.Cam2 - --- End Function getcamid nonblocking ---
2016.01.24 18:55:24 4: GA.Cam2 - --- Begin Function cam: Getcapabilities nonblocking ---
2016.01.24 18:55:24 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:25 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&version=6&method=GetCapabilityByCamId&cameraId=3&_sid=Vbre9VfKbkcdYMYSERIALxxxx
2016.01.24 18:55:25 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'ptzPresetNumber' => 0,
              'ptzIris' => 0,
              'ptzAutoFocus' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
              'ptzTilt' => 0,
              'ptzPan' => 0,
              'ptzSpeed' => $VAR1->{'data'}{'ptzAutoFocus'},
              'ptzZoom' => 0,
              'ptzDirection' => 0,
              'ptzHome' => $VAR1->{'data'}{'ptzAutoFocus'},
              'ptzAbs' => $VAR1->{'data'}{'ptzAutoFocus'},
              'ptzFocus' => 0
            }
}

2016.01.24 18:55:25 2: GA.Cam2 - Capabilities of Camera Cam2 retrieved
2016.01.24 18:55:25 4: GA.Cam2 - --- End Function cam: Getcapabilities nonblocking ---
2016.01.24 18:55:25 4: GA.Cam2 - --- Begin Function logout nonblocking ---
2016.01.24 18:55:25 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:25 4: GA.Cam2 - Credentials read from RAM: admin myPasswordIshidden!
2016.01.24 18:55:25 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Logout&_sid=Vbre9VfKbkcdYMYSERIALxxxx
2016.01.24 18:55:25 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.01.24 18:55:25 4: GA.Cam2 - Session of User admin has ended - SID: Vbre9VfKbkcdYMYSERIALxxxx has been deleted
2016.01.24 18:55:25 4: GA.Cam2 - --- End Function logout nonblocking ---
2016.01.24 18:55:25 4: GA.Cam2 - Retrieval PTZ-ListPresets of Cam2 starts now
2016.01.24 18:55:25 4: GA.Cam2 - --- Begin Function getapisites nonblocking ---
2016.01.24 18:55:25 5: GA.Cam2 - HTTP-Call will be done with httptimeout-Value: 4 s
2016.01.24 18:55:25 4: GA.Cam2 - URL-Call: http://synology:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ
2016.01.24 18:55:25 4: GA.Cam2 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/extrecord.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 24 Januar 2016, 19:00:08
Hallo Heiko,

kurze Rückmeldung von mir.
Neue Version getestet, Anpassung der DEF total problemlos. Nach kurzem Justieren mit httptimeout läuft alles bestens.
Ich kann mich gar nicht genug bedanken für dieses tolle Modul.

Schönen Restsonntag!

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 19:02:41
Hallo Heiko,

kurze Rückmeldung von mir.
Neue Version getestet, Anpassung der DEF total problemlos. Nach kurzem Justieren mit httptimeout läuft alles bestens.
Ich kann mich gar nicht genug bedanken für dieses tolle Modul.

Schönen Restsonntag!

Oli

Das mit den Änderungen und dem Update kann ich übrigends auch bestätigen, und schließe mich auch ebenfalls an und sage DANKE!!!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 19:06:54
Hi Holger,

super .... freut mich dass es nun klappt !  :)

Prinzipiell könnte ich die Änderungen die ich jetzt mit die ausprobiert habe in einer Fallentscheidung (Version 6 oder 7) berücksichtigen.
Problematisch wird es  bei weiteren Entwicklungen, die ich dann wieder nicht testen kann.  Zum Bespiel habe ich beim Lesen deines Logs gesehen dass die V 6 offensichtlich die Methode "Snapshot" nicht kennt., d.h. Schnappschüsse werden nicht funktionieren usw.

Ich könnte mir vorstellen dass ich die Version 6 "offiziell" unterstützen könnte, wenn sich jemand finden würde, der  mir bei Weiterentwicklungen jeweils Patche zur Verfügung stellt, die er nach Tests in seiner V 6 -Umgebung programmiert und mir zum Einbau zur Verfügung stellt.
Was besseres fällt mir momentan nicht ein.

Das Modul kannst du bitte vom FHEM-Update ausnehmen indem du folgendes in deine fhem.cfg einträgst:

  attr global exclude_from_update 49_SSCam.pm

FHEM kannst du dann weiterhin ganz normal updaten. Vielleicht finden wir noch eine bessere Lösung, mal schauen.
Bis dahin ....

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 19:09:43
Hi Oli,

klasse ! ..... Danke für deine Rückmeldung und auch das Lob. 
Das freut mich wirklich sehr  :)

Schönen Abend euch !

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 19:13:34
Hallo Holger,

habe vergessen zu fragen ..... warum kannst du eigentlich nicht auf die SVS 7 gehen ?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 19:14:13
Hallo Heiko,

Ich kann halt leider nicht programmieren.
Aber ich habe die Möglichkeit alles was v6 betrifft zu testen.

Ich könnte etwas organisieren wo DU direkt was testen kannst.
Bei interesse einfach ne PM an mich, und wir tauschen die Nummern aus und sprechen kurz drüber.

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 24 Januar 2016, 19:42:26
Hallo Heiko,

wie eben besprochen...
Hier die Developer API Guides.

Einen 1.9er gibt es nicht.
Nur 1.8 und 2.0 und den 2.1er den Du schon hast.

Es drängt ja nicht. aber wenn ich einen Wunsch äußern dürfte...
enable/disable ist schon super, aber ich fände es auch toll wenn man die Bewegungserkennung einzeln umschalten könnte von Surveillance auf CAM und dann wieder zurück.
So könnte ich mein Problem lösen wegen der Bewegungserkennung über Presence und die CAM wäre weiterhin aktiv und ich könnte Snapshots triggern wenn ich einen Befehl absetze.

Danke, schönen Abend, und bis denne.

Gruß

Holger




Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Januar 2016, 19:54:08
Hallo Holger,

danke für die Guides, die Neuen habe ich ja zur Programmierung, aber das 1.8 ist für den V6-Fall wahrscheinlich recht nützlich.
Schaue ich mir an.

Dein Wunsch kommt auf meine OP-Liste  ;)

Mache aber erstmal mit den schon vorhandenen Punkten weiter ....

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 25 Januar 2016, 21:58:02
Hallo miteinander,

habe die neue Version aus #82 gerade eingecheckt. Sie steht also morgen früh mit dem Update zur Verfügung.
Ich habe nochmal auf die DEF Änderung in den Notes hingewiesen .... hoffe es ist auffällig genug dass man es nicht überliest.

Einen schönen Abend noch ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 Januar 2016, 15:35:27
Hallo zusammen,

ich habe ein Problem in der Ablauflogik festgestellt, was dazu führen könnte dass eine Kameraaufnahme nicht beendet wird falls nach dem Start der Aufnahme FHEM beendet/restartet wird UND die eingestellte Aufnahmezeit noch nicht abgelaufen war.
Nun checke ich beim FHEM-Start alle Record-Status der Kameras anhand des Statefile und stoppe eine ggf. noch als laufend angezeigte Aufnahme.

Eine korrigierte Version checke ich gleich ein sodass sie morgen zur Verfügung steht.
Es sind noch ein paar Readings wie Kameramodell und eingestellte Vor-Aufnahme-Dauer (wird in SVS für die Kamera eingestellt) hinzugekommen.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 30 Januar 2016, 09:50:56
Guten Morgen,

danke für das Update. Wie immer alles ohne Probleme bei mir. Kamera Modell wird auch angezeigt.

Schönes Wochenende.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Januar 2016, 13:21:17
Hi Oli,

danke für die Rückinfo. Ja, so soll es sein  :)
Mal sehen ob ich am WE noch ein bisschen weiter machen kann.
Synology muß mir allerdings noch ein paar Infos liefern die ich dort angefragt habe, unter anderem auch die Sache mit deinen LEDs Oli ...

Schönes WE !

Gruß
Heiko
Titel: neue Funktion "get .... svsinfo"
Beitrag von: DS_Starter am 02 Februar 2016, 15:31:34
Hallo zusammen,

anbei wieder eine erweiterte Version des Moduls.

Neu ist hier die Funktion "get <name> svsinfo".  Diese Funktion liefert ein paar Readings zu dem installierten SVS-Paket und auch die effektiven Rechte des verwendeten Login-Nutzers. Die zusätzlichen Readings sind:

* SVScustomPortHttp     - benutzerdefinierter Port der Surveillance Station (HTTP) im DSM-Anwendungsportal
* SVScustomPortHttps   - benutzerdefinierter Port der Surveillance Station (HTTPS) im DSM-Anwendungsportal
* SVSlicenseNumber    - die Anzahl der installierten Kameralizenzen
* SVSuserPriv                 - die effektiven Rechte des verwendeten Users nach dem Login
* SVSversion                  - die Paketversion der installierten Surveillance Station

Die Informationen haben im Prinzip keinen Bezug zu einer bestimmten Kamera. Die Funktion kann manuell ausgeführt werden (Credentials müssen gesetzt sein). Sie wird aber bei jedem FHEM-Neustart automatsch einmalig angestartet um die Infos zu holen. Wenn das gut funktioniert, kann ich diese Werte nutzen um evtl. eine gewisse V6-Kompatibilität / Fallentscheidung zu erreichen bzw. die Ports automatisch ermitteln/nutzen.

Die Werte für "SVScustomPortHttp(s)" erscheinen allerdings nur dann, falls man in der Systemsteuerung-> Anwendungsportal im DSM  einen benutzerdefinierten Port Http(s) für die Surveillance Station  hinterlegt hat. Die generell eingestellten DSM-Ports (5000 oder geändert) liefert diese API allerdings nicht.

Bitte gebt Feedback wie es bei euch funktioniert.
Viel Spaß !

Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: FunkOdyssey am 03 Februar 2016, 09:02:39
Ich sehe gerade im CVS-Changelog, dass das Modul nun die Credentials löscht, wenn das Gerät gelöscht wird.

Jetzt mal ne doofe Frage:
Ich hatte vor wenigen Tagen SSCAM getestet und die benötigten Credentials eingegeben. Kurz danach habe ich das Device wieder gelöscht. Sind meine Daten nun noch irgendwo gespeichert? Kann ich die manuell löschen?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 03 Februar 2016, 09:04:15
Schau mal in /FHEM/FhemUtils/uniqueID.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 03 Februar 2016, 10:24:05
Hallo zusammen,

leider ist mir gestern beim bugfixing ein Fehler unterlaufen. Die Credentials-Deleteroutine befindet sich an einer falschen Stelle, was dazu führt das die Credentials ebenfalls (ungewollt) gelöscht werden wenn "rereadcfg" ausgeführt wird ..... habe ich soeben bemerkt.

Eine entprechend korrigierte Version habe ich soeben eingecheckt aber hänge sie hier auch an.

Sorry für die Unannehmlichkeiten .... da habe ich nicht aufgepasst.  :(
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Phantomas am 04 Februar 2016, 20:18:16
Hallo zusammen,

ich würde gern einen Snapschuss auf mein Handy über Whatsapp gesendet bekommen, wenn der Bewegungsmelder eine Bewegung meldet.

Der Snapschuss und auch das starten einer Aufnahme habe ich zum laufen gebracht. Leider bekomme ich das Foto nicht von der DS214play auf mein Handy.

Wie kann ich auf den letzten Snapschuss zugreifen und diesen über Whatsapp versenden.

Danke im voraus.  :)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 04 Februar 2016, 21:57:36
Hallo Phantomas,

eine integrierte Lösung zum Versand von Aufnahmen / Snapshots wird über die Synology API noch nicht bereitgestellt. Ich sage "noch" weil ich die Synologyentwicklung darauf angesprochen habe und die Kollegen an einer API-Erweiterung arbeiten wollen.

Um dein Problem zu lösen müßtest du wohl auf FHEM-eigene Pushdienste zurückgreifen, wie zum Beispiel "yowsup" (http://www.fhemwiki.de/wiki/Yowsup (http://www.fhemwiki.de/wiki/Yowsup)). Da ich eine Modul-integrierte Lösung anstrebe, habe ich es selbst nicht ausprobiert, aber hoffe dass es doch den einen oder anderen gibt der dich dabei unterstützen kann.

Wahrschein kann Oli aus Thread  #15 mehr unterstützen. Er hatte sich diesbezüglich bereits weiter schlau gemacht.
Sobald die Syno-API es hergibt, baue ich entsprechende Versandmöglichkeiten mit ein.

Edit: Die Snapshots befinden sich im Verzeichnis  /surveillance/@snapshots

Titel: neue Funktion PTZ Steuerung "Presets"
Beitrag von: DS_Starter am 04 Februar 2016, 22:36:53
Hallo zusammen,

habe das Modul um das Anfahren von Presetpositionen bei PTZ-Kameras erweitert.

"set <name> goPreset <Preset>"

Mit diesem Kommando können PTZ-Kameras in eine vordefininierte Position bewegt werden.
Die Preset-Positionen müssen dazu zunächst in der Synology Surveillance Station angelegt worden sein. Das geschieht in der PTZ-Steuerung im IP-Kamera Setup. Die Presets werden über das Kommando "set <name> getinfo" eingelesen (geschieht bei restart von FHEM automatisch). Der Einlesevorgang kann durch ein Kamerapolling regelmäßig wiederholt werden. Ein langes Pollingintervall ist in diesem Fall empfehlenswert da die Presetpositionen sich nur im Fall der Neuanlage bzw. Änderung verändern werden.

Hier ein Beispiel einer PTZ-Steuerung in Abhängigkeit eines IR-Melder Events:

    define CamFL.Preset.Wandschrank notify MelderTER:on.* set CamFL goPreset Wandschrank, ;; define CamFL.Preset.record
    at +00:00:10 set CamFL on 5 ;;;; define s3 at +*{3}00:00:05 set CamFL snap ;; define CamFL.Preset.back at +00:00:30 set CamFL goPreset Home
 

Funktionsweise:
Der IR-Melder "MelderTER" registriert eine Bewegung. Daraufhin wird die Kamera CamFL in die Preset-Position "Wandschrank" gebracht. Eine Aufnahme mit Dauer von 5 Sekunden startet 10 Sekunden später. Da die Voraufnahmezeit der Kamera 10s beträgt (vgl. Reading "CamPreRecTime"), startet die effektive Aufnahme wenn der Kameraschwenk beginnt.
Mit dem Start der Aufnahme werden drei Schnappschüsse im Abstand von 5 Sekunden angefertigt.
Nach einer Zeit von 30 Sekunden fährt die Kamera wieder zurück in die "Home"-Position.

Ein Auszug aus dem Log verdeutlicht den Ablauf:

 
   2016.02.04 15:02:14 2: CamFL - Camera Flur_Vorderhaus has moved to position "Wandschrank"
   2016.02.04 15:02:24 2: CamFL - Camera Flur_Vorderhaus Recording with Recordtime 5s started
   2016.02.04 15:02:29 2: CamFL - Snapshot of Camera Flur_Vorderhaus has been done successfully
   2016.02.04 15:02:30 2: CamFL - Camera Flur_Vorderhaus Recording stopped
   2016.02.04 15:02:34 2: CamFL - Snapshot of Camera Flur_Vorderhaus has been done successfully
   2016.02.04 15:02:39 2: CamFL - Snapshot of Camera Flur_Vorderhaus has been done successfully
   2016.02.04 15:02:44 2: CamFL - Camera Flur_Vorderhaus has moved to position "Home"


Die Version ist hier angehängt und ich wünsche euch viel Spaß beim Testen ...
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Phantomas am 06 Februar 2016, 02:54:35
Hallo DS_Starter,

vielen Dank für deine Antwort.
Ich habe den Fhem-Dienst "yowsup" schon bei mir am laufen. Habe es aber noch nicht geschafft, das FHEM aus dem Verzeichnis der DS ( /surveillance/@snapshots) den letzten Snapshot nimmt und an mein Handy versendet.

Gruß Phantomas

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 08:09:21
Guten Morgen,

na warten wir mal ob sich noch jemand dazu meldet.
Sieh auch mal hier http://forum.fhem.de/index.php/topic,45906.msg376829.html#msg376829 (http://forum.fhem.de/index.php/topic,45906.msg376829.html#msg376829)
Oli hatte das Problem schon mal angefasst, allerdings zum Mailversand des letzten Snapshots.
Aber die Vogehensweise läßt sich sicherlich adaptieren, vielleicht meldet sich Oli ja noch.


Titel: weitere Funktion "set <name> goTilt [ X Y | up | down | left | right ]"
Beitrag von: DS_Starter am 06 Februar 2016, 10:17:26
Hallo zusammen,

ich habe die PTZ-Steuerung weiterentwickelt und um die freie Positionierung ergänzt.
Seht dazu hier den Auszug aus der commandref.

set <name> goAbsPTZ [ X Y | up | down | left | right ]

Mit diesem Kommando wird eine PTZ-Kamera in Richtung einer wählbaren X/Y-Koordinate bewegt, oder in die Richtung up/down/left/right. Die Option ist nur für Kameras verfügbar die das Reading "CapPTZAbs=true" besitzen. Die Eigenschaften der Kamera kann mit "get <name> caminfoall" abgefragt werden.

Beispiel für freie X/Y-Koordinaten Steuerung:

set <name> goAbsPTZ 120 450
Dieses Beispiel bewegt die Kameralinse in die Position X=120 und Y=450.
Der Wertebereich ist dabei:

X = 0 - 640      (0 - 319 bewegt nach links, 321 - 640 bewegt nach rechts, 320 bewegt die Linse nicht)
 Y = 0 - 480      (0 - 239 bewegt nach unten, 241 - 480 bewegt nach oben, 240 bewegt die Linse nicht)

Die Linse kann damit in kleinsten bis sehr großen Schritten in die gewünschte Richtung bewegt werden. Dieser Vorgang muß ggf. mehrfach wiederholt werden um die Kameralinse in die gewünschte Position zu bringen.

Soll die Bewegung mit der maximalen Schrittweite erfolgen, kann zur Vereinfachung der Befehl:

set <name> goAbsPTZ up [down ] [left] [right]
verwendet werden. Die Optik wird in diesem Fall mit der größt möglichen Schrittweite in die angegebene Richtung bewegt. Auch in diesem Fall muß der Vorgang ggf. mehrfach wiederholt werden um die Kameralinse in die gewünschte Position zu bringen.

Wie immer habe ich die erweiterte Version hier schon mal angehängt.

viele Grüße
Heike
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 10:37:24
Oli hatte das Problem schon mal angefasst, allerdings zum Mailversand des letzten Snapshots.
Aber die Vogehensweise läßt sich sicherlich adaptieren, vielleicht meldet sich Oli ja noch.

Guten Morgen,

ja, ich hatte mich mal daran versucht, die Snapshots, welche die SS auf der DS ablegt, per Mail zu versenden, habe mir aber an der Tatsache, dass die Snapshots mit dem Zeitstempel als Dateinamen abgelegt werden, die Zähne ausgebissen. Ich habe keine Ahnung, wie ich der Mailfunktion in FHEM den aktuellen Dateinamen als Variable übergeben soll. Sicher wird das irgendwie gehen, aber das ist mir leider momentan noch zu hoch.

Nach wie vor benutzte ich für Snapshots das IPCAM-Modul http://fhem.de/commandref.html#IPCAM (http://fhem.de/commandref.html#IPCAM). Dieses legt die Snapshots mit dem Kameranamen als Dateinamen ab. Der ist natürlich immer konstant, sodass man in DebianMail keine Variable übergeben muss. Funktioniert bisher ganz gut. Aber vielleicht kommt die Funktion ja irgendwann mal im SSCam-Modul. Das wäre natürlich noch eleganter.

Gruß
Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 10:56:42
Hallo Heiko,

ich habe Deine neue Version mal getestet. Die goPreset-Funktion funktioniert einwandfrei. Allerdings tut sich bei goTilt nichts. Ich erhalte folgende Fehlermeldung im Log:

2016.02.06 10:45:09 1: SSCam_Kellertreppe - ERROR - Operation goabsptz of Camera Kellertreppe was not successful. Errorcode: 400 - Execution failed
Ich habe das bei all meinen PTZ-Kameras (3x Foscam) mit unterschiedlichen Koordinaten und up/down/left/right Kommandos probiert. Immer dasselbe Verhalten.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 11:51:01
Hi Oli,

mach mal bitte einen verbose=4 und poste das.

Sollte etwa so aussehen:

2016.02.06 11:49:46.512 4: CamFL_Test - --- Begin Function cam: goabsptz nonblocking ---
2016.02.06 11:49:46.734 4: CamFL_Test - URL-Call: http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.PTZ&version=4&method=AbsPtz&cameraId=4&posX=320&posY=0&_sid="oHEwLrLZsPcng14A0MIN235902"
2016.02.06 11:49:46.735 4: CamFL_Test - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

2016.02.06 11:49:46.735 2: CamFL_Test - Camera Flur_Vorderhaus has moved to position "posX=320" and "posY=0"
2016.02.06 11:49:46.736 4: CamFL_Test - --- End Function cam: goabsptz nonblocking ---


EDIT: Ich bekomme die Fehlermeldung:  "Errorcode: 400 - Execution failed" von der SVS zurück wenn der Nutzer zuwenig Rechte für die Operation hat.
Habe ich gerade provoziert.

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 12:15:40
Bitteschön...

Oli

EDIT: set Kamera goPreset XXX funktioniert ja.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 12:23:00
Ja, passt jschon  ;) Na dann mach mal noch einen verbose = 4 -Auszug. Dann können wir mal schauen ...

Edit:  Und am Besten ein "list" der Kamera noch dazu ...

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 12:32:37
Den verbose=4 Log-Auszug hatte ich oben im Anhang.

Internals:
   CAMID      1
   CAMNAME    Kellertreppe
   CREDENTIALS Set
   DEF        Kellertreppe 192.168.188.35 5000
   NAME       SSCam_Kellertreppe
   NR         514
   OPMODE     goabsptz
   SERVERADDR 192.168.188.35
   SERVERPORT 5000
   STATE      moving
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 5
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     CREDENTIALS X5SJ\Y1?ZpZ~hJnv
     GOPRESETNAME Home
     GOPTZPOSX  50
     GOPTZPOSY  240
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
     Allpatrols:
     Allpresets:
       Home       3
       Schreibtisch 6
       Treppe     5
       rechts     4
     Svsversion:
       BUILD      4110
       MAJOR      7
       MINOR      1
   Readings:
     2016-02-06 11:59:17   Availability    enabled
     2016-02-06 11:27:28   CamIP           192.168.188.21
     2016-02-06 11:27:28   CamLiveMode     Liveview from DS
     2016-02-06 11:27:28   CamModel        FI8918W
     2016-02-06 11:27:28   CamPort         80
     2016-02-06 11:27:28   CamPreRecTime   5
     2016-02-06 11:27:28   CamRecShare     surveillance
     2016-02-06 11:27:28   CamRecVolume    volume1
     2016-02-06 11:27:28   CamVendor       FOSCAM
     2016-02-06 11:27:31   CapAudioOut     false
     2016-02-06 11:27:31   CapChangeSpeed  false
     2016-02-06 11:27:31   CapPTZAbs       false
     2016-02-06 11:27:31   CapPTZAutoFocus false
     2016-02-06 11:27:31   CapPTZDirections 8
     2016-02-06 11:27:31   CapPTZFocus     false
     2016-02-06 11:27:31   CapPTZHome      true
     2016-02-06 11:27:31   CapPTZIris      false
     2016-02-06 11:27:31   CapPTZPan       support continuous operation
     2016-02-06 11:27:31   CapPTZTilt      support continuous operation
     2016-02-06 11:27:31   CapPTZZoom      false
     2016-02-06 11:27:28   DeviceType      PTZ
     2016-02-06 12:13:15   Error           Execution failed
     2016-02-06 12:13:15   Errorcode       400
     2016-01-14 23:01:51   LastSnapId      6
     2016-02-06 11:27:28   LastUpdateTime  20.01.2016 / 08:32:59
     2016-02-06 11:27:40   Patrols
     2016-02-06 11:27:26   PollState       Inactive
     2016-02-06 11:27:37   Presets         Home,Schreibtisch,Treppe,rechts
     2016-02-06 11:27:28   Record          Stop
     2016-02-06 10:52:32   SVSlicenseNumber 6
     2016-02-06 10:52:32   SVSuserPriv     Manager
     2016-02-06 10:52:32   SVSversion      7.1-4110
     2016-02-06 11:27:28   UsedSpaceMB     1.210
     2016-02-06 11:27:28   VideoFolder     /volume1/surveillance/Flur
     2016-02-06 12:13:15   state           moving
Attributes:
   devStateIcon on:rc_dot@red off:rc_dot@green disabled:rc_dot
   httptimeout 8
   rectime    10
   room       Kameras
   session    SurveillanceStation
   userattr   room_map structexclude
   webCmd     on:off:snap:enable:disable

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 12:38:49
ok ... Sorry, hatte ich übersehen.
Also da steht alles so drin wie es sein sollte. Da vermute ich mal in RIchtung API .... melde mich gleich wieder ...

So .... Oli nimm bitte mal die angehängte Version auf ein Neues ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 13:00:27
Mmh, leider keine Änderung...

EDIT: Aber mach Dir keinen Stress. Ich benötige die Funktion derzeit nicht. Habe sie nur der Vollständigkeit halber getestet.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 15:41:51
Hi Oli,

ich bin dir sehr dankbar dass du alles auch testest. Denn es ist schon sehr eigenartig wie unterschiedlich sich doch die verschiedenen Surveillance Station Versionen verhalten.   Ich hab die Version 7.1-4122, du die 7.1-4110. Bei mir läuft es einwandfrei und du hast mit einer Funktion Schwierigkeiten obwohl die der "Preset"-Funktion SEHR ähnlich ist.
 
Auf jeden Fall ist der "Errorcode: 400 - Execution failed" eine Mitteilung die die Surveillance Station auf den HttP-Call zurück bringt.

http://192.168.188.35:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.PTZ&version=3&method=AbsPtz&cameraId=1&posX=120&posY=450&_sid="mJeoujwhWNv4gC4KNN03999"

Ich habe nochmal eine Änderung vorgenommen. Versuche es bitte damit wieder ....

Edit: Und wenn das auch nichts bingt, benutze mal bitte eine DSM-Session mit Admin-Group-Nutzer. Nur um sicher zu gehen dass es kein Rechteproblem gibt was in dem Fall m.M. nach ein Bug wäre.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 16:40:09
Ich habe die neue Version eingespielt. Leider keine Änderung.
Anschließend habe ich "attr Session DSM" gesetzt und anschließend die credentials für den DSM-Admin gesetzt. Leider bleibt die Fehlermeldung.

Soll ich mal die Surveillance Station Version auf 7.1-4122 heben, oder willst Du weiter testen?

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 16:57:02
Hallo Oli,

das sieht mir sehr nach Versionsproblem aus, einen Programmbug schließe ich mittlerweile aus.

Hebe die SVS-Version mal auf die aktuelle an.
Bin da echt gespannt ....

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 17:30:09
Hallo Oli,

ich glaube wir sind auf dem falschen Pfad.

Laut deinem Kamera-List kann deine Kamera gar keine AbsPTZ-Aktion:
016-02-06 11:27:31   CapChangeSpeed  false
     2016-02-06 11:27:31   CapPTZAbs       false
     2016-02-06 11:27:31   CapPTZAutoFocus false
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 18:21:58
Hallo Oli,

ich glaube wir sind auf dem falschen Pfad.

Laut deinem Kamera-List kann deine Kamera gar keine AbsPTZ-Aktion:
016-02-06 11:27:31   CapChangeSpeed  false
     2016-02-06 11:27:31   CapPTZAbs       false
     2016-02-06 11:27:31   CapPTZAutoFocus false

Ich wollte gerade schreiben, dass auch das Update der Surveillance Station nichts gebracht hat. Und dann wollte ich noch schreiben, dass ich hoffe, dass es kein Anwenderfehler ist.
Tut mir leid, ich wusste nicht, dass die Funktion von der Kamera speziell unterstützt werden muss. Dachte, PTZ reicht.

Entschuldige bitte die Verwirrung, und danke trotzdem für die Mühe.

Zerknirschte Grüße
Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 Februar 2016, 18:51:06
Hi OLi,

nein ich danke für DEINE Mühe ... weiter so  :)

Wir haben doch ein Ergebnis erzielt. So werde ich in dem Modul die Abfrage auf das Reading ändern, dass diese Funktion wirklich nur bei PTZ-Kameras angeboten wird, die CapPTZAbs = true tragen. Dann dürfte es keine Verwirrung mehr geben.

Und du bist auf der aktuellen SVS-Version  ;)

Also schönen Abend und bis zum nächsten Mal !

Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 06 Februar 2016, 19:03:49
Wir haben doch ein Ergebnis erzielt.
Nett, dass Du das so siehst.  :D

Zitat
Und du bist auf der aktuellen SVS-Version  ;)
Ja, bin ich.

Zitat
Also schönen Abend und bis zum nächsten Mal !
Ja, wünsche ich Dir auch.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 07 Februar 2016, 07:49:15
Das Modul entwickelt sich ja erstaunlich schnell. Sehr schön. Was mir aktuell gar nicht gefällt ist, dass es zu geschwätzig ist. Log Einträge über einen gestartetes und gestopptes Recording oder einen erfolgreichen Snapshot gehören, meiner Ansicht nach, nicht nach verbose 2 sonder eher nach 3. So muss man es zumindest in Relation zu vielen anderen Modulen sehen, die ähnliche Einträge nach 3 loggen. Eventuell kannst du ja überlegen, hier was zu machen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 07 Februar 2016, 08:39:16
Guten Morgen Marvin78,

danke für den Hinweis.
Habe kurz darüber nachgedacht, die Änderung als richtig und sinvoll eingeschätzt, die Logeinträge im Modul entsprechend durchgesehen / auf "3" geändert und eingecheckt.

Zitat
Das Modul entwickelt sich ja erstaunlich schnell ....
Wenn das Frühjahr losgeht und die Gartenzeit beginnt ist es damit vorbei  ;)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 07 Februar 2016, 11:01:38
Danke!
Titel: weitere Funktion "set <name> move [ up | down | left | right | dir_X ]"
Beitrag von: DS_Starter am 08 Februar 2016, 21:43:52
Hallo zusammen,

zusätzlich zu der Koordinatensteuerung "set <name> goAbsPTZ" habe ich nun auch die kontinuierliche Bewegung von PTZ-Linsen implementiert.

@Oli, deine Kamera sollte diese Möglichkeit nun nutzen können.

HIer wieder ein Auszug aus der Beschreibung zur Anwednung des Befehls.

set <name> move [ up | down | left | right | dir_X ] [Sekunden]

Mit diesem Kommando wird eine kontinuierliche Bewegung der PTZ-Kamera gestartet. Neben den vier Grundrichtungen up/down/left/right stehen auch Zwischenwinkelmaße "dir_X" zur Verfügung. Die Feinheit dieser Graduierung ist von der Kamera abhängig und kann dem Reading "CapPTZDirections" entnommen werden.

Das Bogenmaß von 360 Grad teilt sich durch den Wert von "CapPTZDirections" und beschreibt die Bewegungsrichtungen beginnend mit "0=rechts" entgegen dem Uhrzeigersinn. D.h. bei einer Kamera mit "CapPTZDirections = 8" bedeutet dir_0 = rechts, dir_2 = oben, dir_4 = links, dir_6 = unten nzw. dir_1, dir_3, dir_5 und dir_7 die entsprechenden Zwischenrichtungen. Die möglichen Bewegungsrichtungen bei Kameras mit "CapPTZDirections = 32" sind dementsprechend kleinteliger.

Im Gegensatz zum "set <name> goAbsPTZ"-Befehl startet der Befehl "set <name> move" eine kontinuierliche Bewegung bis ein Stop-Kommando empfangen wird. Das Stop-Kommando wird nach Ablauf der optional anzugebenden Zeit [Sekunden] ausgelöst. Wird diese Laufzeit nicht angegeben, wird implizit Sekunde = 1 gesetzt.

Beispiele:
set <name> move up 0.5          : bewegt die Linse 0,5 Sekunden (zzgl. Prozesszeit) nach oben (zzgl. Prozesszeit)
 set <name> move dir_1 1.5       : bewegt die Linse 1,5 Sekunden (zzgl. Prozesszeit) nach rechts-oben
 set <name> move dir_20 0.7      : bewegt die Linse 1,5 Sekunden (zzgl. Prozesszeit) nach links-unten bei "CapPTZDirections = 32"

Viel Spaß beim Testen ....

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 09 Februar 2016, 08:54:20
Guten Morgen Heiko!

Danke für das Update. Funktioniert super. Auch das bei meinen Kameras nicht verfügbare Kommando (war es nun goTilt oder goAbsPTZ..?) wird bei mir nicht mehr angeboten. So war das ja glaub ich von Dir geplant.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 09 Februar 2016, 10:24:53
Morgen Oli,

goTilt hatte ich die Funktion in der Testversion genannt, habe mich aber zu goAbsPTZ unentschieden um den Bezug zur inhaltlichen Funktion eindeutiger abzugrenzen.

Du hast recht, so wie du es beschrieben hast ist es geplant.
Danke für deine Mitarbeit Oli :)

Schönen Tag Oli ....

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 09 Februar 2016, 12:28:41
@DS_Starter
Gibt die API evtl den Dateinamen oder etwas vergleichbares des über SSCam erstellten Snapshots zurück?
Das würde nämlich sehr bei der Weiterverarbeitung des Snapshots helfen ;)
Danke
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 09 Februar 2016, 13:00:18
Bis jetzt habe ich nur etwas bezüglich der ID gelesen die ich auch als Reading zur Verfügung stelle. Werde mich aber die nächsten Tage nochmal mit der Frage auseinandersetzen....

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 09 Februar 2016, 14:29:41
Danke!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 10 Februar 2016, 21:20:35
Guten Abend zusammen, hallo Oli82,

Zitat
Gibt die API evtl den Dateinamen oder etwas vergleichbares des über SSCam erstellten Snapshots zurück?

Es ist mir gelungen über einen weiteren API-Call den Filenamen zu einer gegebenen Snap-ID zu ermitteln und als Reading "LastSnapFilename" mit auszugeben.
Mit dem angehängten File wird der Filename nach dem Snapshot automatisch anhand der gelieferten Snap-ID ermittelt.

Ich glaube das kann man nun gut für die Weiterverarbeitung verwenden. Ich würde mich freuen zu lesen ob und wie es nützt ...  :)


Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 10 Februar 2016, 23:37:27
ICH. DREH. DURCH!!! Vielen Dank für dieses Update.

Ich glaube das kann man nun gut für die Weiterverarbeitung verwenden. Ich würde mich freuen zu lesen ob und wie es nützt ...  :)

Und ob es das tut. Wieder eine geniale Funktion!
Ich hatte es zunächst so gelöst, dass ich beim Auslösen des Bewegungsmelders eine Reihe von Aktionen ablaufen lasse:

([Bmelder:?motion])
(set Kamera snap)
(set Kamera on)
({ DebianMail('mail@me.com','Achtung Bewegung!','','/home/pi/NAS/surveillance/@Snapshot/[Kamera:LastSnapFilename]') } )
attr Bmelder_doif wait 0,1,3

Allerdings habe ich festgestellt, dass es schon so an die 5 Sekunden dauern kann, bis das Reading "LastSnapFilename" aktualisiert ist. Das heißt, dass dann und wann ein alter Snapshot per Mail versendet wurde.
Nun triggere ich direkt auf das Reading "Kamera:LastSnapFilename". So funktioniert es sehr gut.

([Bmelder:?motion])
(set Kamera snap)
(set Kamera on)
([Kamera:?LastSnapFilename])
({ DebianMail('mail@me.com','Achtung Bewegung!','','/home/pi/NAS/surveillance/@Snapshot/[Kamera:LastSnapFilename]') } )

Das heißt, der Bewegungsmelder triggert den Snapshot und die Aufnahme. Wenn der Snapshot im Kasten ist, triggert das Reading "LastSnapFilename" den Mailversand.

Ein echtes Power-Modul!  8)

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 10 Februar 2016, 23:42:48
Hi Oli,

Klasse !  :)

Schauen wir mal was wir noch so realisieren können.
Danke für deine Rückmeldung und gute Nacht !

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 11 Februar 2016, 08:12:50
Danke DS_Starter, dass du das so schnell umgesetzt hast.

Ich nutze die Funktion wie OliS., nur dass ich anstatt des Bewegungsmelders die Bewegungserkennung der DS nutze.
Leider habe ich noch ein Yowsup Problem mit jpg-Dateien, sonst würde ich den Versand des Bildes damit lösen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 11 Februar 2016, 10:13:23
...nur dass ich anstatt des Bewegungsmelders die Bewegungserkennung der DS nutze.

Moin, oli82!

Aber kannst Du dann nicht gleich die Mailfunktion der Surveillance Station nutzen, um Dir die Snapshots zusenden zu lassen? So lief das früher bei mir.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 11 Februar 2016, 10:17:17
Das war mein erster Ansatz. Vor ca 5 Minuten hab ich´s nun auch geschafft, die Bilder per WhatsApp (yowsup) zu versenden.
Lag dann doch an den jpg-Dateien, die vom IPCAM Modul kamen. Die Snapshots direkt von der SSC funktionieren.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 11 Februar 2016, 14:20:27
Hallo, Heiko,

beim Rumbasteln mit der neuen Snapshot-Funktion habe ich mich gefragt, ob sich das Ganze auch auf die Videoaufnahmen ausweiten ließe.

Beispiel:
Die Kamera startet abhängig von einem Event eine Aufnahme und einen Snapshot. Den Snapshot lasse ich mir per Mail zusenden, zusätzlich mit einer URL zu der Aufnahme in der DSCam-App.
Soviel ich weiß, unterstützt die iOS-App sogenannte URL-Schemes. Man könnte dann einen Link in die Mail mit dem Snapshot packen, nach dem Schema "synocam://ID_DER_AUFNAHME". Dann könnte man durch Klick auf den Link gleich die DSCam-App mit der entsprechenden Aufnahme starten.

Nur mal so als Idee. Vielleicht gibt die API ja sowas in der Art her.

Gruß
Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 11 Februar 2016, 14:31:13
Hi Oli,
das ist wieder etwas für einen Winter / Schlechtwetterabend.
Nehme ich mit auf meine Liste ....

Ich muß auch mal schauen die ganzen Funktionen in meiner eigenen Syno / FHEM -Installation in den produktiven Einsatz zu nehmen. Komme irgendwie zu nichts mehr ..  ;)

Danke für die gute Idee ....

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 12 Februar 2016, 11:02:19
Guten Morgen,

mit Bedauern musste ich heute feststellen, dass sich Snapshots und Aufnahmen - zumindest in meiner Konfiguration - nicht sinnvoll zusammen, also gleichzeitig, nutzen lassen. Ich habe es bei mir so eingerichtet, dass bei Auslösen eines Bewegungsmelders die entsprechende Kamera eine Aufnahme startet und einen Snapshot macht. Mein DOIF sieht so aus:

([BMelder2:?motion])

(set pushmsg msg 'ACHTUNG' 'Bewegung Kellertreppe!' '' 1 '')
(set SSCam_Kellertreppe snap)
(set SSCam_Kellertreppe on)
((set DM800 showText Achtung, Bewegung an der Kellertreppe!))

Ich habe bereits versucht, die Aktionen "snap" und "on" zu tauschen, jedoch immer mit dem selben Ergebnis. Die jeweils zweite Aktion wird immer erst vier bis fünf Sekunden nach der ersten ausgeführt. Heißt: entweder auf dem Snapshot ist die Person, die den Bewegungsmelder auslöst zu sehen, oder auf der Aufnahme. Nie auf beidem. Ich weiß allerdings momentan nicht, ob das an meinem DOIF, an meiner FHEM-Hardware oder an meiner DS liegt.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 Februar 2016, 11:43:50
Hi Oli,

ich vermute das liegt an den Durchlaufzeiten deiner Http-Calls. Du hattest (oder hast) ja auch Schwierigkeiten mit dem Http-Standardtimeout.
Die Logik im Modul funktioniert so, dass solange ein Http-Call (es ist nicht die Funktion gemeint !) läuft, kann kein weiterer Call bzgl. derselben Kamera ausgeführt werden. Dieser befindet sich in einer kleinen Warteschleife bis der vorangegangene Call abgearbeitet wurde oder mit Timeout rausfliegt.

Ich würde folgendes machen.
Starte zuerst den Snapshot und dann die Aufnahme. Aber um auch die Zeit vor dem Triggerpunkt bzw. deinem "Versatz" mit abzuspeichern, setze dir in der SVS eine "Voraufnahmezeit" von X Sekunden. Das siehst du auch am Reading "CamPreRecTime". Bei mir habe ich z.B. 10Sekunden eingestellt. D.h. die 10 Sekunden vor dem eigentlichen Triggerevent werden mit abgespeichert und man sieht die Personen in die Aufnahme laufen.

Könnte mir vorstellen dass dieses Vorgehensweise dir hilft .... schau mal .
Kannst ja auch nochmal ein List wegen dem Reading "CamPreRecTime" anhängen.

Habe den Mailversand mit den Snapshots jetzt auch bei meinen Kameras produktiv umgesetzt. Das läuft sehr gut. Allerdings habe ich festgestellt dass der sendmail-Aufruf zu einer Blockierung von FHEM von ca. 1-2 Sekunden führt. Das ist nicht sehr schön und ich will versuchen den Mailversand mit exim4 und Smarthost umzusetzen. Damit soll dieser Umstand vermieden werden. Vielleicht hat jemand von euch das schon gemacht und kann seine Erfahrungen mitteilen.

Sobald Synology eine integrierte Versandfunktion von Snapshots, ausgelöst bei external events per API einbaut, sind wir die Sorgen freilich auch los. Aber wird sicher noch dauern.

Kleine Ergänzung:

Für den Start der Aufnahme, des Snapshots verwende ich ein Notify:
MelderHE1:on.* set CamHE1 on ; define s1 at +00:00:01 set CamHE1 snap
Die 1 Sekunde Verzögerung habe ich für den Snapshot eingebaut je nachdem wie der BewMelder in Bezug zur Kamera angebaut ist. Meine Bewegungsmelder "überblicken" einen etwas größeren Bereich als die Kameras.

Und für den Mailversand ein DOIF:
    
([CamHE1:?LastSnapFilename]) ({DebianMail ('Name@Domain','Bewegungsalarm CamHE1','Eine Bewegung wurde an der Haustür registriert.','/media/sf_surveillance/@Snapshot/[CamHE1:LastSnapFilename]')})
Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 12 Februar 2016, 13:09:25
Hallo Heiko,

ich habe mit dem Wert "CamPreRecTime" mal etwas gespielt. Komischerweise hat das dazu geführt, dass die Zeitspanne zwischen den Aktionen "snap" und "on" noch länger geworden ist. Keine Ahnung, warum!

Allerdings denke ich, dass es bei mir noch an der "besonderen" Konstellation lag, dass ein Bewegungsmelder gleich zwei Kameras auslösen soll, die beide mehr oder weniger den selben Bereich überwachen. Das sind dann pro Auslösung schon vier HTTP-Calls, die abgearbeitet werden müssen.
Ich lasse jetzt den Melder erst mal nur eine Kamera auslösen. Das funktioniert dann auch ohne größere Verzögerung.

Zitat
Habe den Mailversand mit den Snapshots jetzt auch bei meinen Kameras produktiv umgesetzt. Das läuft sehr gut. Allerdings habe ich festgestellt dass der sendmail-Aufruf zu einer Blockierung von FHEM von ca. 1-2 Sekunden führt. Das ist nicht sehr schön und ich will versuchen den Mailversand mit exim4 und Smarthost umzusetzen. Damit soll dieser Umstand vermieden werden. Vielleicht hat jemand von euch das schon gemacht und kann seine Erfahrungen mitteilen.

Ich finde den Mailversand über FHEM und DebianMail auch recht krampfig.
Bei uns ist es so, dass, wenn jemand ums Haus schleicht, ganze vier Bewegungsmelder ausgelöst werden können, die insgesamt auch vier Kameras steuern. Bedeutet viermal Mailversand. Da ist es bei solchen doch zeitkritischen Situationen natürlich blöd, wenn FHEM über Sekunden blockiert.

Zitat
Sobald Synology eine integrierte Versandfunktion von Snapshots, ausgelöst bei external events per API einbaut, sind wir die Sorgen freilich auch los.

Das wäre natürlich sehr hilfreich.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 Februar 2016, 13:29:51
ich habe mit dem Wert "CamPreRecTime" mal etwas gespielt. Komischerweise hat das dazu geführt, dass die Zeitspanne zwischen den Aktionen "snap" und "on" noch länger geworden ist. Keine Ahnung, warum!
Ja, das ist echt komisch. Diese Voraufnahmezeit spielt sich einzig und alleine in der Surveillance Station ab. FHEM oder das Modul haben damit nichts zu tun. Vielleicht kommst du der Sache auf die Spur wenn du mal in "global" mseclog=1 setzt um im Log auch Millisekunden zu sehen. Wenn du dir dann ein Verbose = 4 - Log anschaust solltest du eigentlich recht gut sehen wie die Verzögerungszeiten bei den HTTP-Calls und der Verarbeitung liegen. Eigentlich müßte man zeitgleich auch die Auslastung der Syno betrachten, aber das wird sicherlich etwas schwierig.
Aber nach deiner Darstellung halte ich es für recht wahrscheinlich dass deine Syno und damit die SVS teilweise nicht hinterherkommt wenn zuviel gleichzeitig auf sie einstürzt. Sonst könnte ich mir dieses Verhalten nicht wirklich erkären.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 12 Februar 2016, 13:42:57
Hey, Glückwunsch zum Full Member!  8)

Ja, ich werde mal noch ein bisschen an den Stellschräubchen "CamPreRecTime" und dem DOIF Attribut "wait" drehen.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 Februar 2016, 13:47:37
Oh,  Wahnsinn  ;)

Bin gespannt was du dann berichten kannst Oli .
Bis dahin....

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 Februar 2016, 09:22:34
Hallo Oli, hallo zusammen,

mit dem Update heute morgen habe ich wegen eines anderen kleinen Problems etwas gefixt und bei der Gelegenheit das Logging bei verbose= 4 ein wenig verändert. Dadurch sieht man jetzt sehr schön wann ein Http-Call abgesetzt wird und wann die Antwort und die Verarbeitung erfolgt.

Ich habe  ein Beispiel für das aktuelle Thema der Snapshot-Aufnahme und des Versandes angefertigt und mitgeloggt.
Die Zeiten werden bei jedem sicher in Abhängigkeit der Umgebung anders liegen, aber der Auszug soll als Anhaltspunkt für eigene Betrachtunegn dienen.

08:21:46.673 4: CamHE1 - Recording of Camera Hauseingang will be started now
08:21:47.059 4: CamHE1 - Call-Out now: http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=2&cameraId=1&action=start&_sid="Jkactzo61A5vo14A0MIN235902"

08:21:48.011 4: CamHE1 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

08:21:48.015 3: CamHE1 - Camera Hauseingang Recording with Recordtime 22s started

08:21:48.342 4: CamHE1 - Take Snapshot of Camera Hauseingang

08:21:48.740 4: CamHE1 - --- Begin Function cam: Snap nonblocking ---
08:21:48.744 4: CamHE1 - Call-Out now: http://192.168.2.10:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.SnapShot"&dsId=0&method="TakeSnapshot"&version="1"&camId=1&blSave=true&_sid="L1EWK7Cibg7Z614A0MIN235902"

08:21:50.424 4: CamHE1 - JSON returned: $VAR1 = {
          'data' => {
                      'id' => 892
                    },
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

Man sieht recht schön dass ca 1 Sek. benötigt wird den Start einer Aufnahme zu triggern und ca. 1,4 Sek. um die Antwort auf  eine Schnappschuß-Anforderung zu bekommen. Zwischen dem Start der Aufnahme und dem Start des Schnappschusses liegen bei mir effektiv ca. 1,7 Sek.
Die Sollverzögerung  lt. meinem verwendeten Notifify zwischen beiden Aktionen ist auf 1 Sek. gesetzt.

Schönes WE !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 13 Februar 2016, 11:29:22
Guten Morgen,

hast Du vergessen, die Datei anzuhängen?

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 Februar 2016, 11:35:04
Hi Oli,

na eigentlich sind die relevanten Teile des Auszugs in dem Text oben mit enthalten und fett gekennzeichnet.
Ich kann aber auch nochmal einen umfassenderen Logauszug anfertigen und als Datei anhängen.
Mach ich aber irgenwann später ... bin grad ein bisschen im Stress ....

Edit: Ach, jetzt weiß ich was du meinst .... das Update habe ich gestern Abend eingecheckt .... einfach per update fhem ziehen . Sorry, stand auf dem Schlauch  ;)

VG
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 Februar 2016, 23:52:55
Hallo Oli,

bist du mit deinem Problem weitergekommen ?


viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 14 Februar 2016, 08:40:58
bist du mit deinem Problem weitergekommen ?

Guten Morgen,

bis jetzt noch nicht. Ich komme dieses Wochenende aber leider auch nicht wirklich zum Testen.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 14 Februar 2016, 10:56:20
Ok, ich hab das mal kurz mitgeloggt. Bei mir sieht es auszugsweise so aus:

2016.02.14 10:33:15.876 4: SSCam_Terrasse1 - Take Snapshot of Camera Terrasse1
2016.02.14 10:33:18.330 4: SSCam_Terrasse1 - --- Begin Function cam: Snap nonblocking ---
2016.02.14 10:33:18.375 4: SSCam_Terrasse1 - Call-Out now: http://192.168.188.35:5000/webapi/entry.cgi?...
2016.02.14 10:33:18.903 4: SSCam_Terrasse1 - JSON returned: {'success'.....
2016.02.14 10:33:18.978 3: SSCam_Terrasse1 - Snapshot of Camera Terrasse1 has been done successfully
2016.02.14 10:33:18.978 4: SSCam_Terrasse1 - --- End Function cam: Snap nonblocking ---


2016.02.14 10:33:22.874 4: SSCam_Terrasse1 - Recording of Camera Terrasse1 will be started now
2016.02.14 10:33:22.875 4: SSCam_Terrasse1 - --- Begin Function getapisites nonblocking ---
2016.02.14 10:33:23.202 4: SSCam_Terrasse1 - JSON returned: {'success'....
2016.02.14 10:33:26.600 3: SSCam_Terrasse1 - Camera Terrasse1 Recording with Recordtime 10s started

Das ist nur eine der beiden Kameras, die bei Auslösen des Bewegungsmelders in Aktion treten. Die zweite Kamera habe ich jetzt mal nicht mitgeloggt. Aber man sieht, dass da schon an die zehn Sekunden ins Land gehen, bis die ganzen Aktionen abgearbeitet sind. Wie gesagt, vier HTTP-Calls sind für meine Konfiguration wahrscheinlich einfach zu viel. Und da war jetzt noch nicht mal der Mailversand der Snapshots aktiviert. Wenn der FHEM dann noch für zwei-drei Sekunden blockiert, zieht sich das Ganze noch mehr in die Länge.

Ist aber nicht schlimm. Solange ich keine neue DS habe, oder Synology keine Möglichkeit bietet, die Snapshots von außen gesteuert mit der internen Mailfunktion zu versenden, behelfe ich mir für die Snapshots weiter mit dem IPCAM-Modul.
Grundsätzlich funktioniert das Ganze ja.


Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Februar 2016, 12:21:57
Mahlzeit Oli,

ja da vergeht ganz schön viel Zeit. Nach dem Snapshot kommt die Ermittlung des Filenamens mit anschließendem Mailversand der ja das FHEM mehr oder weniger lange blockiert.
Vielleicht wäre es für dich hilfreich wenn du den Mailversand nicht sofort nach Erstellung der Snapshots ausführen lässt sondern ein ganzes Stückchen danach. Dadurch würde die fhem-Blockierungsphase nicht mitten in die Http-Call Abarbeitung fallen.... nur so als Idee.
Und m.M. nach wäre es nicht so dramatisch wenn die Mail ein paar Sekunden wenig später ankäme.

Schönen Sonntag ...

EDIT: Du könntest auch versuchen session = "DSM" statt "SurveillanceStation" zu verwenden. Ich hatte mal bei diversen Tests festgestellt, dass die Abarbeitung mit session="SurveillanceStation" ganz  geringfügig länger ist als mit session="DSM" ( mit Admin-rights) . Das fällt bei meiner Quad-Core DS nicht ins Gewicht, könnte sich aber bei Maschinen mit weniger CPU-Leistung evtl. stärker bemerkbar machen. Käme auf einen Versuch an ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 14 Februar 2016, 13:03:21
Klar, kann ich den Mailversand so konfigurieren, dass er erst nach Abschluss aller Kameraaktionen startet. Aber wie gesagt, bei dem obigen Testlauf ist der Mailversand noch gar nicht aktiv. Trotzdem vergehen durch die Menge der HTTP-Calls gute zehn Sekunden, bis die letzte Aktion gestartet wird. Bei mir ist halt die besondere Konstellation mit ZWEI Kameras, die bei Auslösen EINES Bewegungsmelders insgesamt VIER HTTP-Calls produzieren, schuld.

Schönes Wochenende!
Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Februar 2016, 14:59:35
Hallo zusammen,

habe etwas weiter gebaut und die Portangabe im DEF nun optional gemacht.
Wenn der Port nicht mehr angegeben wird, verwendet das Modul 5000 automatisch.
Eine Angabe (wie bisher) überschreibt den Default-Wert.

Die Version ist eingecheckt und hier vorab anbei ....

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 Februar 2016, 19:48:51
Guten Abend zusammen, hallo Oli,

du hattest mich vor einiger Zeit gefragt ob ich über die API die LEDs schalten könnte.
Nachdem mir Synology einige Infos hat zukommen lassen, habe ich in der angehängten Weiterentwicklung die Umschaltung des Exposure Mode realisiert.

set <cam> expmode night    -> die LEDs schalten sich an
set <cam> expmode day      -> die LEDs schalten sich aus
set <cam> expmode auto    -> die LEDs schalten sich entsprechend der eingestellten Schwellenwerte in der Kamera an oder aus

Bei meinen Cams funktioniert das super.
Bitte mal testen ....

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 15 Februar 2016, 23:09:39
Hallo Heiko!

Danke für das Update.
Gerade mal bei meinen Foscams ausprobiert. Tut sich leider gar nichts. Wäre es möglich, dass die Kamera die Funktion über die Surveillance Station gar nicht zur Verfügung stellt?

Hier mal ein List einer Kamera, mit der ich es probiert habe:
Internals:
   CAMID      1
   CAMNAME    Kellertreppe
   CREDENTIALS Set
   DEF        Kellertreppe 192.168.188.35 5000
   NAME       SSCam_Kellertreppe
   NR         497
   OPMODE     ExpMode
   SERVERADDR 192.168.188.35
   SERVERPORT 5000
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 5
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     CREDENTIALS \[WzdY5?ZpZ~hJnvW{Ys^]4keaKqRq@
     EXPMODE    night
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
     Allpatrols:
     Allpresets:
       Home       18
       Schreibtisch 17
       Treppe     16
       rechts     15
     Svsversion:
       BUILD      4122
       MAJOR      7
       MINOR      1
   Readings:
     2016-02-15 20:53:59   Availability    enabled
     2016-02-15 20:53:59   CamExposureMode Day
     2016-02-15 20:53:59   CamIP           192.168.188.21
     2016-02-15 20:53:59   CamLiveMode     Liveview from DS
     2016-02-15 20:53:59   CamModel        FI8918W
     2016-02-15 20:53:59   CamPort         80
     2016-02-15 20:53:59   CamPreRecTime   5
     2016-02-15 20:53:59   CamPtSpeed      3
     2016-02-15 20:53:59   CamRecShare     surveillance
     2016-02-15 20:53:59   CamRecVolume    volume1
     2016-02-15 20:53:59   CamVendor       FOSCAM
     2016-02-15 20:53:59   CamVideoFlip    true
     2016-02-15 20:53:59   CamVideoMirror  true
     2016-02-15 20:53:59   CamblPresetSpeed false
     2016-02-15 20:54:04   CapAudioOut     false
     2016-02-15 20:54:04   CapChangeSpeed  false
     2016-02-15 20:54:04   CapPTZAbs       false
     2016-02-15 20:54:04   CapPTZAutoFocus false
     2016-02-15 20:54:04   CapPTZDirections 8
     2016-02-15 20:54:04   CapPTZFocus     false
     2016-02-15 20:54:04   CapPTZHome      true
     2016-02-15 20:54:04   CapPTZIris      false
     2016-02-15 20:54:04   CapPTZPan       support continuous operation
     2016-02-15 20:54:04   CapPTZTilt      support continuous operation
     2016-02-15 20:54:04   CapPTZZoom      false
     2016-02-15 20:53:59   DeviceType      PTZ
     2016-02-15 23:03:04   Error           none
     2016-02-15 23:03:04   Errorcode       none
     2016-02-12 10:51:08   LastSnapFilename Kellertreppe-20160212-1051031915.jpg
     2016-02-12 10:51:03   LastSnapId      108
     2016-02-15 20:53:59   LastUpdateTime  20.01.2016 / 13:46:32
     2016-02-15 20:54:00   Patrols
     2016-02-15 20:52:22   PollState       Inactive
     2016-02-15 20:54:15   Presets         Home,Schreibtisch,Treppe,rechts
     2016-02-15 20:53:59   Record          Stop
     2016-02-15 20:52:47   SVSlicenseNumber 6
     2016-02-15 20:52:47   SVSuserPriv     Admin
     2016-02-15 20:52:47   SVSversion      7.1-4122
     2016-02-15 20:53:59   UsedSpaceMB     1.299
     2016-02-15 20:53:59   VideoFolder     /volume1/surveillance/Flur
     2016-02-15 20:53:59   state           off
Attributes:
   alias      Kellertreppe
   devStateIcon on:rc_dot@red off:rc_dot@orange disabled:rc_dot
   httptimeout 8
   rectime    10
   room       Kameras
   session    DSM
   userattr   room_map structexclude
   verbose    4
   webCmd     on:off:snap:enable:disable

Im Anhang findest Du noch ein V4-Log-Auszug.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 Februar 2016, 23:25:04
Hallo Oli,

nach dem was dein List und Log zeigt, sollte die Funktion auch bei deinen Cams funktionieren. Nachdem du die Set-Funktion ausgeführt hast , es kommt ja auch ein "Success" kannst du mal ein "get ... caminfoall" absetzen und dir das Reading "CamExposureMode" anschauen ob das umschaltet ?

In SVS selbst müßte auch unter dem Punkt Optimierung -> Belichtungsmodus der Wert sich entsprechend des abgesetzten Befehls ändern.

Grüße
Heiko

EDit: noch ein Bild von dem SVS-Punkt angehängt
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 15 Februar 2016, 23:47:57
Ja, das Reading wird korrekt gesetzt. Allerdings scheinen meine Kameras den Modus in der Surveillance Station nicht zu unterstützen. Die Option ist in den Einstellungen ausgegraut (siehe Screenshot).

Über das Web-UI der Kameras, sowie im IPCAM-Modul lassen sich die LEDs jedoch schalten. Das Ganze geht dann aber direkt über die Kameras.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 Februar 2016, 23:53:33
Ah, da wirst du wahrscheinlich recht haben bzgl. der Unterstützung in der SVS. Die Option sollte nicht ausgegraut sein.
Sind die Cams eigentlich auf der Kompatibilitätsliste von Syno ?

Eventuell könntest du mit der Nutzung eines ähnlichen Modells oder über ONVIF doch noch Erfolg haben ..... schade Oli !
Hätte mich gefreut wenn es bei dir auch so gut wie bei mir funktioniert hätte.

EDIIT: habe gerade gesehen das du ein Feld Belichtungssteuerung hast. Das könnte ich evtl. auch noch nutzen. Schreib mir mal welche Optionen du dort hättest. Dann baue ich das noch mal testweise ein.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 16 Februar 2016, 00:17:31
Eventuell könntest du mit der Nutzung eines ähnlichen Modells oder über ONVIF doch noch Erfolg haben ....

Das probiere ich die Tage mal aus, aber nicht mehr heute...  :o

Die Optionen, die sich unter "Belichtungssteuerung" anbieten, siehst Du im Screenshot.

Gute Nacht!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 16 Februar 2016, 19:07:22
Moin Moin,

heute bin ich das erste mal auf das Modul hier gestoßen und bin echt begeistert, dass der Austausch mit der Synology so gut klappt  :D :D Danke für so tolle Arbeit..

Ich habe das heute Abend mal mit den Snapshots geprobt, was super funktioniert. Kann man auch die Bewegungserkennung irgendwie fern auslösen, das in der Chronik in der Daueraufnahme ein grüner Balken erscheint?

Schöne Grüße
SteRa
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 Februar 2016, 19:35:23
Nabend stera,

danke für die Blumen und willkommen im Club !  :)

Du siehst ja an dem Thread hier dass wir gemeinsam versuchen das Modul und die Anwendungen darin immer weiter zu verbessern, zu ergänzen usw.
Was die API von Syno so hergibt, die ist leider auch nicht so fehlerfrei wie man sich das so wünscht.... aber es wird  ;)

Deine Frage habe ich noch nicht so recht interpretieren können. Willst du eine Daueraufnahme starten ?
Und mit der Chronik meinst du sicherlich die Anwendung innerhalb der SVS.

Die Farbgebung "grün" steht bei Syno übrigends für eine Bewegungserkennung durch SVS vllt. auch der Kamera, durch externe Triggerung ist sie blau oder grau.

Vielleicht kannst du noch ein bisschen was dazu schreiben.
Eilt nicht..... bin erstmal unterwegs.

Also bis denne.....

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 16 Februar 2016, 20:34:09
Danke für die schnelle Antwort Heiko  :D

Ja ich habe in der SVS eine Daueraufnahme und bei Bewegung wird das in der Chronik grün markiert. Das führt zu viel  Fehlerkennungen.  Ich würde jetzt gerne über Fhem und mittels Bewegungsmelder die Bewegung in SVS triggern .. Das wäre noch eine gute Sache..

Vielen Dank.

Gruß SteRa
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 Februar 2016, 22:39:51
... Fhem und mittels Bewegungsmelder die Bewegung in SVS triggern .. Das wäre noch eine gute Sache..
Ja, das hatte ich mir auch gedacht und das war/ist eigentlich die Ur-Idee aus der das Modul entstanden ist. Mich, und sicherlich viele andere auch, hat es immer genervt dass vor allem (aber nicht nur) bei Außenkameras ständige Fehlaufnahmen durch Belichtungswechsel entstanden sind.

Du kannst das Modul natürlich dazu verwenden mittels Bewegungsmelder eine Aufnahme bzw. Snapshot zu triggern. Ich selbst habe die Bewegungserkennung der Kameras bzw. der SVS komplett deaktiviert und jeder Kamera einen IR-Bewegungsmelder zugegeordnet. Dieser ist auch bei (in der Nähe) der Kameras angebaut.  In meinem Fall sind das FS20 Piri-2 Melder die in FHEM eingebunden sind.

Sobald der Melder eine Bewegung registriert, wird über ein Notify die Aufnahme gestartet und nach einer definierten Aufnahmezeit (default 15 s) wieder gestoppt:

define cam_cp1_on notify MelderCP1:on.* set CamCP1 on
Die Länge der Aufnahme kannst du frei über das Attribut "rectime" einstellen.  In der commandref ist das alles beschrieben.
Es gibt da sicher allerlei Möglichkeiten der Umsetzung.
Die Aufnahmen und Snapshots stehen in der SVS-Datenbank bzw. der Chronik entsprechend zur Verfügung, allerdings nicht "grün" sondern grau/blau weil extern getriggert  ;)

Ich hoffe das konnte die Frage ein bisschen beantworten. Bei Unklarheiten einfach wieder melden ....

Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 Februar 2016, 22:49:30
Hallo Oli,

Die Optionen, die sich unter "Belichtungssteuerung" anbieten, siehst Du im Screenshot.
Danke Oli, aber ich denke das hilft uns nicht weiter. Diese Option beschreibt nur Bildverbesserungen und hat mit der Belichtungssteuerung leider nichts zu tun. Ich hoffe du kommst evtl. mit einem anderen Modell oder ONVIF weiter .....

Grüße
Heiko
Titel: neue Funktion "set <name> motdetsc [by_camera] [by_SVS] [disable]"
Beitrag von: DS_Starter am 16 Februar 2016, 23:09:43
In das Modul habe ich nun die Möglichlkeit eingebaut die Quelle der Bewegungserkennung umzuschalten. D.h. man kann festlegen ob die Bewegungserkennung durch die Kamera , die SVS  oder deaktiviert werden soll.
Die Idee / die Anforderung geht auf den Beitrag #97 von Holger (Forum-Merlin) zurück. 

@Holger, ich habe dich nicht vergessen. Werde alsbald den aktuellen Entwicklungsstand versuchen auf V6 umzusetzen damit du ihn testen kannst. Es wird natürlich nicht alles funktionieren was unter V7 möglich ist.

Hier die kurze Beschreibung der neuen Funktion:

set <name> motdetsc [by_camera] [by_SVS] [disable]

Der Befehl "motdetsc" (steht für "motion detection source") schaltet die Bewegungserkennung in den gewünschten Modus. Die erfolgreiche Ausführung der Operation lässt sich u.a. anhand des Status von SVS -> IP-Kamera -> Ereigniserkennung -> Bewegung nachvollziehen. Zu einem späteren Zeitpunkt soll noch ein entsprechendes Reading folgen.


Die neue Version ist wieder angehängt.
Viel Spaß beim Test und Grüße

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 17 Februar 2016, 07:45:50
... Fhem und mittels Bewegungsmelder die Bewegung in SVS triggern .. Das wäre noch eine gute Sache..
Die Aufnahmen und Snapshots stehen in der SVS-Datenbank bzw. der Chronik entsprechend zur Verfügung, allerdings nicht "grün" sondern grau/blau weil extern getriggert  ;)

Ich hoffe das konnte die Frage ein bisschen beantworten. Bei Unklarheiten einfach wieder melden ....

Grüße
Heiko


Jetzt habe ich die blaue Markierung auch gefunden ;), aber nur in der DS Cam App. Da unterbricht er die Daueraufnahme und markiert die ca 15. sek blau, wenn in Fhem die Aufnahme ausgelöst wurde. In der Chronik (SVS) auf dem PC markiert er in der Timeline leider nichts. Aber vll. kann man dort ja noch was einstellen? Ist das bei Dir dort blau?

Schöne Grüße,
SteRa
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 08:19:43
Hallo stera,

ich persönlich benutze keine Daueraufnahme. 
Die Aufnahme wird ausschließlich durch den Bew.Mleder getriggert wenn eine Bewegung stattfindet und auch nur dann wird eine Aufzeichnung gestartet. Man sieht dann auch in der Chronik die grau/blauen Zeitscheiben der Aufnahmen in der zeitlichen Abfolge.

Hmm, mir geht ehrlich gesagt auch der Sinn nicht wirklich ein wieso eine Daueraufnahme läuft wenn doch nur die Teile mit Bewegung interessieren ??

Was ist denn deine Motiviation zu der Daueraufnahme ?

Schön Tag !

Heiko
Titel: Antw:neue Funktion "set <name> motdetsc [by_camera] [by_SVS] [disable]"
Beitrag von: OliS. am 17 Februar 2016, 18:52:40
Mann, Du bist ja echt fleißig!

set <name> motdetsc [by_camera] [by_SVS] [disable]

Getestet und für gut befunden...  ;)

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 19:15:58
Das täuscht Oli ... hatte ich schon länger fertig.   :)  Nur Syno mußte mir noch ein Detail liefern damit das letztlich auch funktioniert

Bin gerade so im Fluß dass es relativ gut von der Hand geht ... nach einer längeren Pause stehe ich wieder wie die Kuh vorm eigenen Code  (oder Kot );)

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 17 Februar 2016, 19:18:49
Ja das ist er  :D

Ich finde eine Daueraufnahme generell besser, falls mal doch der Bewegunsmelder im falschen Moment nicht funktionierte etc. Aber es ist ja nun auch nicht so schlimm. Mit den Snapshots und den Aufnahmen kann man ja viel mehr anfangen, als tausende Fehlalarme. Ist schon echt super das Modul ;o)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 19:30:14
Moin stera,

schaue grad die API durch was man noch so machen könnte. ;)   Eine Sache hab ich noch im Auge, aber das dauert etwas länger.

Hatte mir heute in Laufe des Tages so gedacht dass du, wenn du Daueraufnahmen benutzt, doch eigentlich nur eine Markierung an einem Zeitstrahl bräuchtest. Die Aufnahme gäbe es ja schon. Ich schaue ob es sowas gibt .... aber ich glaube nicht ..... außerdem brauchst du es ja auch nicht mehr  ;)

Wieviel Plattenplatz hast du denn so im Durchschnitt pro Kamera bei Daueraufnahmen verbraucht ... nur mal aus Interesse ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 17 Februar 2016, 19:45:52
Ja genau das meinte ich, die Markierung im Zeitstrahl.. Da habe ich mich vll. noch nicht gut genug ausgedrückt ;o)
Wäre geil, wenn es dort was in der API gibt.

Das hängt ja stark von der Auflösung etc ab. Aber so 12-15 Tage mit 750GB bei 720p und 20fps. Die Bitrate ist ja nicht immer konstant..

Gruß und danke
SteRa
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 20:00:26
Zitat
Ja genau das meinte ich, die Markierung im Zeitstrahl.. Da habe ich mich vll. noch nicht gut genug ausgedrückt ;o)

... mußte ich einfach mal sacken lassen  :) 
Naja, gelesen hab ich davon noch nichts. Aber vllt. mache ich den Syno-Entwicklerkollegen den Vorschlag sowas umzusetzen. Mal schauen ...
Könnte mir nur vorstellen dass sowas nicht so einfach ist. Es müßten ja Zeiger oder Zuordnungstabellen geführt werden um in der Chronik z.B. bei 10 Kameras die Richtige Markierung zu setzen usw.

Der Speicherbedarf ist schon eine Hausnummer ... wenn man da 3M-Cams hätte ....naja ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 17 Februar 2016, 21:02:32
.. aber die Markierungen gibt es doch schon für die Bewegungserkennung, also müssen da ja schon tabellen etc geführt werden.

Habe mal ein Beispielbild angehängt.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 21:15:05
Ich glaube  das sind Aufnahmesequenzen aufgrund der Bewegungserkennung der SVS (oder Cam). Kann mich natürlich täuschen.....
Aber in der API habe ich so etwas bis jetzt nicht gefunden.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 21:38:32
Doch, es scheint doch etwas in der API zu geben. Man kann sich offensichtlich für einen spezifischen Zeitbereich  die ANZAHL der aufgelaufenen Events eines spezifischen Eventtyps listen lassen, also für motion detection, external recording, usw.

Aber es ist wirklich nur eine Liste der Anzahl der Events. Ich sehe hier noch keinen praktischen Nutzen für das Modul.

Jedoch heißt das,  es werden intern entsprechenden Tabellen geführt ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 17 Februar 2016, 22:46:52
Also, bei mir sind die Markierungen auch grün...  ;) 8)

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 Februar 2016, 23:00:20
Also irgendwie sollte ich mal über einen Jobwechsel nachdenken  .... ;)  ;)
Titel: neue Funktion "set <name> runPatrol <Patrolname>"
Beitrag von: DS_Starter am 18 Februar 2016, 18:43:09
Guten Abend zusammen,

ergänzend zu der Funktion eine Preset-Position anzufahren, habe ich nun auch die Möglichkeit implementiert eine in der SVS vordefinierte Überwachungstour einer PTZ-Kamera zu starten.

Hier der Auszug aus der ergänzten Commandref:

set <name> runPatrol <Patrolname>

Dieses Kommando startet die vordefinierterte Überwachungstour einer PTZ-Kamera.
Die Überwachungstouren müssen dazu zunächst in der Synology Surveillance Station angelegt worden sein. Das geschieht in der PTZ-Steuerung im IP-Kamera Setup -> PTZ-Steuerung -> Überwachung.

Die Überwachungstouren (Patrols) werden über das Kommando "get <name> caminfoall" eingelesen, welches beim Restart von FHEM automatisch abgearbeitet wird. Der Einlesevorgang kann durch ein Kamerapolling regelmäßig wiederholt werden. Ein langes Pollingintervall ist in diesem Fall empfehlenswert, da sich die Überwachungstouren nur im Fall der Neuanlage bzw. Änderung verändern werden.
Nähere Informationen zur Anlage von Überwachungstouren sind in der Hilfe zur Surveillance Station enthalten.


Das neue File ist angehängt und ich wünsche euch viel Spaß beim Test.....

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: stera am 18 Februar 2016, 19:42:09
Also, bei mir sind die Markierungen auch grün...  ;) 8)

Oli

Sind die grünen Markierungen gesetzt worden durch auslösen in Fhem oder durch die SVS-Erkennung direkt ?

Gruß,
SteRa
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Februar 2016, 22:18:45
Eine kurze Frage ....

Es gibt ein Reading "LastUpdateTime"... es zeigt bei mir recht sinnvolle Werte wie  14.01.2016 / 01:51:01 an.

Wie ist es bei euch ?  Nicht etwa nur 01.01.1970 oder so etwas ?

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 18 Februar 2016, 22:29:37
Hallo DS_Starter,

finde Dein Modul auch klasse. Großes Lob.

Kannst Du bei Gelegenheit mal schauen, ob Du es hin bekommst, dass man die Bewegung der Kamera über die SS sehen kann und damit dann folgend weitere Aktionen auslösen kann (z.B. Außenlicht anschalten). Du hast ja schon erwähnt, dass es bei Euch viele Fehlalarme gab, ich würde es gerne bei mir ausprobieren, da ich eigentlich keine externen BW am Haus anbringen möchte.

Wäre super.

Vielen Dank.


LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Februar 2016, 22:32:40
Hi Matthias,

Zitat
dass man die Bewegung der Kamera über die SS sehen kann

ich denke du meinst damit ob man die Information, wenn die Kamera (bzw. SVS) eine Bewegung identifiziert hat,  abgreifen und zur Weiterverarbeitung nutzen kann ?

Schaue ich mir an , kommt auf die Liste ....


viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 19 Februar 2016, 08:50:29
Hallo Heiko,

genau das wäre es. Dann könnte ich z.B. damit einen Außenstrahler steuern.

Danke Dir.

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 Februar 2016, 22:46:02
Hallo Matthias, hallo zusammen,

in der angehängten Weiterentwicklung gibt es ein "get .... eventlist" und ein Reading "CamEventNum". Das Reading zählt mit jeder Aufnahme hoch, d.h. es liefert die Anzahl der vorhandenen Aufnahme-Events. Legt man ein "event-on-change-reading" darauf, könnte man dieses Reading zur Weiterverarbeitung nutzen wenn eine Bewegung registriert wird.

Nachteil ist das man die Kamera abfragen muß. Über das eingebaute  Polling wird dieses Reading aktualisiert. Da ich aber das kleinste Pollingintervall auf 10s begrenzt habe, ist dies für diese Anwendung m.M. nach zu träge.
Aber zum Test ob das Verfahren dir generell nutzt, würde es reichen denke ich.

Du könntest auch versuchen durch ein "AT" den Befehl "get .... eventlist" in kurzen Abständen zu wiederholen und so ein "Polling" nur dieses eine Readings zu  realisieren. Es wäre interessant ob dieses Verfahren negative Auswirkungen auf die Performance von FHEM hätte und ob die SVS mit so kurzen Http-Anfragen klarkäme. Alles andere sollte ja auch noch funktionieren.

Ich bitte dich, und alle anderen Interessierten natürlich auch, dieses Verfahren mal zu testen und Rückinfo zu geben.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 20 Februar 2016, 14:09:12
Hallo Heiko,

danke für das Update.

Die Funktion "runPatrol" funktioniert bei mir hervorragend. Auch das Reading "CamEventNum" füllt sich, wenn ich die Bewegungserkennung entsprechend in der Surveillance Station aktiviere.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 20 Februar 2016, 14:25:55
Danke Oli !!

Sieht gut aus ....  :)

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Phantomas am 22 Februar 2016, 10:02:33
Hallo zusammen,

hätte noch eine Frage zur Snapshot Funktion.

Ich würde gern den Snapshot über yowsup auf mein Handy schicken. Denn Ordner mit den Snapshots habe ich gemountet und das manuelle versenden geht auch. Würde jetzt gern mit einem DOIF das letzte Bild automatisch versenden. Wie kann ich dem Sendebefehl den ImageNamen übergeben.

Habt ihr eine Idee, wie ich das realisiert bekomme?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 22 Februar 2016, 10:33:18
Habe das so umgesetzt:
define di_doorbell DOIF ([doorbell_dummy] eq "on") (set DoorCam snap)
define di_doorcam DOIF ([DoorCam:?LastSnapFilename]) (set iPhone image /opt/snapshots/[DoorCam:LastSnapFilename] Es steht jemand an der Tür) (set doorbell_dummy off)
attr di_doorcam wait 0,5

Die Bewegungserkennung der DS löst ein Event aus, auf das Fhem reagiert, ein Bild macht und sobald dieses gespeichert wurde, es per yowsup versendet.
Leider klappt das nicht immer in Echtzeit und ich habe einen leichten Versatz in der erkannten Bewegung und dem Bild. Liegt aber leider an der Bewegungserkennung. Mit einem Bewegungsmelder ging das besser ;)
Titel: Neue Funktion für Camera LiveView
Beitrag von: DS_Starter am 22 Februar 2016, 22:38:34
Hallo zusammen,

mit der angehängten weiter entwickelten Version können nun auch LiveViews der Kameras aktiviert werden.

Mit "set ... runView [ image] [link]"  wird er gestartet und mit "set .... stopView" beendet. Mit der Option "image" wird das Livebild integriert dargestellt. Die Option "link" stellt einen entsprechenden Link zum Liveview bereit.
Aktualiert bitte euren Browser wenn ihr nach der Funktionsausführung noch nichts seht.

Es gibt ein Atrribut "htmlattr"  mit dem man das Verhalten der Liveviews beeinflussen kann. So führt das Setzen des Attributes auf "target=_blank width="500" height="300"" dazu,  dass im Falle von "set ... runView link"  der erzeugte Link beim Anklicken in einem neuen Fenster geöffnet wird und im Fall von "set ... runView image" in der entsprechenden Größe dargestellt wird.

Ich habe noch keine Beschreibung für die Commandref erstellt, das kommt noch.

Freue mich auf eure Rückmeldung wenn ihr die Version testen möchtet.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 23 Februar 2016, 08:45:04
Guten Morgen Heiko.

Habe die neue Version mal eingespielt.
Leider bekomme ich kein Reading mit dem passenden Link oder ein Image.
Hier mal mein die Device Info:
Internals:
   CAMID      1
   CAMNAME    Doorcam
   CHANGED
   CREDENTIALS Set
   DEF        Doorcam 192.168.100.110 5000
   NAME       DoorCam
   NR         234
   OPMODE     getmotionenum
   SERVERADDR 192.168.100.110
   SERVERPORT 5000
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 5
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CREDENTIALS ]qmreVqPc4I9Tl2>
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
     WLTYPE     link
     Svsversion:
       BUILD      4122
       MAJOR      7
       MINOR      1
   Readings:
     2016-02-23 08:36:42   Availability    enabled
     2016-02-23 08:36:39   CamEventNum     288
     2016-02-23 08:36:42   CamExposureControl Unknown
     2016-02-23 08:36:42   CamExposureMode Auto
     2016-02-23 08:36:42   CamIP           192.168.1xx.xxx
     2016-02-23 08:36:42   CamLiveMode     Liveview from DS
     2016-02-23 08:36:42   CamModel        DCS-2330L
     2016-02-23 08:36:46   CamMotDetSc     SVS
     2016-02-23 08:36:42   CamPort         80
     2016-02-23 08:36:42   CamPreRecTime   5
     2016-02-23 08:36:42   CamPtSpeed      3
     2016-02-23 08:36:42   CamRecShare     surveillance
     2016-02-23 08:36:42   CamRecVolume    volume1
     2016-02-23 08:36:42   CamVendor       D-Link
     2016-02-23 08:36:42   CamVideoFlip    1
     2016-02-23 08:36:42   CamVideoMirror  1
     2016-02-23 08:36:42   CamblPresetSpeed 0
     2016-02-23 08:36:43   CapAudioOut     0
     2016-02-23 08:36:43   CapChangeSpeed  0
     2016-02-23 08:36:43   CapPTZAbs       0
     2016-02-23 08:36:43   CapPTZAutoFocus 0
     2016-02-23 08:36:43   CapPTZDirections 0
     2016-02-23 08:36:43   CapPTZFocus     false
     2016-02-23 08:36:43   CapPTZHome      0
     2016-02-23 08:36:43   CapPTZIris      false
     2016-02-23 08:36:43   CapPTZPan       false
     2016-02-23 08:36:43   CapPTZTilt      false
     2016-02-23 08:36:43   CapPTZZoom      false
     2016-02-23 08:36:42   DeviceType      Camera
     2016-02-23 08:36:46   Error           none
     2016-02-23 08:36:46   Errorcode       none
     2016-02-22 20:34:23   LastSnapFilename Doorcam-20160222-2034210683.jpg
     2016-02-22 20:34:21   LastSnapId      522
     2016-02-23 08:36:42   LastUpdateTime  23.02.2016 / 08:36:42
     2016-02-23 08:32:48   PollState       Inactive
     2016-02-23 08:36:42   Record          Stop
     2016-02-23 08:33:05   SVSlicenseNumber 2
     2016-02-23 08:33:05   SVSuserPriv     Admin
     2016-02-23 08:33:05   SVSversion      7.1-4122
     2016-02-23 08:36:42   UsedSpaceMB     1.602
     2016-02-23 08:36:42   VideoFolder     /volume1/surveillance/Doorcam
     2016-02-23 08:36:44   state           off
Attributes:
   event-on-change-reading Record,Error,Errorcode,LastSnapFilename,Availability
   icon       it_camera
   room       06_Cam
   webCmd     on:off:snap:enable:disable
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 Februar 2016, 09:47:09
Morgen Oli,

ja stimmt. Da fehlt der {HELPER}{LINK}. Das ist ja komisch. Schaue ich mir heute Abend nochmal an.
Vielleicht könntest du noch ein Logauszug mit verbose =4 machen wenn du die Funktion set .. runView ausführt.
Ist dann sicher hilfreich.

Grüsse und schönen Tag.
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 23 Februar 2016, 10:02:50
Danke.
Hier der Log:
2016.02.23 09:57:12 4: DoorCam - Start Liveview of Camera Doorcam
2016.02.23 09:57:12 4: DoorCam - --- Begin Function getapisites nonblocking ---
2016.02.23 09:57:12 4: DoorCam - Call-Out now: http://192.168.1xx.xxx:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming
2016.02.23 09:57:12 4: DoorCam - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                'requestFormat' => 'JSON',
                                                                'maxVersion' => 2,
                                                                'path' => '_______________________________________________________entry.cgi',
                                                                'minVersion' => 1
                                                              },
              'SYNO.SurveillanceStation.PTZ' => {
                                                  'requestFormat' => 'JSON',
                                                  'maxVersion' => 4,
                                                  'path' => '_______________________________________________________entry.cgi',
                                                  'minVersion' => 1
                                                },
              'SYNO.SurveillanceStation.Camera.Event' => {
                                                           'requestFormat' => 'JSON',
                                                           'maxVersion' => 1,
                                                           'path' => '_______________________________________________________entry.cgi',
                                                           'minVersion' => 1
                                                         },
              'SYNO.SurveillanceStation.VideoStreaming' => {
                                                             'requestFormat' => 'JSON',
                                                             'maxVersion' => 1,
                                                             'path' => '_______________________________________________________entry.cgi',
                                                             'minVersion' => 1
                                                           },
              'SYNO.SurveillanceStation.SnapShot' => {
                                                       'requestFormat' => 'JSON',
                                                       'maxVersion' => 1,
                                                       'path' => '_______________________________________________________entry.cgi',
                                                       'minVersion' => 1
                                                     },
              'SYNO.API.Auth' => {
                                   'maxVersion' => 4,
                                   'path' => 'auth.cgi',
                                   'minVersion' => 1
                                 },
              'SYNO.SurveillanceStation.Camera' => {
                                                     'requestFormat' => 'JSON',
                                                     'maxVersion' => 8,
                                                     'path' => '_______________________________________________________entry.cgi',
                                                     'minVersion' => 1
                                                   },
              'SYNO.SurveillanceStation.Info' => {
                                                   'requestFormat' => 'JSON',
                                                   'maxVersion' => 5,
                                                   'path' => '_______________________________________________________entry.cgi',
                                                   'minVersion' => 1
                                                 },
              'SYNO.SurveillanceStation.Event' => {
                                                    'requestFormat' => 'JSON',
                                                    'maxVersion' => 5,
                                                    'path' => '_______________________________________________________entry.cgi',
                                                    'minVersion' => 1
                                                  }
            }
}

2016.02.23 09:57:12 4: DoorCam - Path of SYNO.API.Auth selected: auth.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.API.Auth selected: 4
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.Camera: 8
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.SnapShot: 1
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.PTZ: 4
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.Info selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.Info: 5
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 1
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.Event selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.Event: 5
2016.02.23 09:57:12 4: DoorCam - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi
2016.02.23 09:57:12 4: DoorCam - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 1
2016.02.23 09:57:12 4: DoorCam - --- End Function getapisites nonblocking ---
2016.02.23 09:57:12 4: DoorCam - --- Begin Function serverlogin nonblocking ---
2016.02.23 09:57:12 4: DoorCam - Credentials read from RAM: USER PASSWORD
2016.02.23 09:57:12 4: DoorCam - Call-Out now: http://192.168.1xx.xxx:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=USER&passwd=PASSWORD&format="sid"
2016.02.23 09:57:13 4: DoorCam - Credentials read from RAM: USER PASSWORD
2016.02.23 09:57:13 4: DoorCam - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
  'data' => {
              'sid' => 'Gjvj0zhJonhm.D4L5N03852',
              'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
            }
}

2016.02.23 09:57:13 4: DoorCam - Login of User USER successful - SID: Gjvj0zhJonhm.D4L5N03852
2016.02.23 09:57:13 4: DoorCam - --- End Function serverlogin nonblocking ---
2016.02.23 09:57:13 4: DoorCam - --- Begin Function getcamid nonblocking ---
2016.02.23 09:57:13 4: DoorCam - Call-Out now: http://192.168.1xx.xxx:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="Gjvj0zhJonhm.D4L5N03852"
2016.02.23 09:57:13 4: DoorCam - Detection Camid successful - Doorcam ID: 1
2016.02.23 09:57:13 4: DoorCam - --- End Function getcamid nonblocking ---
2016.02.23 09:57:13 4: DoorCam - --- Begin Function cam: runliveview nonblocking ---
2016.02.23 09:57:13 4: DoorCam - Set Livestream-URL: http://192.168.1xx.xxx:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=Gjvj0zhJonhm.D4L5N03852
2016.02.23 09:57:13 3: DoorCam - Liveview URL of Camera Doorcam was set for FHEMWEB
2016.02.23 09:57:13 4: DoorCam - --- End Function cam: runliveview nonblocking ---
2016.02.23 09:57:26 4: DoorCam - Stop Liveview of Camera Doorcam now
2016.02.23 09:57:26 4: DoorCam - --- Begin Function logout nonblocking ---
2016.02.23 09:57:26 4: DoorCam - Credentials read from RAM: USER PASSWORD
2016.02.23 09:57:26 4: DoorCam - URL-Call: http://192.168.1xx.xxx:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Logout&_sid=Gjvj0zhJonhm.D4L5N03852
2016.02.23 09:57:26 4: DoorCam - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.02.23 09:57:26 4: DoorCam - Session of User USER has ended - SID: Gjvj0zhJonhm.D4L5N03852 has been deleted
2016.02.23 09:57:26 4: DoorCam - --- End Function logout nonblocking ---
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 23 Februar 2016, 10:31:35
Wow, schöne Funktion! Läuft bei mir wie am Schnürchen. Danke.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 Februar 2016, 18:45:25
Zitat
Läuft bei mir wie am Schnürchen.

Danke für das Feedback Oli ... super  :)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 Februar 2016, 19:01:18
Hallo Oli82,

habe mir dein Log angeschaut. Sieht ganz normal aus und zeigt auch keine Fehler.
Ich habe das Modul nochmal ein wenig verändert und hier angehängt. (ersetze auch das File unter #196)

Sobald man "set .... runView" gestartet hat, auf jeden Fall einmal den Browser aktualisieren falls man noch nichts sieht. Dann sollte das Bild (der Link) erscheinen.
Wenn ihr die Cams in einem Raum habt und "runView" und "stopView" mit zu den Web-cmds hinzufügt, könnt ihr so die Liveviews bequem starten. Dabei wird das image (der Link) statt des state-Icons angezeigt sofern "runView" gestartet ist. In diesem Modus klappt auch die Browseraktualisierung, wenn longpoll=1 gesetzt ist, d.h. das Bild erscheint sobald "runView" ausgeführt wird .

Oli, wenn das nicht auf Anhieb klappt, einfach nach "runView" mal den Browser aktualisieren.

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 24 Februar 2016, 09:24:33
Guten Morgen Heiko.
Nun klappt es auch bei mir.
Was nun natürlich noch super wäre, wäre die Möglichkeit, die URL zu Manipulieren und den Link als Reading zu erhalten.
So könnte man den Link mit einer externen URL (Dyndns, etc) per Email/Push/Whatsapp versenden und extern aufrufen.
(ja, ich weiss... kleiner Finger, ganze Hand usw. ;) )
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Februar 2016, 09:33:31
Zitat
Nun klappt es auch bei mir.

Schön ..  :)

Den Link noch als Reading zur Verfügung zu stellen sollte machbar sein. Versuche ich heute Abend noch mit reinzubauen .

Schönen Tag und viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Februar 2016, 22:34:16
Hallo zusammen, hallo oli,

hier nun die Version mit einem ergänzten Reading für den Streaminglink (LiveStreamUrl).
Eventuell wäre es nicht verkehrt den Hoastnamen und den Port wegzulassen. Damit könnte man den Link  sehr einfach um einen externen Hostnamen und einen von 5000 abweichenden Port ergänzen und versenden.
Bitte gebt eure Meinung einfach mal dazu ab.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 25 Februar 2016, 08:34:39
Guten Morgen und danke für das Update!

Löppt!

Einen schönen Tag.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 25 Februar 2016, 08:40:31
Auch von dem zweiten Oli ein guten Morgen und ebenfalls danke.

Version funktioniert bei mir auf Anhieb.
Persönlich wünsche ich mit einer der beiden Varianten:
Entweder URL ab /webapi/entry.cgi?... als Reading
oder
attr URLext als Parameter, der dann die IP:Port des Readings ersetzt.
IP und Port definiert man ja bereits für das Modul selbst.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 25 Februar 2016, 17:38:58
Hallo miteinander,

ich habe  das Attribut "livestreamprefix" eingebaut. 

Wenn es nicht gesetzt ist, wird auch für "LiveStreamUrl" die interne Serveradresse:Port verwendet. Das kann z.B. sinnvoll sein wenn man (so wie ich) für den externen Zugriff eine VPN-Verbindung benutzt und durch einen eigenen DNS-Server der Servername bzw. die verwendete interne IP sich nicht ändert.

Wird "livestreamprefix" gesetzt auf :

http(s)://<Servername>:<Port>
werden in "LiveStreamUrl" die entsprechenden Angaben überschrieben. So kann man auch eine HTTPS-Verbindung nutzen oder ein Portmapping bequem nutzen. Das ist gerade bei externen Zugriffen sicherlich nicht verkehrt.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 26 Februar 2016, 08:16:52
Guten Morgen und danke für die schnelle Umsetzung.

Werde ich heute gleich mal testen!
Titel: Mailversand unblocking
Beitrag von: DS_Starter am 27 Februar 2016, 09:58:57
Guten Morgen,

für den Mailversand der Snapshots verwende ich DebianMail (sendmail) wobei fhem immer eine gewisse Zeit blockiert.
Mit blocking.pm habe ich eine Möglichkeit gefunden diesen Umstand abzustellen.
Man kann diesen Lösungsansatz sicherlich noch verbessern (Timeout, Abbruchfunktion,...) und verfeinern, aber er funktioniert und fhem blockiert dadurch nicht mehr beim Versand.

Wenn ihr es auch testen  wollt, kopiert den folgenden Code in eure 99_myUtils.pm und passt ihn an:

# gleich am Anfang von 99_myUtils.pm
use Blocking;

##############################################################################
########        DebianMail  Mail  versenden  nonblocking          ############
##############################################################################

sub DebianMailnbl {

 my $rcpt = shift;
 my $subject = shift;
 my $text = shift;
 my $attach = shift;
 my $hash->{NAME} = "Debianmail";
 my $name = $hash->{NAME};

$hash->{helper}{RUNNING_PID} = BlockingCall("DebianMailnbl_send", $name."|".$rcpt."|".$subject."|".$text."|".$attach, "", "", "", "");

}

##############################################################################
########       Mailfunktion von Nonblocking                       ############
##############################################################################

sub DebianMailnbl_send {
 my ($string) = @_;
 my ($name, $rcpt, $subject, $text, $attach) = split("\\|", $string);
 my $ret = "";
 my $sender = "<Absendername>\@<Absenderdomain>";
 my $konto = "<Mailkontouser>";
 my $passwrd = "<Mailkontopasswort>";
 my $provider = "<Mailserver>:<Maiserverport>";
 
 $ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
 $ret =~ s,[\r\n]*,,g;    # remove CR from return-string
 # Log 1, "sendEmail returned: $ret";
 Log3 $name, 3, "$name - sendEmail returned: $ret";
}

Ein entsprechendes DOIF könnte dann so aussehen:
define CamHE1.snap.email DOIF ([CamHE1:"LastSnapFilename"]) ({DebianMailnbl ('<Mailempfänger>','Bewegungsalarm CamHE1','Eine Bewegung wurde an der Haustür registriert.','/media/sf_surveillance/@Snapshot/[CamHE1:LastSnapFilename]')})
Viel Spaß beim Nachnutzen und ein schönes WE ...

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 27 Februar 2016, 10:42:59
Guten Morgen Heiko,

der Mailversand mit Deiner Sub funktioniert grundsätzlich schon mal. Ich habe jetzt noch nicht testen können, in wie weit das den gesamten Aktionsablauf (Snapshot, Aufnahme, Push, Mail) beschleunigt. Da werde ich noch berichten.

Eine grundsätzliche Frage zum Mailversand habe ich allerdings noch. Vielleicht weißt Du das. Ist es möglich, auch mehrere Anhänge, also bsw. zwei Snapshots, in einer Mail zu versenden. Alle meine Versuche sind bisher gescheitert.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 Februar 2016, 12:33:10
Zitat
Ist es möglich, auch mehrere Anhänge, also bsw. zwei Snapshots, in einer Mail zu versenden.

Hi Oli,

ja das sollte möglich sein. Lt. dieser http://wiki.syslog-pps.de/w/index.php?title=SendMail&action=view (http://wiki.syslog-pps.de/w/index.php?title=SendMail&action=view) Beschreibung können mehrere Anhänge übergeben werden. Die einzelnen Anhänge sind mit vollem Pfadnamen und durch Semikolon zu trennen (nicht mehr als 500 Zeichen).
Probiert habe ich es noch nicht, mache ich auch mal bei Gelegenheit.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 27 Februar 2016, 15:48:13
Mmh, klappt bei mir nicht. Ein Anhang geht, zwei nicht.

Ich habe es so
{DebianMailnbl ('mail@adresse.de','Betreff','Inhalt','Anhang1;Anhang2')}und so
{DebianMailnbl ('mail@adresse.de','Betreff','Inhalt','Anhang1';'Anhang2')}
probiert.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 Februar 2016, 16:50:51
Habs jetzt auch mal probiert.

Man muß den sendmail-Befehl erweitern. D.h. einfach ein Attach-statement einfügen.

..... -a '$attach' -a '$attach1' .....
... dann klappt es. Die Lösung in dem Link den ich vorhin gefunden und gepostet hatte, hat auch bei mir nicht funktioniert.
Ich werde mal das Script ein wenig anpassen und wenn es auch damit funktioniert nochmal posten.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 Februar 2016, 17:30:01
Habe die Sub in 99_myUtils für den Versand von bis zu 3 Anhängen erweitert.
Das sieht nun so aus:

##############################################################################
########        DebianMail  Mail  versenden  nonblocking          ############
##############################################################################

sub DebianMailnbl {

 my $rcpt = shift;
 my $subject = shift;
 my $text = shift;
 my $attach = shift;
 my $attach1 = shift;
 my $attach2 = shift;
 my $hash->{NAME} = "Debianmail";
 my $name = $hash->{NAME};

$hash->{helper}{RUNNING_PID} = BlockingCall("DebianMailnbl_send", $name."|".$rcpt."|".$subject."|".$text."|".$attach."|".$attach1."|".$attach2, "", "", "", "");

}

##############################################################################
########       Mailfunktion von Nonblocking                       ############
##############################################################################

sub DebianMailnbl_send {
 my ($string) = @_;
 my ($name, $rcpt, $subject, $text, $attach, $attach1, $attach2) = split("\\|", $string);
 my $ret = "";
 my $sender = "Absendername\@Domain";
 my $konto = "Mailuser";
 my $passwrd = "Mailuserpasswort";
 my $provider = "Mailserver:Port";
 
 $ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -a '$attach1' -a '$attach2' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
 $ret =~ s,[\r\n]*,,g;    # remove CR from return-string
 # Log 1, "sendEmail returned: $ret";
 Log3 $name, 3, "$name - sendEmail returned: $ret";
}


Das DOIF ist dementsprechend als Bespiel:

([CamHE1:"LastSnapFilename"]) ({DebianMailnbl ('<Empfänger>','Bewegungsalarm CamHE1','Eine Bewegung wurde an der Haustür registriert.','/media/sf_surveillance/@Snapshot/[CamHE1:LastSnapFilename]','/media/sf_surveillance/@Snapshot/Hauseingang-20160227-1505174596.jpg','/media/sf_surveillance/@Snapshot/Hauseingang-20160227-1504528871.jpg')})
Man kann natürlich auch weniger Anhänge versenden, bis zu 3 wären aber mit dieser Sub-Erweiterung möglich. Kann man natürlich in dieser Art und Weise noch ausbauen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 27 Februar 2016, 20:09:24
Was soll ich sagen...? Läuft wie 'ne Eins!

Vielen Dank!

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 Februar 2016, 09:21:21
Guten Morgen,

die Funktion "set ... runView" habe ich um die Option "link_open" erweitert.
Damit öffnet sich der mjpeg-Stream sofort in einem neuen Browserfenster. Damit das funktioniert muß longpoll=1 gesetzt sein.

Checke ich heute noch ein. Aber hier schonmal vorab.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 28 Februar 2016, 11:07:27
Guten Morgen,

gerade mal getestet, und funktioniert.
Mir ist nur eine Kleinigkeit aufgefallen. Ich habe eigentlich immer zwei bis drei FHEM-Tabs in Safari geöffnet. Wenn ich "set Cam runview link_open" aktiviere, werden immer genau so viele neue Browserfenster mit dem dem Kamera-Stream geöffnet, wie FHEM-Tabs offen sind.

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 Februar 2016, 11:18:40
Morgen Oli,

ja habe ich bei mir auch schon festgestellt. Das hängt wahrscheinlich damit zusammen dass diese Option über ein "trigger WEB JS:window.open ...." realisiert ist. Das Trigger Kommando wirkt sich dann wohl auf alle laufenden WEB-Instanzen aus.

Ich weiß momentan nicht wie man das abändern könnte und frage mal im Forum nach. Das betrifft auch eine "window-close"-Funktion.
Leider kenne ich mich mit javascript nicht aus.
Wenn dir dazu etwas unerkommen sollte sag einfach mal Bescheid.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 Februar 2016, 15:21:24
Hallo Oli,
jetzt konnte ich einen Lösungsansatz von Rudi umsetzen.
Nun wird ein Browserfenster mit "set ...runView link_open" nur für das Browserfenster initiiert, welches aktuell den Raum geöffnet hat, der die entsprechende Kamera enthält. Also den der Cam zugeordnete Raum.
Das hat nun aber den Nachteil dass der entsprechende Raum angezeigt sein muß, sonst wird das Fenter nicht geöffnet.

Fragt sich halt was praktischer ist ...
Hier ist die Version wieder angehängt.

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 28 Februar 2016, 17:10:32
Ja, funktioniert so.

Zitat
Fragt sich halt was praktischer ist ...

Kann ich Dir eigentlich gar nicht sagen, da mir momentan noch kein konkretes Szenario einfällt, bei dem ich die Funktion sinnvoll nutzen kann. Ich nutze den Livestream meiner Kameras eigentlich eher so, dass ich bei Bedarf direkt auf die Streaming-URL der Kamera zugreife. Wenn ich bsw. am Rechner sitze und möchte sehen, wenn der Pizzabote einparkt. Oder wenn ich eine der Kameras als Babyphone nutze. Oder auf dem Wand-Tablet, als Popup, wenn es an der Tür klingelt. In allen genannten Fällen ist aber nie die Surveillance Station aktiv.
Wofür nutzt Du die Funktion denn?

Oli
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 Februar 2016, 17:30:44
Also ich komme momentan garnicht dazu Einsatzscenarien zu modellieren, sondern bin mit der Modulentwicklung stark beschäftigt.  ;)
Ich hoffe ich komme auch bald mal dazu an meinem FHEM an sich weiter zu arbeiten.

Ich stelle mir aber ähnliche Einsatzzwecke wie von dir beschrieben vor, aber eben über die Surveillance Station Schnittstelle, weil man zum Beispiel im Netz nur bestimmte Ports freigeben möchte etc.. Geht natürlich jetzt schon sehr gut über die "runView image" Option. Sind die Kameras in einem Raum zusammengefasst hat man einen alles im Blick.
Bei mir ist es natürlich so, dass die Synology 7x24h rund im die Uhr läuft um damit auch die SVS ständig verfügbar ist.

Wahrscheinlich werde ich es letztlich so machen dass das Popup sich immer öffnet und will man es einschränken, eine Zusatzoption für einen bestimmten Raum mitgeben kann um das von dir beschriebene Problem zu umgehen.

Grüße und einen schönen Abend Oli
Heiko


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: OliS. am 28 Februar 2016, 20:39:58
Zitat
Bei mir ist es natürlich so, dass die Synology 7x24h rund im die Uhr läuft...

Ja, das ist ja bei mir nicht anders. Allerdings werden die Kameras nur bei Abwesenheit aktiviert. Ich denke, das wirkt sich langfristig auf die Lebensdauer der Festplatten der DS und natürlich den Stromverbrauch aus.
Und Funktionen wie Snapshots und runView image lassen sich ja nur bei "scharfen" Kameras nutzen. Also ist allein schon das Popup mit dem Livebild der Haustürkamera nicht mehr über das SSCam-Modul möglich. Aber das finde ich nicht so tragisch, da man ja für solche Fälle gut auf die eigentliche Streaming-URL der Kameras zugreifen kann, die ja auch immer gleich ist.

Aber ich packe die Streaming-URL der Kameras auch in die Mails mit den Snapshots, wenn die Kameras per Bewegungsmelder und Abwesenheit ausgelöst werden. Dann kann ich dank VPN-on-demand spontan aus der Mail heraus auf das Live-Bild der jeweiligen Kamera zugreifen. Das funktioniert sehr gut.

Zitat
Also ich komme momentan garnicht dazu Einsatzscenarien zu modellieren, sondern bin mit der Modulentwicklung stark beschäftigt.  ;)
Gönn Dir doch mal eine Pause. Das Modul ist doch schon wirklich gut geworden. Und das innerhalb so kurzer Zeit. Alles was jetzt noch kommt, ist purer Luxus.

Schönen Restsonntag noch.

Oli
Titel: Antw:Mailversand unblocking
Beitrag von: eldrik am 02 März 2016, 08:59:03
Guten Morgen,

für den Mailversand der Snapshots verwende ich DebianMail (sendmail) wobei fhem immer eine gewisse Zeit blockiert.
Mit blocking.pm habe ich eine Möglichkeit gefunden diesen Umstand abzustellen.
Man kann diesen Lösungsansatz sicherlich noch verbessern (Timeout, Abbruchfunktion,...) und verfeinern, aber er funktioniert und fhem blockiert dadurch nicht mehr beim Versand.

Wenn ihr es auch testen  wollt, kopiert den folgenden Code in eure 99_myUtils.pm und passt ihn an:

# gleich am Anfang von 99_myUtils.pm
use Blocking;

##############################################################################
########        DebianMail  Mail  versenden  nonblocking          ############
##############################################################################

sub DebianMailnbl {

 my $rcpt = shift;
 my $subject = shift;
 my $text = shift;
 my $attach = shift;
 my $hash->{NAME} = "Debianmail";
 my $name = $hash->{NAME};

$hash->{helper}{RUNNING_PID} = BlockingCall("DebianMailnbl_send", $name."|".$rcpt."|".$subject."|".$text."|".$attach, "", "", "", "");

}

##############################################################################
########       Mailfunktion von Nonblocking                       ############
##############################################################################

sub DebianMailnbl_send {
 my ($string) = @_;
 my ($name, $rcpt, $subject, $text, $attach) = split("\\|", $string);
 my $ret = "";
 my $sender = "<Absendername>\@<Absenderdomain>";
 my $konto = "<Mailkontouser>";
 my $passwrd = "<Mailkontopasswort>";
 my $provider = "<Mailserver>:<Maiserverport>";
 
 $ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
 $ret =~ s,[\r\n]*,,g;    # remove CR from return-string
 # Log 1, "sendEmail returned: $ret";
 Log3 $name, 3, "$name - sendEmail returned: $ret";
}

Ein entsprechendes DOIF könnte dann so aussehen:
define CamHE1.snap.email DOIF ([CamHE1:"LastSnapFilename"]) ({DebianMailnbl ('<Mailempfänger>','Bewegungsalarm CamHE1','Eine Bewegung wurde an der Haustür registriert.','/media/sf_surveillance/@Snapshot/[CamHE1:LastSnapFilename]')})
Viel Spaß beim Nachnutzen und ein schönes WE ...

Hi,

danke für den Codeschnipsel konnte ich für meinen Mailversand und Pushnotifier Versand direkt verwenden :) ... und nomma ein danke für deine geleistete Arbeit, für dieses Modul ;)

P.s. evtl. ist der Code auch etwas, für den bestehenden Wikieintrag zu sendEmail?

Greetz
Eldrik

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 02 März 2016, 09:37:24
Morgen eldrik,

freue mich über deine Antwort, vielen Dank.  :)

Für das Wiki habe ich noch keine Schreibberechtigung, hatte ich mich bisher noch nicht drum gekümmert.
Aber du hast recht, dort wäre es richtig platziert. Muß ich mal schauen. Auch für das Modul an sich wäre ein Wikieintrag sicherlich auch nicht verkehrt.
Momentan mache ich wirklich mal eine kleine Pause. Vieles ist liegen geblieben in den letzten Wochen.
Und mit Synology bin ich dabei auch noch ein paar Sachen zu klären. Da ist die API Doku auch nicht immer das Gelbe vom Ei.....

Viele Grüße und einen schönen Tag ,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: hartenthaler am 02 März 2016, 16:18:06
Tausend Dank für dieses sehr schöne und hilfreiche Modul. Habe es gestern installiert, ein wenig herumgespielt - und alles funktioniert bestens!Besonders das Live Video ist der Hit.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 02 März 2016, 22:10:30
Guten Abend hartenthaler,

freut mich sehr zu lesen dass es auch bei dir hilfreiche Dienste leistet.  :)

Herzlich willkommen  .... bei Fragen, Hinweisen und Anregegungen zu SSCam gerne hier posten.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 04 März 2016, 11:03:51
Hallo DS-Starter,

hast Du eine Idee, wie ich die letzte bewegungsgesteuerte Aufnahme in fhem bzw. Tablet UI einbinden kann? Würde gerne immer die letzte Aufnahme abspielen können.

Danke.

Grüße

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 04 März 2016, 17:21:39
Nabend Matthias,

ad hoc fällt mir auch nichts ein. Ich schaue mal nach einer Lösung in der API-Docu.
Viellleicht kann man da etwas machen.

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 06 März 2016, 18:15:08
Hallo Matthias, hallo zusammen,
in der aktualisierten angehängten Version gibt es das Reading "CamLastRec" welches den Pfad/Namen der letzten Aufnahme enthält.
Es muß noch der Inhalt des  Readings "VideoFolder" vorangestellt werden um den kompletten Pfad zu erhalten.

Du könntest also über ein aktiviertes Polling  oder AT-gesteuert den Befehl "get ... eventlist" bzw. "get ... caminfoall" ausführen lassen und dir einen Event auf die Änderung von "CamLastRec" setzen.
Wird ein Event ausgelöst, kannst du dir z.B.  eine Mail mit dem kompletten Link zu dem File (oder das File selbst) schicken lassen. Der "Videofolder" muß natürlich zugreifbar sein, d.h. er ist dann entsprechend angepasst (ähnlich wie bei den Schnappschüssen) in die Mail einzufügen.

Ich schau mal ob ich noch eine integrierte Funktion erstellen kann, aber vielleicht ist das für dich schonmal ein Ansatz.
Habe momentan nicht allzu viel Zeit.

Schönen Abend noch,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 06 März 2016, 19:48:46
Hallo Heiko,

hört sich doch schon mal gut an. Werde ich die Tage ausprobieren, gebe Dir dann Rückmeldung.

Schönen Abend.

Matthias

Titel: neue Funktion "set ... extevent 1-10"
Beitrag von: DS_Starter am 09 März 2016, 22:29:15
Guten Abend zusammen,

ich habe noch die Funktion "set ... extevent" hinzugefügt. Mit dieser Funktion kann man die externen Ereignisse in der SVS antriggern.

set <name> extevent [ 1-10 ]

Dieses Kommando triggert ein externes Ereignis (1-10) in der SVS. Die Aktionen, die dieses Ereignis auslöst, sind zuvor in dem Aktionsregeleditor der SVS einzustellen.
Es stehen die Ereignisse 1-10 zur Verfügung. In der Banchrichtigungs-App der SVS können auch Email, SMS oder Mobil (DS-Cam) Nachrichten ausgegeben werden wenn ein externes Ereignis ausgelöst wurde.
Nähere Informationen dazu sind in der Hilfe zum Aktionsregeleditor zu finden. Der verwendete User benötigt Admin-Rechte in einer DSM-Session.


Wünsche euch viel Spaß bei Testen.

Viele Grüße
Heiko


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 11 März 2016, 20:02:09
Hallo Heiko,

habe zurzeit das Problem, dass meine Kamera nach ein paar Sekunden einfach aufhört aufzunehmen, obwohl sie keinen Befehl dazu bekommt. Ich habe dann nur ein Video von ein paar Sekunden. Mein Befehl lautet:
define Kamera_Front_an DOIF ([Haustuer] eq "on") (set Cam_Front Start) DOELSE (set Cam_Front Stop)

Vor- und Nachlaufzeit der Kamera liegen bei 5 sec.

Auszug aus dem Reading: CamLastRecTime 11.03.2016 / 19:55:22 - 19:55:28 2016-03-11 19:55:51

Hast Du eine Idee, woran das liegen kann?

LG

Matthias

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 11 März 2016, 21:21:01
Hallo Matthias,

hast du mal im Logfile geschaut ob sie wirklich keinen Befehl zum Stoppen bekommt ?
Setze dazu mal bitte verbose=4 und löse deinen Trigger aus. Den Logauszug kannst du gerne posten.

Der DOELSE-Zweig in deinem DOIF ist meiner Meinung nach überflüssig. Wenn ich es richtig interpretiere, möchtest du eine Aufnahme starten wenn die Haustür aufgeht oder so etwas. Dann sollte es reichen die Aufnahme mit set Cam_Front Start zu starten. Die Aunahmelänge stellst du ja im Modul mit dem Attribut "rectime" ein.
Schau auch mal ob in der SVS die Bewegungserkennung auf "deaktiviert" steht.

Wenn du die Aufnahme im FHEMWEB manuell mit "on" oder "start" startest , ist die Reaktion wie von dir erwartet oder ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 12 März 2016, 08:59:59
Hallo Heiko,

Ich hatte rectime auf 0 gestellt, um dann die Aufnahmelänge über Doif (gekoppelt an ein Dummy, welches von einem Bewegungsmelder von Homematic getriggert wird) zu steuern. Im Logfile wird nach ein paar Sekunden der Befehl Stop gesetzt, ich weiß nicht warum oder von wem?
Die Bewegungserkennung ist ausgestellt.

Log:
2016.03.12 08:57:57 3: Cam_Front - Camera Front Recording with Recordtime 15s started
2016.03.12 08:57:57 1: PERL WARNING: Argument "100 %" isn't numeric in numeric lt (<) at (eval 84903) line 1.
2016.03.12 08:57:57 1: PERL WARNING: Argument "4 %" isn't numeric in numeric lt (<) at (eval 84904) line 1.
2016.03.12 08:57:57 1: PERL WARNING: Argument "92 %" isn't numeric in numeric lt (<) at (eval 84926) line 1.
2016.03.12 08:57:57 1: PERL WARNING: Argument "53 %" isn't numeric in numeric lt (<) at (eval 84927) line 1.
2016.03.12 08:57:59 3: Cam_Front - Camera Front Recording stopped

Die gesamte Dauer beträgt dann 8 sec.

LG

Matthias


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 März 2016, 09:26:34
Morgen Matthias,

ok, dann verstehe ich das DOIF.
Die Recordtime von 15s ist der Standardwert. Also wenn rectime garnicht gesetzt ist, wird automatisch 15 Sekunden verwendet.
Die  Cam  bekommt schon nach 2 Sekunden einen Stop-Befehl obwohl recttime nicht gesetzt ist. Das ist merkwürdig.

Das sieht mir nach einem Bug aus. Ich versuche es bei mir nachzustellen.
Mache mal bitte einen FHEM-restart bzw. rereadcfg tut es auch ob das Problem dann behoben ist.

viele Grüße
Heiko


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 März 2016, 10:24:21
Hallo Matthias,

ich glaube ich habe einen kleinen Fehler gefunden und ihn im angehängten File korrigiert.
Ich habe alle möglichen Varianten von rectime=0 und rectime>0 bzw. set <cam> on "x" getestet und keinerlei sonderbares Verhalten festgestellt.
Schau mal wie es bei dir damit aussieht.

EDIT: Kleiner Hinweis: die in der SVS eingestellte Nachlaufzeit ist nicht für die Gesamtaufnahmelänge relevant, nur die Vorlaufzeit geht mit ein.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 14 März 2016, 14:45:56
Gleiches Problem bei mir,
seit dem letzten Update (heute Morgen) nur noch 2-5 Sek. Aufnahme..
ein : set Foscam_outdoor on 30  erzeugt bei einer Kamera folgenden Log:

2016.03.14 14:28:07 3: Foscam_outdoor - Camera outdoor Recording with Recordtime 30s started
2016.03.14 14:28:09 3: Foscam_outdoor - Camera outdoor Recording stopped

vorher teiweise Aufnahmezeiten von genau 30:00 Minuten ?

bei einer zweiten Kamera gehts ohne Probleme !?

Edit: Nach einem Neustart von FHEM scheint nun alles wieder zu laufen ?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 März 2016, 14:53:12
Gib mal bitte ein "rereadcfg" ... Wie sieht es dann aus ?

Grüsse
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 14 März 2016, 15:04:12
Nach Neustart bzw. rereadcfg gehts wieder !?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 März 2016, 15:04:46
Zitat
Edit: Nach einem Neustart von FHEM scheint nun alles wieder zu laufen

Ok....
Gib bitte Bescheid wenn dir noch etwas auffallen sollte.

Grüsse
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 18 März 2016, 19:53:01
Hallo,

wollte auch mal noch kurz Rückmeldung geben. Bei mir funktionieren die Aufnahmen immer noch nicht richtig. Manchmal funktioniert über einen halben Tag alles, dann nimmt keine Kamera mehr richtig auf, eine andauernd, ein andere mal 5 sec, usw. Wenn ich dann rectime lösche und dann wieder mit 0 angebe, geht es oft wieder für einige Zeit. Ich habe auch schon vom Befehl DOIF auf Notify gewechselt, jedoch auch keine Verbesserung erzielt.

Geht bei Euch alles?

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 März 2016, 20:35:24
Hi Matthias,

das ist ja echt eigenartig was du beschreibst. Ich habe ingesamt 4 Kameras laufen und keinerlei Sorgen.
Daueraufnahmen (also rectime = 0)  benutze ich allerdings nicht regulär/produktiv, sondern nur zum Testen.

Wahrscheinlich kannst du auch kein Muster ableiten, d.h. ob sich beim Eintreten von bestimmten Konstellationen dieses Verhalten darstellt, oder ?
Kannst du mal Listings von deinen Cams zur Verfügung stellen ?

EDIT: Du hast beschrieben eine Kamera startet plötzlich eine Daueraufnahme obwohl sie es nicht sollte. Das kann eigentlich nur passieren wenn der entsprechende Timer (für das Stop-Kommando) in FHEM gelöscht wird oder die Syno nimmt den Befehl nicht entgegen. Das würde man aber als Fehler im Log sehen. Ich kann mir dein Problem momentan nicht wirklich erklären .... ich würde zur Fehlereingrenzung erst einmal mit einer Kamera anfangen, alle anderen erstmal wieder löschen/deaktivieren.
Wie oft werden bei dir im Durchschnitt Aufnahmen angetriggert ?

Grüße
Heiko



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 März 2016, 15:08:43
Hallo Matthias,

ich habe mir noch etwas Gedanken gemacht und in dem angehängten Modul das Timerregime zur internen Ablaufsteuerung umgestellt und etwas "großzügiger" bemessen.
Lade es dir bitte herunter und gib mal Rückmeldung ob sich dann in deiner Umgebung  etwas ändert/verbessert.
Wie gesagt, bei mir funktioniert es tadellos.
Mache bitte auf jeden Fall ein "shutdown restart" wenn du das neue Modul eingespielt hast.

Schönes WE !
Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 19 März 2016, 15:22:56
Hallo Heiko,

ein wirkliches Muster kann ich nicht erkennen.
Die Häufigkeit von Aufnahmen ist unterschiedlich, gestern hatte ich das Problem, dass ich meinen automatischen Rasenmäher im Garten wieder aktiviert habe und dadurch der BW und folglich die Kamera recht häufig aktiviert wurden.
Kann es sein, dass falls mal ein Start oder Stop Befehl nicht ankommen sollte, sich das Ganze dann verschiebt?

Ich werde das neue Modul mal ausprobieren.

Schönes WE

Matthias

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 März 2016, 15:35:15
Hallo Matthias,

nein es verschiebt sich wegen eines nicht ankommenden Befehls nichts. Wenn "Start" nicht ankommt startet die Aufnhame halt nicht  ;).
Etwas unangenehm ist es natürlich wenn ein "Stop" die Syno nicht erreichen sollte weil dann die Aufnahme weiterläuft bis zum nächsten Stop-Befehl.

Ich habe jetzt mal einen "Stresstest" gemacht und ca. 20-30 Start-Trigger (trigger MelderCP1 on) auf eine Kamera abgesetzt während die erste Aufnahme (22 Sekunden) noch lief.
Auch das hat das Modul nicht "aus der Fassung" gebracht und die angetriggerten Aufnahmen schön der Reihe nach abgearbeitet.
Ich wollte nur ein Gefühl für deine Umgebung bekommen um Anhaltspunkte zu sammeln.

Schauen wir mal wie dein Test verläuft.

Welches Betriebssystem hast du unter FHEM laufen und worauf ?  Und welche Syno hast du laufen ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 19 März 2016, 15:55:00
Hallo Heiko, 

neue Version teste ich aus.

Habe FHEM auf einem NUC System mit aktuellem Linux laufen, meine Syno habe ich gerade erneuert, ist eine DS716+.

Mal schauen.

Danke Dir.


Matthias

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 23 März 2016, 18:01:22
@DS_Starter: Hast du eine Idee, warum meine Aufnahmen sofort wieder beendet werden, egal, ob ich eine Dauer angebe?

Internals:
   CAMID      6
   CAMNAME    GartenCam
   CREDENTIALS Set
   DEF        GartenCam 192.168.178.31 5000
   NAME       GartenCam
   NR         37
   OPMODE     Stop
   SERVERADDR 192.168.178.31
   SERVERPORT 5000
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 5
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     OLDVALPOLLNOLOGGING 1
     RECTIME_DEF 15
     Svsversion:
       BUILD      4122
       MAJOR      7
       MINOR      1
   Readings:
     2016-03-23 17:31:39   Availability    enabled
     2016-03-23 17:21:58   CamEventNum     2986
     2016-03-23 17:31:39   CamExposureControl Unknown
     2016-03-23 17:31:39   CamExposureMode Unknown
     2016-03-23 17:31:39   CamIP           192.168.178.60
     2016-03-23 17:21:58   CamLastRec      20160323PM/GartenCam20160323-171917-1458749957.mp4
     2016-03-23 17:21:58   CamLastRecTime  23.03.2016 / 17:19:17 - 17:19:25
     2016-03-23 17:31:39   CamLiveMode     Liveview from DS
     2016-03-23 17:31:39   CamModel        IB8369
     2016-03-23 17:21:00   CamMotDetSc     SVS
     2016-03-23 17:31:39   CamPort         80
     2016-03-23 17:31:39   CamPreRecTime   5
     2016-03-23 17:31:39   CamPtSpeed      3
     2016-03-23 17:31:39   CamRecShare     surveillance
     2016-03-23 17:31:39   CamRecVolume    volume1
     2016-03-23 17:31:39   CamVendor       Vivotek
     2016-03-23 17:31:39   CamVideoFlip    true
     2016-03-23 17:31:39   CamVideoMirror  true
     2016-03-23 17:31:39   CamblPresetSpeed false
     2016-03-23 17:31:40   CapAudioOut     false
     2016-03-23 17:31:40   CapChangeSpeed  false
     2016-03-23 17:31:40   CapPTZAbs       false
     2016-03-23 17:31:40   CapPTZAutoFocus false
     2016-03-23 17:31:40   CapPTZDirections 0
     2016-03-23 17:31:40   CapPTZFocus     false
     2016-03-23 17:31:40   CapPTZHome      false
     2016-03-23 17:31:40   CapPTZIris      false
     2016-03-23 17:31:40   CapPTZPan       false
     2016-03-23 17:31:40   CapPTZTilt      false
     2016-03-23 17:31:40   CapPTZZoom      false
     2016-03-23 17:31:39   DeviceType      Camera
     2016-03-23 17:52:37   Error           none
     2016-03-23 17:52:37   Errorcode       none
     2016-03-23 17:01:28   LastSnapFilename GartenCam-20160323-1627392985.jpg
     2016-03-23 16:27:39   LastSnapId      12
     2016-03-23 17:31:39   LastUpdateTime  23.03.2016 / 17:31:39
     2016-03-23 17:31:09   LiveStreamUrl
     2016-03-23 17:31:09   PollState       Inactive
     2016-03-23 17:52:37   Record          Stop
     2016-03-23 17:31:37   SVScustomPortHttp 9900
     2016-03-23 17:31:37   SVScustomPortHttps 9901
     2016-03-23 17:31:37   SVSlicenseNumber 6
     2016-03-23 17:31:37   SVSuserPriv     Manager
     2016-03-23 17:31:37   SVSversion      7.1-4122
     2016-03-23 17:31:39   UsedSpaceMB     20.036
     2016-03-23 17:31:39   VideoFolder     /volume1/surveillance/GartenCam
     2016-03-23 17:52:37   state           off
Attributes:
   event-on-change-reading state,Availability,Record,Error.*
   pollnologging 1
   rectime    30
   room       SSCam
   session    SurveillanceStation
   verbose    2
   webCmd     on:off:snap:enable:disable

Ins Log habe ich natürlich bei verbose 5 geschaut. Hier habe ich jedoch nach langer Suche auf DS Seite nur herausgefunen, dass es tatsächlich das SSCam Modul ist, das diese Aufnahmen sofort beendet (bei allen Kameras). Nach den Einträgen für das Starten der Aufnahme folgt sofort das Stoppen. Ohne Fehler.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 März 2016, 20:23:30
Nabend marvin78,

hast du mal das Modul aus  #244 (für Matthias) getestet ?
Ich habe den Verdacht, dass in bestimmten Umgebungen das ursprünglich eingestellte Timerregime nicht wie gewünscht funktioniert. Bei mir habe ich diese Erscheinungen nicht.
Nachher stelle ich noch eine Weiterentwicklung mit einer neuen Funktion hier rein. Auch in diesem Modul habe ich die interne Timersteuerung etwas verlängert. Leider hat sich Matthias bis jetzt nicht mit seinen Ergebnissen zurück gemeldet.

Und mach mal bitte ein rereadcfg ....

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 23 März 2016, 21:00:27
Neustart von FHEM bringt tatsächlich für eine Weile Besserung. Das habe ich oben vergessen zu erwähnen. Nach einer Weile (nicht gemessen), gibt es aber wieder das gleiche beschriebene Problem. Die genannte Version kann ich morgen testen.

Edit: es könnte sein, dass die neue Möglichkeit Timer mit Namen beenden zu können hier Abhilfe schafft.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 März 2016, 21:11:06
Das deckt sich mit der Schilderung von Matthias.
Kannst dann auch die Version benutzen die ich nachher noch einstelle.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 März 2016, 21:37:24
Hallo zusammen,

anbei eine Weiterentwicklung mit der nun auch die letzte Aufnahme einer Kamera integriert abgespielt werden kann.
Dazu ist der Befehl "set .... runView" um die Optionen "lastrec" und "lastrec_open" erweitert worden.

Desweiteren habe ich realisiert dass nach einem Aufnahmestopp das Reading "CamLastRec" bzw. "CamEventnum" gleich aktualiert wird. Damit wird diese Änderung nicht erst mit dem nächsten Polling sichtbar und kann sofort für weitere Verarbeitungen verwendet werden.

Die neue Version checke ich auch noch ein, hier vorab ....

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 März 2016, 22:06:11
Zitat
es könnte sein, dass die neue Möglichkeit Timer mit Namen beenden zu können hier Abhilfe schafft

Danke für den Hinweis marvin ... das checke ich mal.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 24 März 2016, 08:59:58
Ich habe keine empirischen Daten aber gefühlt scheint mein Problem sich mit der zuletzt geposteten Version aufgelöst zu haben. Danke dafür.

Ich habe mal einen ganz kurzen (wirklich kurz) Blick in das Modul geworfen. Mir fehlt da noch der Überblick, aber insgesamt habe ich das Gefühl, dass die einzelnen Timer noch besser voneinander unterschieden werden müssten. Die neuen Versionen von InternalTimer sollten das besser möglich machen. Kannst ja mal schauen, ob das hilft. Es gibt dazu was im Entwicklerforum, wenn ich mich nicht täusche.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 März 2016, 09:23:52
Morgen Marvin,
ich hatte bisher eine größere Unterscheidung der delays, aber sehr kurze Zeiten. Im Developerforum habe ich irgendwo gelesen dass es zu merkwürdigen Effekten kommen kann, wenn ein Timer durch welche Einflüsse auch immer auf einen Wert in der Vergangenheit relativ zur aktuellen Zeit gesetzt wird.
Wie gesagt, bei mir hatte ich egal mit welcher Version keine Sorgen damit. Es muß also irgendwie mit der jeweiligen Einsatzumgebung einen Zusammenhang geben.
Ich würde dir nach Ostern gern nochmal eine Version testen lassen um dieses Verhalten mehr zu sondieren wenn du magst . Bei mir konnte ich diesen negativen Effekt noch nicht nachstellen.

Viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 24 März 2016, 10:20:52
Du hast auf jeden Fall recht. Timer in dem Modul machen bei mir tatsächlich auf unterschiedlichen System unterschiedliche Probleme. Auf dem Testsystem - Cubietruck, Debian - (daher stammt das letzte Problem), ist es eben das beschriebene Verhalten, auf dem Produktivsystem (NUC, Ubuntu Server) führt SSCam sogar nach einiger Zeit (unterschiedlich, keine Fehler im Log) zur kompletten Blockierung von FHEM. Ein andere User hat hier mal ähnliches berichtet. Deshalb habe ich SSCAM auf das Testsytem ausgelagert. Eventuell müssten die Timer noch klarer abgegrenzt werden. Ich würde auch Wechselwirkungen mit anderen Modulen nicht ausschließen. Da ich jedoch ein sehr umfangreiches System habe, habe ich nicht die Zeit, hier Tests durchzuführen.

Ich kann das nach Ostern gerne testen. Nur auf meinem Produktivsystem mache ich mit SSCam vorest keine Tests mehr ;)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 25 März 2016, 10:14:18
Hallo marvin,

du hattest ja berichtet, dass mit der neuesten Version nun die dir beschriebenen Probleme nicht mehr aufgetaucht sind.
Ist es dabei geblieben ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 25 März 2016, 18:01:31
Hallo, wollte mich auch mit meinen Ergebnissen zurückmelden.

Deine letzte Version hatte keine wesentliche Änderung bei mir gebracht. Habe in der Zwischenzeit die rectime von 0 auf 40 geändert, um zu schauen, wie da die Auswirkungen sind. Aber auch hier gibt es immer wieder Fehler, jedoch ohne erkennbaren Sinn. Es ist so, dass plötzlich einfach eine Kamera 20x hintereinander aufnimmt (jeweils zu etwa 50sec), eine andere nimmt plötzlich 30min am Stück auf und hört gar nicht mehr auf. Dann geht es plötzlich wieder. Neustart bringt oft eine Besserung und alle Kameras gehen wieder ordentlich für eine gewisse Zeit.

LG

Matthias



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 25 März 2016, 18:46:34
Kann ich bestätigen. Nach einer Weile (die etwas länger ist als vorher - nicht gemessen), gibt es wieder Chaos mit den Timern. Es äußert sich hier darin, dass die Aufnahmen manchmal laufen, manchmal nicht, aber nie so lange, wie gewollt.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 März 2016, 16:44:23
Vielen Dank für eure Rückmeldung.
Nach Ostern werde ich versuchen die neue funktionsabhängige Timerversion einzubauen. Vielleicht bringt das bei euch den Durchbruch.

viele Grüßé
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 März 2016, 17:18:48
Hallo Matthias und marvin,

testet doch bitte noch ob die Auskommentierung von "use Time::HiRes " am Anfang des Scriptes bei euch eine Verbesserung bringt, oder benutzt die angehängte Version (hier ist es auch nur auskommentiert).
Ich möchte es einfach nur ausschließen ob das bei euch  stört.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 März 2016, 10:23:45
Hallo Matthias und marvin,

ich habe nun doch schon etwas Zeit gefunden und den funktionsabhängigen RemoveInternalTimer eingebaut.
Bitte testen mal das Ergebnis bei euch mit der angehängten Version.
Bei mir funktioniert alles nach wie vor einwandfrei.

Macht bitte nach dem Einspielen auf jeden Fall einen FHEM-Restart.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: marvin78 am 29 März 2016, 08:23:54
Ich habe die neueste Devel-Version im Testsystem. Ich werde berichten, falls mir was auffällt, wenn ich mich nicht melde, kannst du davon ausgehen, dass mir nichts negatives aufgefallen ist. Für präzisere Tests habe ich erst nächste Woche wieder etwas mehr Zeit.
Titel: Antw:neue Funktion "set <name> motdetsc [by_camera] [by_SVS] [disable]"
Beitrag von: forum-merlin am 29 März 2016, 17:00:36
In das Modul habe ich nun die Möglichlkeit eingebaut die Quelle der Bewegungserkennung umzuschalten. D.h. man kann festlegen ob die Bewegungserkennung durch die Kamera , die SVS  oder deaktiviert werden soll.
Die Idee / die Anforderung geht auf den Beitrag #97 von Holger (Forum-Merlin) zurück. 

@Holger, ich habe dich nicht vergessen. Werde alsbald den aktuellen Entwicklungsstand versuchen auf V6 umzusetzen damit du ihn testen kannst. Es wird natürlich nicht alles funktionieren was unter V7 möglich ist.

Hier die kurze Beschreibung der neuen Funktion:

set <name> motdetsc [by_camera] [by_SVS] [disable]

Der Befehl "motdetsc" (steht für "motion detection source") schaltet die Bewegungserkennung in den gewünschten Modus. Die erfolgreiche Ausführung der Operation lässt sich u.a. anhand des Status von SVS -> IP-Kamera -> Ereigniserkennung -> Bewegung nachvollziehen. Zu einem späteren Zeitpunkt soll noch ein entsprechendes Reading folgen.


Die neue Version ist wieder angehängt.
Viel Spaß beim Test und Grüße

Heiko

Hallo Heiko!
Ich war jetzt einige Wochen leider komplett außer Gefecht gesetzt. Daher lese ich eigentlich heute erst mal wieder weiter und schaue was so passiert ist.
Danke, dass Du mich mit meiner alten 6er Version nicht vergisst!

Aktuell wäre ich genau an dem Punkt wo ich gerne per Presence Modul die Bewegungserkennung die ich über die Syno mache, aktiviere oder deaktiviere, oder eben auch über Notifys die an die Alarmanalge gekoppelt sind. So unter dem Motto "Alarmanlage scharf-anwesend = Bewegungserkennung auf allen Außen Cams auf ON" oder Presence meldet, alle Bewohner abwesend, dann Alarmanlage Status = scharf, und dann Bewegungserkennung für ALLE Kameras auf on" oder auch ganz wichtig, "Alarmstatus = Off, Terrassentür = open, Bewegungserkennung = off, Terrassentür = closed, Bewegungserkennung=on"

So in der Art halt.

Ich lese mal weiter...  ;D

Beste Grüße

/Holger



EDIT:
@Heiko,
Da ich ja meine Spezialversion damals festgepinnt hatte, so dass ein Update diese nicht überschreibt, frage ich mich, gerade, wie ich jetzt am Besten vorgehen soll.
Kannst Du mir kurz sagen ob ich ein Update machen soll, oder wie ich am geschicktesten vorgehen soll?



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 März 2016, 18:15:00
Hallo Holger,

schön dich wieder zu lesen ...

Zitat
Da ich ja meine Spezialversion damals festgepinnt hatte, so dass ein Update diese nicht überschreibt, frage ich mich, gerade, wie ich jetzt am Besten vorgehen soll.

Ich hatte in der letzten Zeit noch einige Funktionen hinzugefügt und ausgebaut. Viel mehr wird jetzt nicht hinzukommen ... schließlich kommt jetzt die Gartensaison  ;)
Mach erstmal kein Update ... ich baue dir von dem letzten Entwicklungsstand eine V6, die du dann testen müßtest/kannst.
Alles Weitere dann erstmal als PN. Es wird ein bisschen hin- und hergehen und ist ja zunächst nicht die offiziell vom Modul unterstützte SVS-Version.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 29 März 2016, 19:14:42
ich baue dir von dem letzten Entwicklungsstand eine V6, die du dann testen müßtest/kannst.
Alles Weitere dann erstmal als PN. Es wird ein bisschen hin- und hergehen und ist ja zunächst nicht die offiziell vom Modul unterstützte SVS-Version.
Danke Dir!
Ich warte dann gespannt auf die PN(s).

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 30 März 2016, 11:19:33
Hallo Heiko,

Komme erst nächste Woche zum Testen der Aufnahmezeiten, gebe Dir dann Rückmeldung.

Grüße

Matthias
Titel: Wikieintrag erstellt
Beitrag von: DS_Starter am 02 April 2016, 10:12:14
Hallo zusammen,

ich habe für das Modul einen Wikieintrag erstellt:

http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station (http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station)

Der Eintrag enthält momentan die Einträge aus der Commandref und soll so als Ausgangsbasis für weitere Erläuterungen und Hilfen dienen.
Ihr seid herzlich eingeladen, den Wikieintrag um eigene Beiträge, z.B. von euch realisierte Lösungsszenarien für bestimmte Aufgaben, zu ergänzen.

viele Grüße und ein schönes WE,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 03 April 2016, 20:43:18
Hallo @ All,

ich wollte nur mal kurz berichten, dass ich nun auch von der v6 auf die v7 umgestiegen bin, und nun auch das Thema mit den Extramodulen vorbei ist.

Nun habe ich auch schon so einiges konfiguriert und bin mega happy!
Das was ich unbedingt wollte war ja, dass sich die MotionDetection der SVS diabled wenn das Presence Modul sagt es ist jemand daheim.
Und das geht nun. Perfekt!

Danke Heiko, dass du das Modul gebaut hast!


@Heiko
Wieso ist der STATE bei einer enabled Cam auf off?
Auf was bestieht sich der STATE ??
Ich wollte nämlich gerade custom devStateIcons setzen und ich habe damit Schwierigkeiten.
Ich weiss nicht wie ich die auf ein Reading setzen kann, und die gehen default auf die INTERNAL STATE Values.
Und wenn ich das Attribut "pollcaminfoall" gesetzt habe zieht das Reading den INTERNAL State wieder auf off, und daher kann ich auch nicht setstate GA.Cam1 on machen

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 03 April 2016, 21:18:46
Hallo Holger,

prima, dass es so schön klappt  :)

Also, das Internal STATE folgt dem Reading state 1:1. Dabei wird das Reading state aber meistens entsprechend des Operation Modes gestzt, also on = Aufnahme passiert gerade, off = Cam macht nichts, snap = Schnappschuß wird gemacht usw.

Du kannst aber als Nutzer das Verhalten vom Internal STATE ändern, indem du das Attribut stateformat benutzt um z.B. den Wert von Availability auf STATE abzubilden. Es funktionieren auch Perl-Ausdrücke. Das ist dem Nutzer überlassen wie er das gerne hätte. Aber per default ist Internal STATE  = Reading state !

Custom devStateIcons  benutze ich auch. Die sehen zum Beispiel so aus:
    
.*isable.*:set_off .*nable:FS20.off .*nap:li_wht_on .*disconn.*:set_off
"pollcaminfoall" ist eine Sammlung von Calls gegen die SVS um Infos abzurufen. Am Ende dieser Calls wird das Reading state wieder auf "off" gesetzt, es sein denn eine Aufnahme läuft gerade (dann state = "on") oder ein Schnapschuß (dann state = "snap") usw.
"pollcaminfoall" habe ich auch bei allen Cams ca. alle 210s laufen.

Im Anhang ein Bild wie der Default-Status aller Cams bei mir ist.

Was möchtest du denn mit "setstate GA.Cam1 on" genau erreichen ?

Grüße
Heiko



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 04 April 2016, 20:33:32
Hallo Heiko,

Ich wollte mit dem setstate eigentlich nur erreichen, dass ich meine devStateIcons setzen kann.
Aber das zauberwort hier war "stateformat"

Zumindest wenn ich das richtig gemacht habe ???
attr GA.Cam1 stateformat Availability
Hintergrund war nur dass ich erst diese doofen Lampensymbole hatte, und ich wollte ein Anderes Symbol da haben das mit den Status der Cam anzeigt. Nämlich den Status der Availbalility und nicht den Status ob die Cam gerade aufzeichnet oder nicht.

Anbei zwei Screenshots. :-)


Mal ne andere Frage...
Wie identifiziere ich warum manchmal ein disable der Motion Detection nicht durchgegangen ist?
Ich habe wie Du sehen kannst ein DOIF gebastelt, (hätte auch ein notify sein können, aber ich probiere grad DOIF´s aus) das mit in Anbhängigkeitz des Presence Status eines Bewohners die Motion Detection ausschalten soll.

Das komische ist (sieht man im ersten screenshot "Cam State Icon.png" dass da die Cam1 noch auf SVS stehengeblieben ist.
Der Call wurde aber durch den DOIF ausgelöst.
hier der Code im DOIF
([Holger_Anwesenheit:presence] eq "present" or [Mirjam_Anwesenheit] eq "present" and [WZ.Tuer.Kontakt:state] eq "open")
       (
       set GA.Cam1 motdetsc disable,
       set GA.Cam2 motdetsc disable,
       set GA.Cam3 motdetsc disable,
       set WZ.Cam4 motdetsc disable,
       { fhem ("set FhemServer0510Bot message HS oder MS ist Zuhause, WZ.Tuer ist offen, deswegen wurden SecurityCams deaktiviert!") }
       )

Ich nehme an, dass der SVS das zu schnell hintereinander ist, kann es aber nicht mit Sicherheit sagen.
Wo kann ich am geschicktesten nachschauen?
Auf dem NAS, oder in FHEM? Ich nehme mal an du bekommst im Modul ja auch Rückmledung über den gesendeten Call ??

Gruß

Holger


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 04 April 2016, 21:02:25
Nabend Holger,

wenn ein HttP-Call aus irgend einem Grund nicht verarbeitet werden kann bekommst du im FHEM-Log eine Error-Meldung vom Modul (verbose = 1).
Zum Beispiel so etwas:

2016.04.03 23:11:56.733 1: CamFL_Test - error while requesting http://192.168.2.10:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=apisvsuser&passwd=Support4me&session=SurveillanceStation&format="sid" - read from to http://192.168.2.10:5000 timed out
Timeouts sind je nach Schnelligkeit deiner Syno und der Menge der Anfragen sicherlich ein mögliches Problem. Du kannst die Timeouts über das Attribut "httptimeout" beeinflussen und anpassen.

Wenn du keine Fehlermeldungen bekommst, kannst du verbose = 4 einstellen und damit die Abarbeitung der Calls ziemlich genau nachvollziehen. Das sind dann unter Umständen eine Menge Daten die man sich anschauen muß.

Denke aber immer daran, dass die Information ob/wie bei der Kamera bestimmte Parameter gesetzt  sind, erst durch den Datenabruf (getcaminfoall) gesammelt werden. D.h. erst nach einem Pollinglauf werden bestimmte Einstellungen als tatsächlich vorhanden angezeigt obwohl der Set-Befehl evtl. schon einige Zeit vorher ausgeführt wurde.
Das hängt damit zusammen, dass die SVS kein Acknowledge für eine durchgeführte Befehlsausführung zurückgibt, sondern lediglich bestimmte Fehlercodes.

Das sind nur so allgemeine Hinweise ... genau kann man sich das nur im Einzelfall anschauen was da so passiert. Aber wenn Fehler gemeldet werden siehst du sie im FHEM-Log.

EDIT: hast du den Befehl schonmal so probiert ? (notify):
.... set GA.Cam1,GA.Cam2,GA.Cam3,WZ.Cam4 motdetsc disable ...
Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 04 April 2016, 21:20:51
Jup, das mit dem pollcaminfoall hatte ich gesehen/gelesen, und bei mir auf 180 Sekunden gestellt.
Meine ReadingsGroup aktualisiert sich also nach diesen 180 Sekunden und zeigt den echten richtigen Status auch an.

Ich habe jetzt mal den httptimout auf 10 gestellt.
Ich hoffe das reicht schon aus.
Ansonsten muss ich echt mal im Log schauen was da los ist warum manche Calls nicht "fruchten"

Bis jetzt macht mir das Modul echt Spass!
Ich kämpfe nun noch mit der Automatisierung, denn ich habe gerade festegestellt, dass mein DOIF keine AND Bedingung beachtet und die Cams schon deaktiviert, selbst wenn nur 1 von 2 Bedingungen (nämlich ist jemand daheim anwesend),  erfüllt sind :/
Aber auch das werde ich irgendwann hinkriegen (hoffe ich jedenfalls)



Beste Grüße

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 04 April 2016, 21:31:38
Kriegst du alles hin  ;)

Ich habe vor lauter entwickeln und neue Sachen einfallen lassen (Wiki schreiben ....) fast keine Zeit mein eigenes FHEM richtig praktisch und schön zu machen sowie Automatisierungsideen umzusetzen. Habe ich mir jetzt aber mal fest vorgenommen...

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 04 April 2016, 21:38:04
Das wird schon werden... Nimm Dir einfach mal die Zeit DEIN Zeug zu machen.

Wenn Du mal irgendwann eine Alarmanlage definiertst, und diese dann so gut wie automatisiert läuft, also dass die Bewohner kaum manuell was machen müssen, dann sag bescheit! :) Dann bin ich ganz Ohr.
Das is nämlich mein Nebenschauplatz hier und wird nicht weniger, wenn dann noch tolle Module wie Deines einfließen sollen.
Wenn jetzt noch jemand ein VOIP CALL Modul rausbringt das mich anruft wenn der Alarm daheim ausgelöst wird, dann dreh ich durch. ;)
Aktuell bekomme ich "nur" TELEGRAM Messages und Emails.

Cu

Holger

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 07 April 2016, 14:08:41
Hallo zusammen,

erst mal vielen Dank für das tolle Forum, bis jetzt war ich nur passiver Leser hier, aber nun muss ich mich doch mal zu Wort melden. :-)

Beim aktuellen Umzug hab ich einiges automatisiert, darunter auch eine bessere Lösung für meine Überwachungskamera gesucht und hier mit dem Modul eine sehr gute Lösung gefunden.
Aktuell wird bei Abwesenheit aller Smartphones (Presence mit lan-ping) meine "Alarmanlage" scharf geschaltet.
jetzt sollte über das Synology NAS / SVS die Kamera aktiviert werden und auf ein Preset fahren.
Bei Bewegung (z.B. Fensterkontakte oder Bewegungsmelder) bei aktiver "Alarmanlage" bekomme ich eine Push-Message und die Kamera fährt so, dass die Quelle im Sichtbereich ist.

Soweit, so gut.

Es funktioniert auch alles klasse, außer das ich beim Deaktivieren des Alarms die Bewegungsaufnahme auf "disable" stelle und beim erneuten aktivieren der Alarmanlage diese auf "by_camera" stellen möchte.

Der Weg von by_camera oder by_SVS --> disable funktioniert
Der Rückweg (disable --> by_camera) wird von der Kamera nicht übernommen. Laut Logging wurde alles ohne Fehler übertragen, da ich zwischen den einzelnen Kommandos ein Sleep von ca 5 Sekunden eingebaut habe.
define KameraPosition dummy
set KameraPosition setList Balkon,Sofa,Kueche,[...]
define not_FahreKamera notify KameraPosition set Surveillance goPreset $EVENT

define KameraAn dummy
set KameraAn setList on off

define not_KameraAktivieren notify KameraAn:on {fhem("set Surveillance expmode auto;sleep 5;set Surveillance motdetsc by_camera;sleep 5;set KameraPosition Balkon")}
define not_KameraDeaktivieren notify KameraAn:off {fhem("set Surveillance expmode day;sleep 5;set Surveillance motdetsc disable;sleep 5;set KameraPosition off")}

Was mache ich hier falsch mit dem motdetsc?
(der Rest funktioniert und deaktivieren geht ebenfalls).

Ergänzungen:
SVSuserPriv Manager
SVSversion 7.2-4602
Kamera-Typ: Foscam FI9826W


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 07 April 2016, 15:02:49
Hallo Rumbel,

funktioniert denn ein Set .... motdetsc by_camera manuell, also über die FHEMWeb Oberfläche (Eingabefeld) ?

Wie ich sehe bist du bereits auf SVS V 7.2. Möglicherweise hat Synology etwas an der API geändert.
Aber das wäre zu prüfen.

Wenn der manuellen Wechsel nicht geht mache mal bitte ein verbose 4 Log und hänge es an.

Edit:  Hast du die neuste Modul Version im Einsatz ? Bin mir ziemlich sicher dass by_camera nur "camera" heißt.

Viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 07 April 2016, 16:41:59
funktioniert denn ein Set .... motdetsc by_camera manuell, also über die FHEMWeb Oberfläche (Eingabefeld) ?
nein, ging auch nicht.

aaaaber:
Edit:  Hast du die neuste Modul Version im Einsatz ? Bin mir ziemlich sicher dass by_camera nur "camera" heißt.
Ja und ja... Verdammt. :-D
Im Wiki steht noch "by_camera" bzw "by_SVS". Es kommt bei der Verwendung von "by_camera" auch keine Fehlermeldung, nur geht es halt nicht.
Ersatze ich es durch "camera" geht es auf Anhieb. :-D

Danke


p.s.: bitte Wiki aktualisieren ;-)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 07 April 2016, 16:48:13
Danke für den Hinweis  :)
Da muß ich wohl noch einen Check an einer Stelle vergessen haben.

Wiki baue ich gerade auf ...

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 07 April 2016, 16:49:51
Wiki baue ich gerade auf ...

ja, das wiki ist super praktisch.
ich musste ich zu beginn etwas länger durch diesen thread hier hangeln, da sich die kommandos zu anfang geändert hatten ;-)
Vielleicht willst du im ersten beitrag hier auch gleich die richtigen kommandos eintragen oder direkt zum wiki verlinken, das hätte mir ziemlich geholfen :-D
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 07 April 2016, 16:53:21
Ja, ist auch eine gute Idee. Werde ich tun ...

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 08 April 2016, 12:47:45
Hallo Rumble, @All,

habe deine Vorschläge umgesetzt und im Wiki auch noch einen Abschnitt für Problemlösungsansätze (hier Mailversand) angefangen:

http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Mail_mit_Snapshot_im_Anhang_und_Aufnahmelink_versenden_.28sendmail.29 (http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Mail_mit_Snapshot_im_Anhang_und_Aufnahmelink_versenden_.28sendmail.29)

Schaut es euch mal bitte an und gerne auch um eigene Erfahrungen/Ansätze ergänzen sofern ihr Schreibrechte habt.

Die Plausibiltätschecks für die set-Befehle habe ch gestern auch noch korrigiert und eingecheckt.

schönes WE,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 08 April 2016, 13:56:13
Klasse, danke!

Den Mail Versand werde ich mir auch noch anschauen... Aktuell spamt mich noch die Diskstation selbst voll. 😜
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 08 April 2016, 23:03:55
Hallo zusammen,

habe im Wiki einen möglichen Einsatz des FHEM-Webservers (HTTPSRV) für den Aufnahmezugriff beschrieben.

http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Einsatz_FHEM_Webserver_zum_Zugriff_auf_Aufnahmen (http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Einsatz_FHEM_Webserver_zum_Zugriff_auf_Aufnahmen)

Es ist eine Ergänzung zum Malversand von Aufnahme-Links.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 08 April 2016, 23:28:20
Überall im Netz findet man Like Buttons!

Und wenn man mal einen braucht um ein cooles Modull und neue Funktionen zu liken is weit und breit keiner da  ;D

Cool dass du dran bleibst Heiko!

Schönes Wochenende!

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: dt2510 am 11 April 2016, 17:05:14
Ich weiß, daß das Modul nicht dafür gedacht war um auf die Bewegungserkennung der Kamera oder der SVS zu reagieren, da diese zu viele "Fehlalarme" produziert.
Nachdem ich meine Verbindungsprobleme - PowerLAN eignet sich nicht wirklich, ein Netzwerkkabel ist immer noch die Beste Lösung - in den Griff bekommen habe, hab' ich die Kamera eine Weile in der SVS laufen lassen.
Klar produziert sie Fehlalarme, aber bei mir hauptsächlich, wenn sie von Tag auf Nachtmodus oder umgekehrt schaltet, bzw. wenn ich das Licht ein-/ausschalte. Damit könnte ich durchaus leben...

Jetzt aber zum eigentlichen Punkt:
Meine Kamera hab' ich anstelle des alten Bewegungsmelders für die Eingangsbeleuchtung montiert (war der Beste Blickwinkel) und demnach wird die Beleuchtung nicht mehr automatisch an-/ausgeschaltet.

Ich hätte jetzt 2 Möglichkeiten

a) mit den Fehlalarmen leben - also den Start der Aufzeichnung zum (möglicherweise unnötigen) Einschalten des Lichts verwenden und den Stop zum Ausschalten

Problem: beim Ausschalten würde gleich eine neue Aufnahme gestartet, also wieder Licht an usw. ... ein ewiger Kreislauf
Mögliche Lösung: vor dem Ausschalten des Lichts die Bewegungssteuerung der SVS deaktivieren und danach wieder aktivieren

b) einen Bewegungsmelder (in meinem Fall Z-Wave oder EnOcean) montieren und damit Kamera und Licht steuern

Könnte mir jemand bei einem Script für Lösung a) behilflich sein (ich hab' außer einem notify für einen Funkschalter noch nichts in FHEM "programmiert") oder einen Bewegungsmelder für Lösung b) empfehlen ?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 11 April 2016, 20:01:21
Hallo dt2510,

für deine Aufgabenstellung die Funktionen des Moduls verwenden zu wollen ist m.M. nach nicht zielführend. Vor allem müssten Bewegungserkennungen per Polling zum Modul übertragen werden was viel zu träge reagieren würde.

Ich würde, auch aus den von dir selbst genannten Gründen, immer einen IR-Bewegungsmelder vorziehen.

Aber es gibt noch einen Ansatz mit der Kamera und der SVS den ich kurz andiskutieren möchte.

Man kann in der SVS den Aktionsregeleditor benutzen um eine externe Webseite aufzurufen wenn eine Kamera eine Bewegung erkannt hat.
Die aufzurufende Webseite kann man mit verbose 4 für das globale Gerät nach der Aktivität (z.B. Regal anschalten) im Logfile mit etwas Mühe herausfinden.

Ich habe als Beispiel mal das Einschalten des Lichtes in einer Vitrine hier eingefügt.

Dazu im Aktionsregeleditor -> Aktionsgerät -> externes Gerät -> Url: 

http://<FHEM-Server>:8083/fhem&dev.seteg_wz_vitrine=eg_wz_vitrine&cmd.seteg_wz_vitrine=set&arg.seteg_wz_vitrine=on
und Benutzer / Passwort hinterlegen.

Als Ereignis gibt man die entsprechende Kamera und "Bewegung entdeckt" an.

Wenn die Cam jetzt eine Bewegung registriert, wird über die Aktionregel die FHEM-Webseite aufgerufen und der Befehl ausgeführt.
Man könnte ein "on-for-timer" benutzen um das Licht für eine gewisse Zeit einzuschalten wenn der Aktor das hergibt.

Jetzt müßte man nur noch dafür sorgen tragen, dass der nächste Schaltimpuls erst wieder akzeptiert wird wenn die Leuchtdauer des Hoflichts (zzgl. Sicherheitszuschlag) vorüber ist um ein ständiges Schalten des Lichtes zu verhindern.

Das kann man sich sicherlich noch ausdenken wenn du weißt welchen Weg du gehen möchtest. Du kannst die Sache mit der Aktionsregel ja mal testen ob das für dich in Frage käme ... dann lohnt es sich weitere Überlegungen in der beschriebenen Richtung anzustellen.

Das ist was mir so adhoc dazu einfällt. Erste Wahl bleibt für mich der IR-Melder.
Vielleicht gibt es noch weitere Ideen dazu ....

viele Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: dt2510 am 12 April 2016, 10:12:50
Wenn die Cam jetzt eine Bewegung registriert, wird über die Aktionregel die FHEM-Webseite aufgerufen und der Befehl ausgeführt.
Man könnte ein "on-for-timer" benutzen um das Licht für eine gewisse Zeit einzuschalten wenn der Aktor das hergibt.

Jetzt müßte man nur noch dafür sorgen tragen, dass der nächste Schaltimpuls erst wieder akzeptiert wird wenn die Leuchtdauer des Hoflichts (zzgl. Sicherheitszuschlag) vorüber ist um ein ständiges Schalten des Lichtes zu verhindern.

Ich hab' vergessen zu erwähnen, daß es sich um die Kamera vor der Haustür handelt (also Outdoor) ! Ein Bewegungsmelder könnte allerdings in einem Windfang regengeschützt montiert werden.

Für die Beleuchtung verwende ich ein Fibaro Relais, welches auch on-for-timer unterstützt. Meiner Meinung nach reicht das alleine aber nicht aus.
Wie bei einem handelsüblichen Bewegungsmelder sollte on-for-timer erst aktiv werden, wenn KEINE Bewegung mehr erkannt wird, also folgendermaßen:

1) Bewegung erkannt -> Licht an
2) keine Bewegung mehr -> Timer starten für z.B. 30 Sekunden (gibt es so was ?), bei Bewegung wieder zu 1) und Timer stoppen
3) Timer abgelaufen -> Bewegungserkennung für z.B. 5 Sekunden ignorieren und Licht ausschalten

Sollte das nicht möglich sein, bräuchte ich eine Tip für einen Bewegungsmelder (Z-Wave oder EnOcean, wenn möglich Outdoor und Netz-/Netzteilbetrieb)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Merlin2000 am 12 April 2016, 19:31:51
Hallo DS_Starter,
Ich bin gestern auf Dein Modul SSCam gestoßen, es löst der Beschreibung nach einige Probleme, die ich mit der SVS habe. Besonders hilfreich ist die Funktion, die Bewegungserkennung abschalten zu können. So lässt sich die Kameraüberwachung prima mit dem Hausstaus koppeln.
Ich habe es also gleich installiert, allerdings stecke ich jetzt fest.
Ich bekomme keinen Zugriff, die Fehlermeldung lautet "connection refused".

Was ich gemacht habe:
- Einen DSM-User angelegt, der hat Adminrechte und Zugriff auf SVS, sonst nichts.
- Den Kameras mittels credentials Namen und Passwort des DSM-Users zugewiesen.
- Den Kameras mittels session mitgeteilt, dass der DSM-User verwendet werden soll.

Wenn ich es richtig verstanden habe, steuert SSCam nur die SVS. Die Kameras haben wiederum eigene User und Passwörter, die in SVS eingetragen sind.
Müssen die User (DSM und Kamera) identisch sein, greift also SSCam direkt auf die Kameras zu?

Beste Grüße,
Dirk
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 12 April 2016, 19:59:20
Hallo Heiko,

ich wollte endlich mal Rückmeldung geben bezüglich der Aufnahmezeiten. Es ist nach Deinen Änderungen deutlich stabiler geworden, jedoch tritt manchmal der Fehler immer nochmals auf. Nach einem Neustart ist alles wieder in Ordnung. Ausgelöst wird der Fehler vor allem dann, wenn relativ viele Anfragen an die Kamera innerhalb eines kurzen Zeitraums gestellt werden (bei uns reagiert aktuell immer der Bewegungsmelder, wenn der Mähroboter vorbei fährt - das kann dann relativ oft hintereinander vorkommen). Ich denke, dass irgendwann eine Meldung (vor allem Stop-Meldung) an die Kamera nicht weitergeleitet wird. Entweder habe ich dann wieder meine Daueraufnahme oder die Zeit der Aufnahme wird von etwa 40sec auf etwa 10sec reduziert. Ich werde mal versuchen, meine Befehle etwas anzupassen.

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 April 2016, 20:32:05
Hallo zusammen,

@Merlin2000 .... das sieht so aus als ob der HTTP Call nicht zur SVS durchgelassen wird. Port richtig ? Firewall auf der DS offen ?
Mach mal bitte ein "list <Kamera>" und wenn wir damit nicht weiterkommen einen Logauszug mit verbose=4. Dann sehen wir mehr.
Das Modul greift ausschließlich auf die SVS zu. Die Kameras selbst werden nicht angesprochen, das passiert dann ausschließlich von der SVS aus.
EDIT: ...d.h. Nutzer/PW von SVS und Kamera müssen NICHT identisch sein.

@math78 .... das liest sich schon mal sehr gut und freut mich  :)  Ich habe bei mir jetzt testweise x-mal über das Eingabefeld "set <cam> on" im Abstand von 2 Sekunden (so schnell ich eben war) abgesetzt um das Modul zu "provozieren".
Es ist nichts passiert. Die Aufnahmedauer lag konstant bei den eingestellten 22 Sekunden.

Sieht so aus im Log:

2016.04.12 20:20:11.221 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:20:34.708 3: CamCP1 - Camera Carport Recording stopped
2016.04.12 20:20:36.258 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:20:59.573 3: CamCP1 - Camera Carport Recording stopped
2016.04.12 20:21:01.828 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:21:25.127 3: CamCP1 - Camera Carport Recording stopped
2016.04.12 20:23:28.272 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:23:56.773 3: CamCP1 - Camera Carport Recording stopped
2016.04.12 20:23:58.683 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:24:21.781 3: CamCP1 - Camera Carport Recording stopped
2016.04.12 20:25:05.949 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:25:29.213 3: CamCP1 - Camera Carport Recording stopped
2016.04.12 20:25:30.824 3: CamCP1 - Camera Carport Recording with Recordtime 22s started
2016.04.12 20:25:53.997 3: CamCP1 - Camera Carport Recording stopped

Vielleicht würde es sich lohnen mal über eine längere Zeit ein verbose 4 Log mitlaufen zu lassen. Da kommen zwar viele Meldungen zusammen, aber vielleicht hilft das der Sache auf die Spur zu kommen.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Merlin2000 am 12 April 2016, 21:06:39
Hallo DS_Starter,
das war schon mal ein guter Hinweis. Ich hatte den Port nicht angegeben, damit wurde 5000 benutzt. Mit Port 80 komme ich weiter, allerdings nur bis zur nächsten Fehlermeldung "malformed JSON string received".
JSON ist installiert, zumindest ergibt JSONLIST ein Ergebnis. Falsche Version vielleicht? Kann ich die Version irgendwie abfragen? FHEMINFO hilft hier nicht weiter.
PHP ist über das Synology-Paket mit der Version 5.6 installiert, da kommt JSON gleich mit.

Das Listing der Kamera:
CAMNAME    GHxxKM01
   CREDENTIALS Set
   DEF        GHxxKM01 192.168.0.55 80
   NAME       GHxxKM01
   NR         339
   OPMODE     Getptzlistpatrol
   SERVERADDR 192.168.0.55
   SERVERPORT 80
   STATE      ???
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISVSINFO SYNO.SurveillanceStation.Info
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     CREDENTIALS V6Kz]ZKqPn56iqDpnUH}OW@?
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
   Readings:
     2016-04-12 20:44:54   Availability
     2016-04-12 20:45:13   Error           malformed JSON string received
     2016-04-12 20:45:13   Errorcode       none
     2016-04-12 20:44:54   LiveStreamUrl
     2016-04-12 20:44:54   PollState       Inactive
Attributes:
   group      Melder
   icon       it_camera
   room       Aussenbereich_hinten
   session    DSM
   webCmd     on:off:snap:enable:disable

Beste Grüße,
Dirk
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 April 2016, 21:23:31
Hallo Dirk,

PHP ??  -> Perl  .... aber wirst du sicher meinen :)

Die Meldung gebe ich im Modul aus wenn die empfangenen Daten nicht JSON-konform sind. Das sehen wir wenn du ein Log mit verbose 4 machst und das zur Verfügung stellst (Auszug).

Aber Port 80 ? Hast du den wirklich auf der Syno für die SVS eingestellt ? Das kollidiert doch mit der Web Station / Photo Station. Ich prophezeie mal kühn dass hier das Problem liegen könnte ...

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 April 2016, 22:41:44
Hallo Mathias,

mir ist noch eine Möglichkeit, außer verbose 4 LOg, eingefallen.
Setze für die Cam das Attribut "debugactivetoken = 1". Vielleicht reicht das schon für den Zweck und es fallen nicht so viele Daten im Log an.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Merlin2000 am 13 April 2016, 08:22:42
Hallo Heiko,
Da war wohl einiges durcheinander bei mir...
Ich habe die SVS jetzt auf Port 554 angesprochen, im Moment bekomme ich noch ein time-out, aber das war hier schon mal Thema, danach suche ich jetzt.
Eine Frage noch: TCP-Port ist richtig? Es wird für die SVS noch ein UDP-Port genannt.

Beste Grüße,
Dirk


Gesendet von iPad mit Tapatalk
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 April 2016, 08:29:25
Hallo Matthias,

ich habe über deine Schilderung noch einmal nachgedacht und habe nochmal eine Änderung am Modul vorgenommen. Wenn bisher, während eine Aufnahme lief ein weiterer Startimpuls eintraf, wurde nach Beendigung der ersten Aufnahme eine weitere gestartet.  Möglicherweise ist das unter Umständen eine Ursache für die plötzliche Minderung der Aufnahmedauer.
Mit der anghängten Version wird erst ein weiterer Startimpuls akzeptiert wenn die erste Aufnahme beendet ist. Alternativ denke ich noch darüber nach die erste Aufnahme zu verlängern wenn während des Prozesse ein weiterer Startimpuls eintreffen sollte.

Bitte verwende die angehängte Version und gib mir Bitte eine schnelle Rückmeldung !

(Kann natürlich auch jeder Interssierte ebenfalls tun  :) )

schönen Tag ,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 April 2016, 08:33:21
Morgen Dirk,

ja TCP ist richtig. Der Port 554 kommt mir aber irgendwie bekannt vor dass  er von einem anderen Dienst auf der Syno schon genutzt wird, bin mir aber nicht sicher.
Kannst du mir mal ein paar Screenshots von deiner Portkonfiguration auf der SVS machen ?
Also wo du den Port einstellst den die SVS benutzen soll usw.

EDIT: jetzt weiß ich .... 554 ist der RTSP Port den die SVS verwendet. Das ist ein Streamingport. Nimm mal einen anderen wenn du den Standard 5000 nicht verwenden willst. Zum Beispiel 9900 im Anwendungsportal.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Merlin2000 am 13 April 2016, 08:44:51
Ok, Port 5000 war doch richtig. 5000 ist der HTTP-Port der Synology, 554 ist der interne Port der SVS.
Jetzt gibt es keine Fehlermeldung mehr.
Vielen Dank für Deine Unterstützung!

Dirk


Gesendet von iPad mit Tapatalk
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 April 2016, 00:11:15
Hallo zusammen,

ich habe das Verhalten der Funktion "set ... on" zum Start einer Aufnahme etwas angepasst und mit dem neuen  Attribut "recextend" flexibilisiert.

Hier ein Auszug der Doku zu diesem Befehl. Sobald ich die neue Version eingecheckt habe, aktualisiere ich auch das WIki.


Der Befehl "set <name> on" startet eine Aufnahme. Die Standardaufnahmedauer beträgt 15 Sekunden. Sie kann mit dem Attribut "rectime" individuell festgelegt werden. Die im Attribut (bzw. im Standard) hinterlegte Aufnahmedauer kann einmalig mit "set <name> on [rectime]" überschrieben werden. Die Aufnahme stoppt automatisch nach Ablauf der Zeit "rectime".

Ein Sonderfall ist der Start einer Daueraufnahme mit "set <name> on 0" bzw. dem Attributwert "rectime = 0". In diesem Fall wird eine Daueraufnahme gestartet die explizit wieder mit dem Befehl ""set <name> off" gestoppt werden muß.

Das Aufnahmeverhalten kann weiterhin mit dem Attribut "recextend" wie folgt beeinflusst werden.

Attribut "recextend = 0" bzw. nicht gesetzt (Standard):

* wird eine Aufnahme mit z.B. rectime=22 gestartet, wird kein weiterer Startbefehl für eine Aufnahme akzeptiert bis diese gestartete Aufnahme nach 22 Sekunden beendet ist. Ein Hinweis wird bei verbose=3 im Logfile protokolliert.

Attribut "recextend = 1" gesetzt:

* eine zuvor gestartete Aufnahme wird bei einem erneuten "set <name> on"-Befehl mit der Aufnahmezeit "rectime" neu parametrisiert. Das bedeutet, dass der Timer für den automatischen Stop auf den Wert "rectime" neu gesetzt wird. Dieser Vorgang wiederholt sich mit jedem Start-Befehl. Dadurch verlängert sich eine laufende Aufnahme bis kein Start-Inpuls mehr registriert wird.

* eine zuvor gestartete Endlos-Aufnahme wird mit einem erneuten "set <name> on"-Befehl nach der Aufnahmezeit "rectime" gestoppt (Timerneustart). Ist dies nicht gewünscht, ist darauf zu achten dass bei der Verwendung einer Endlos-Aufnahme das Attribut "recextend" nicht verwendet wird.

Durch diese Änderung sollen unter anderem die in #290 geschilderten Effekte beseitigt werden.

Hier angehängt die neue Version wieder vorab für alle Interessierten zum Einsatz.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 14 April 2016, 10:25:32
Hallo Heiko.

Kann man die schwellwerte für die Empfindlichkeit der bewegungserkennung auch irgendwie über fhem mitgeben?

Hintergrund ist dass ich an sehr windigen Tagen wo ich permanent über Bewegung informiert werde diese nicht abschalten will sondern auf eine andere Empfindlichkeit per set Kommando über einen Dummy den ich dann auch per WhatsApp oder telegram triggere.
Geht sowas?

Gruß Holger

Gesendet von meinem SM-G920F mit Tapatalk

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 April 2016, 11:48:55
Hallo Holger,

ja die API gibt das her. Ich habe es aber noch nicht im Modul implementiert und getestet. Wäre mal wieder etwas für ein verregneten WE  ;)

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 14 April 2016, 20:40:41
Hallo Heiko,

Danke für Deine Änderungen, probiere sie aus.

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: dt2510 am 15 April 2016, 12:56:17
Gerade bei dem aktuellen Wetter schlägt die Kamera bzw. die SVS dann doch zu oft an (Sonne da / Sonne weg). Ich werd' wohl auf den Bewegungsmelder ausweichen müssen.
Welche Bewegungsmelder nutzt  ihr ? Ich bräuchte einen für ZWave oder EnOcean und außen (aber überdacht, vor Wind und Wetter geschützt).
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 April 2016, 13:06:43
Denke auch dass es besser ist. Gerade aus diesem Anlass war dieses Modul ja entstanden  ;)
Einen Rat bzgl. des IR-Melders kann ich dir nicht geben. Ich persönlich habe FS20 bzw. Homematic-Melder im Einsatz.
Vielleicht hast du bezüglich der Produktauswahl in den Spezialforen zu EnOcean bzw. ZWave etwas schnelleren Erfolg.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 15 April 2016, 13:57:20
Hallo Holger,

ja die API gibt das her. Ich habe es aber noch nicht im Modul implementiert und getestet. Wäre mal wieder etwas für ein verregneten WE  ;)

Gruß
Heiko
Ich weiss ja nicht wie es bei dir dieses Wochenende aussieht aber bei mir in München ist das Wetter für diese Aufgabe nahezu perfekt.
Wetter Prognose quasi "caps lock"
Schifft permanent ::)

Gruß Holger

Gesendet von meinem SM-G920F mit Tapatalk

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 April 2016, 14:03:45
Hi Holger,
schon verstanden ... schauen wir mal  ;)
Ich will aber vorher den gegenwärtige Entwicklungsstand einchecken mit der Änderung aus #299.
Hast du den auch mal ausgetestet ?

Gruß
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 15 April 2016, 16:46:17
Hi Holger,
schon verstanden ... schauen wir mal  ;)
Ich will aber vorher den gegenwärtige Entwicklungsstand einchecken mit der Änderung aus #299.
Hast du den auch mal ausgetestet ?

Gruß
Heiko
Hallo Heiko,

Nein leider nicht, denn ich kann gerade nicht mal ein update check erfolgreich ausführen, und ich will das erstmal vorher richten.
Habe einen Thread offen und hoffe auf Hilfe.
siehe hier
OFF TOPIC AN
https://forum.fhem.de/index.php/topic,52187.0.html (https://forum.fhem.de/index.php/topic,52187.0.html)
OFF TOPIC OFF

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 15 April 2016, 17:48:59
Hallo Heiko,

ich glaube ich habe mein Problem mit der setstate Message aus dem anderen Thread gefunden.
Es hängt aber mit Deinem modul am Rande zusammen.

Ich habe zwei NAS und damit zwei SVS und ich hatte zu Testzwecken in beide NAS, bzw. SVS, die Cams eingebunden und in FHEM definiert.

Also NAS 1 hiessen die Kameras dann Cam1 bis Cam4 und das Pendant in FHEM dann GA.Cam1 bis GA.Cam3 und die vierte WZ.Cam4

Jetzt habe ich in dem zweiten NAS/SVS die gleichen Cam1 bis Cam4 eingetragen, und in FHEM hiessen die Cams dann Test.Cam1 bis Test.Cam4

Jetzt hatte ich das zweite NAS ausgeschaltet, und die Cams waren da quasi per polling requests nicht erreichbar zur Abfrage.
Dadurch hatten die Cams keinen Default STATE nachdem ich FHEM mal durchgestartet hatte.

Jetzt wollte ich die Test.Cam1 bis 4 per "attr Test.Cam1 disable 1" deaktivieren, aber das ist im Modul nicht berücksichtigt wie es scheint, und ein disable der CAM über den Befehl setzt das ja nicht in FHEM, sondern in der SVS auf disabled.

Ich könnte die Cams einfach auch löschen, aber ich nehme mal stark an, dass Dir die Implementierung eines disable attributes, oder in Zusammenhang eines setstate <camname> defined besser gefällt oder?

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 15 April 2016, 18:54:06
Hallo Heiko,

habe #299 nun gelesen und das Modul dafür eingespielt.
Es hat diese Infos im Code:
# $Id: 49_SSCam.pm 11202 2016-04-07 20:10:18Z nasseeder1 $

Erstmal habe ich ohne irgendwelche Attribute ein einfaches
set GA.Cam1 on
ausgeführt.
Dann die Aufnahme auf dem NAS angeschaut, und diese hat 25 Sekunden und nicht 15.
Das kann aber an den Settings liegen die ich grundsätzlich im SVS eingestellt habe oder?
Ich habe nämlich irgendwo gesagt, dass ich immer 5 Sekunden VOR und NACH der Bewegungserkennung aufgezeichnet haben will.
Ob das auch Auswirkungen auf ein getriggertes Record hat?!

Dann mal ein
attr GA.Cam1 rectime 20
gesetzt, dann save


Erwartung = Aufnahmedauer in meinem Fall dann 30 Sekunden
Ergebnis = Aufnahmedauer NICHT 30 Sekunden, aber auch nicht 20 Sekunden, sondern 26 Sekunden > komisch, aber nicht schlimm denke ich.


Dann mal ein
attr GA.Cam1 recextend 1
gesetzt, dann save und dann ein
set GA.Cam1 on
abgesetzt, dann nach ca 10 Sekunden wieder ein
set GA.Cam1 on
und dann nichts mehr.

Erwartung = 10 Sekunden + 26 Sekunden = 36 Sekunden
Ergebnis = PASST! 38 Sekunden



Im Übrigen...
@math78

Ich hatte aufgrund von notify´s und DOIF´s etc auch immer mal Probleme dass bestimmte Kommandos nicht am SVS ankamen, und deshalb hatte ich das Attribut "httptimeout" eingetragen.
Es war so, also würden zu schnell hintereinander gesendete http calls von FHEM zu SVS irgendwo verschluckt werden.
Wenn Du also deinen Bewegungsmelder zum Triggern einer Aufnahme nimmst, kann da natürlich viel geschickt werden.
Wenn Du einen HomeMatic Bewegungsmelder hast, dann kann man da z.B. auch sagen wie lange ein "Stillstand" sein mus, bis er von MOTION auf NOMOTION umstellt, und umgekehrt, was dann wieder Auswirkung auf die PUT Calls gegen das SVS haben dürfte.

Aber Heiko hat das im Modul nun berücksichtigt, und damit is es einfacher

Danke Heiko


Gruß

Holger


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 April 2016, 21:24:21
Hallo Holger,

erstmal Danke für deine umfangreichen Tests und Erläuterungen.

Also zunächst zum Modul-disable. Hatte ich auch schon daran gedacht es einzubauen und habe es auch noch vor. Nur habe ich noch keinen Plan wie ich es am Besten umsetzen kann. Denn ein Setzen von "state" auf disabled würde ja sogleich suggerieren dass die Kamera disabled wäre was aber nicht stimmten würde. Ich habe da noch das Richtige gefunden ...bin für Ideen offen ...

Um das setstate-Problem, welches du in der speziellen Konstellation erlebt hast zu eliminieren, könnte ich in der Init-Phase zunächst alle Cams auf state = off setzen. Wenn sich beim initialen Polling (sofern die Cams erreichbar sind) ein anderer Status ergibt, wird er ja entsprechend gesetzt. Damit sollte das Prob nicht mehr vorkommen. Teste ich mal...

Zu deinen Aufnahmetests...

Die sehen gut aus. Ja, die in der SVS eingestellte Dauer der Vor-Aufzeichnung geht in die Gesamtlaufzeit der Aufnahme ein. Das stelle ich aber nicht im Modul irgendwo ein, sondern wird von der SVS von sich aus berücksichtigt. Die in der SVS eingestellte Zeit für die Nach-Aufzeichnung geht aber nicht mit ein.

Das heißt die Erwartung darf immer sein:

Gesamtzeit = Vorlaufzeit in SVS + rectime im Modul + Prozess/Verarbeitungszeit

Dein Bespiel 2 mit "attr GA.Cam1 rectime 20" trifft die Erwartungshaltung sehr gut.

Laufzeit = 5 Sek Vorlaufzeit + rectime 20 + Verarbeitungszeit 1 Sek. = 26 Sekunden

Bezüglich der Verarbeitungzeit muß man wissen, dass zur Ablaufsteuerung Prozesstoken eingesetzt werden, die ein gegenseitiges Überholen von konkurrierenden Http-Calls verhindern (asynchrone Abarbeitung duch nonblocking Calls). Der Zustand dieser Token wird zur Zeit alle 1 Sek. ausgewertet (falls ein Befehl ausgelöst ist).  Eine Verzögerung von 1 Sek. ist durchaus normal falls die Befehlsausführung auf ein freies Token warten muß. 5 Sekunden, wie in deinem ersten Beispiel ist zwar etwas lang, kann aber auch durch andere Faktoren wie der Abarbeitungsgeschwindigkeit der SVS  beeinflusst sein.
Um den Verarbeitungsablauf der Token zu loggen und sich anzusehen kann durch das Attribut "debugactivetoken = 1" realisiert werden. Probiers ruhig mal aus  ...

Wichtig ist dass die Aufnahmezeit nicht GERINGER als die eingestellte rectime ausfällt, wie von Mathias beschrieben. Ich selbst habe dieses Phänomen nicht und bin auf das Feedback von der Gemeinde angewiesen. Aber bin zuversichtlich das wir das nun im Griff haben.

Grüße
Heiko







Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 15 April 2016, 22:40:36
Hallo Holger,

erstmal Danke für deine umfangreichen Tests und Erläuterungen.

Also zunächst zum Modul-disable. Hatte ich auch schon daran gedacht es einzubauen und habe es auch noch vor. Nur habe ich noch keinen Plan wie ich es am Besten umsetzen kann. Denn ein Setzen von "state" auf disabled würde ja sogleich suggerieren dass die Kamera disabled wäre was aber nicht stimmten würde. Ich habe da noch das Richtige gefunden ...bin für Ideen offen ...

Um das setstate-Problem, welches du in der speziellen Konstellation erlebt hast zu eliminieren, könnte ich in der Init-Phase zunächst alle Cams auf state = off setzen. Wenn sich beim initialen Polling (sofern die Cams erreichbar sind) ein anderer Status ergibt, wird er ja entsprechend gesetzt. Damit sollte das Prob nicht mehr vorkommen. Teste ich mal...
Hi Heiko,
Zum Disable kann ich nichts sagen, da ich nicht weiss wie man sowas im Code umsetzt.
Einzige Idee ist für STATE zwischen disabledSVS und disabled zu unterscheiden. disabled zählt aber dann zu FHEM und beeinträchtigt den INIT oder so???

Zu deinen Aufnahmetests...

Die sehen gut aus. Ja, die in der SVS eingestellte Dauer der Vor-Aufzeichnung geht in die Gesamtlaufzeit der Aufnahme ein. Das stelle ich aber nicht im Modul irgendwo ein, sondern wird von der SVS von sich aus berücksichtigt. Die in der SVS eingestellte Zeit für die Nach-Aufzeichnung geht aber nicht mit ein.

Das heißt die Erwartung darf immer sein:

Gesamtzeit = Vorlaufzeit in SVS + rectime im Modul + Prozess/Verarbeitungszeit

Dein Bespiel 2 mit "attr GA.Cam1 rectime 20" trifft die Erwartungshaltung sehr gut.

Laufzeit = 5 Sek Vorlaufzeit + rectime 20 + Verarbeitungszeit 1 Sek. = 26 Sekunden

Bezüglich der Verarbeitungzeit muß man wissen, dass zur Ablaufsteuerung Prozesstoken eingesetzt werden, die ein gegenseitiges Überholen von konkurrierenden Http-Calls verhindern (asynchrone Abarbeitung duch nonblocking Calls). Der Zustand dieser Token wird zur Zeit alle 1 Sek. ausgewertet (falls ein Befehl ausgelöst ist).  Eine Verzögerung von 1 Sek. ist durchaus normal falls die Befehlsausführung auf ein freies Token warten muß. 5 Sekunden, wie in deinem ersten Beispiel ist zwar etwas lang, kann aber auch durch andere Faktoren wie der Abarbeitungsgeschwindigkeit der SVS  beeinflusst sein.
Um den Verarbeitungsablauf der Token zu loggen und sich anzusehen kann durch das Attribut "debugactivetoken = 1" realisiert werden. Probiers ruhig mal aus  ...
Um ehrlich zu sein, sind mir die Zeiten nicht sowichtig, und daher muss das bei mir nicht auf die Sekunde (oder 10 Sekunden) genau sein.

Wichtig ist dass die Aufnahmezeit nicht GERINGER als die eingestellte rectime ausfällt, wie von Mathias beschrieben. Ich selbst habe dieses Phänomen nicht und bin auf das Feedback von der Gemeinde angewiesen. Aber bin zuversichtlich das wir das nun im Griff haben.

Grüße
Heiko
Also ich habe das nicht so 100%ig verfolgt, aber ich dachte er hatte berichtet, dass sein Rasenmäher Robo den Bewegungsmelder auslöst (und das sehr häufig) und dann dadurch Aufnahmen getriggert werden. Dann aber irgendwann aufgrund der vielzahl der PUT Calls mit dem "set CAM on" hängt sich die SVS irgendwie auf, und reagiert nicht mehr auf z.B. "set CAM off" und es wird eine DAUERAUFNAHME draus, und nur ein Restart biegt das wieder gerade?

Deswegen dachte ich nämlich zwischenzeitlich auch an den httptimeout den Du als ATTR eingebaut hast.

Ich kann im Übrigen auch _manchmal_ beobachten (nur gefühlt, nicht im Log), dass wenn ich zuviele PUT Calls gegen die SVS schicke, sich das aufstaut, und ggf. nicht mehr abarbeitet und dann beispielsweise die Bewegungserkennung für CAM 1 und 3 auf SVS steht, aber 2 und 4 auf disabled, obwohl ich immer nur ALLE auf den GLEICHEN Status stellen lasse.

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 April 2016, 23:14:20
Hi Holger,

Zum Disable kann ich nichts sagen, da ich nicht weiss wie man sowas im Code umsetzt.
Naja, es geht weniger um die Umsetzung im Code, das ist nicht das Problem. Es ist eher der logische Konflikt der sich aus der verschiedenen disable-Bedeutungen ergibt.

Bei der Bewertung von Problemen können natürlich ganz unterschiedliche Ursachen eine Rolle spielen. Der beschriebene Sachverhalt der Daueraufnahme könnte sich aus einem Stopp-Befehl ergeben, der wegen Timeout die SVS nicht erreicht. Das würde man im Log sehen. Es könnte aber z.B. auch sein, dass wegen Timerfehlers dieser Stopp-Befehl nicht ausgelöst wird. Das Ergebnis wäre das gleiche aber eine ganz andere Ursache.
Was ich damit sagen will .... jeder Sachverhalt kann, muß aber nicht, die gleiche Ursache haben.

Deswegen ist es wichtig für mich zu erfahren ob es timeouts im Log gibt usw.

Auch die SVS wirft einige spezifische Fehler die im Logfile eingetragen werden.

Ich habe mir einen dummy gebaut, mit dem ich alle Cams gleichzeitig auf disabled stelle .... kein Problem. Das ist im Prinzip das gleiche wie deine Umstellung auf die Bewegungserkennung durch SVS bzw. disable.

Um die Ursache zu ergründen hilft eigentlich nur ein verbose 4 Log wenn man diese Massenänderung ausführt und sich das dann mal anzuschauen.

viele Grüße
Heiko


 

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 16 April 2016, 14:26:42
Hallo,

schon mal kurze Rückmeldung von mir.
Bis jetzt funktioniert alles, keine Zeitveränderungen im Verlauf!!!

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 April 2016, 14:29:44
Hallo Matthias,

super ... danke für deine Rückmeldung  :)

Ich checke die Version ein und arbeite weiter am Modul ...

schönes WE,
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 April 2016, 20:46:40
Hallo Holger, hallo zusammen,
kannst du mir bitte einen oder mehrere Screenshots (falls du mehrere verschiedene Kameras einsetzt) von der Ereigniseinstellungsseite in der SVS anfertigen ?

Ich habe eins von mir angehängt als Beispiel was ich meine. Bin dabei die Bewegungserkennung einstellbar zu machen. Sieht schon ganz gut aus. Aber es gibt offensichtlich viele Variationen die vom Typ der Kamera abhängig sind. Brauche mal ein paar Beispiele von Cams die ich nicht habe.

Würde mich freuen wenn auch andere Mitstreiter einen Screenshot machen würden ....

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 17 April 2016, 11:30:21
Hallo Heiko,

klar kann ich das machen...
Siehe Screenshots von zwei meiner Cams. Zwei, weil ich zwei unterschiedliche TYPEN habe.


Ich habe auch noch einen Export der Cam Settings gemacht.
Da siehst Du dann auch was die cams für einen Funktionsumfang haben, und die Motion Detection Werte die in die DB Tables eingetragen werden.



Gruß

Holger

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 April 2016, 12:33:06
Hi Holger,

danke ... aber ich bräuchte die Screenshots mit dem Status "Erkennung nach Kamera" , siehe mein Beispiel  ;)
Sorry, ich hatte es nicht extra erwähnt.


Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 17 April 2016, 16:10:07
Ach so, nach Kamera.
OK kein Problem.
Ich nutze das zwar nicht, aber sicher andere.

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 April 2016, 17:33:54
Hallo Holger, hallo zusammen,

die Funktion "set ... motdetsc" habe ich erweitert um auch entsprechende Optionen für die Bewegungeerkennung mitgeben zu können, sofern man die Erkennung der SVS bzw. der Kamera benutzt.

Hier wieder der Auszug für die erweiterte Funktion:

-----------------------------------------------------------------------
set <name> motdetsc [camera] [SVS] [disable]

Der Befehl "motdetsc" (steht für "motion detection source") schaltet die Bewegungserkennung in den gewünschten Modus. Wird die Bewegungserkennung durch die Kamera ohne weitere Optionen eingestellt, werden die momentan gültigen Bewegungserkennungseinstellungen der Kamera beibehalten. Die erfolgreiche Ausführung der Operation lässt sich u.a. anhand des Status von SVS -> IP-Kamera -> Ereigniserkennung -> Bewegung nachvollziehen.

Für die Bewegungserkennung durch SVS bzw. durch Kamera können weitere Optionen angegeben werden. Die verfügbaren Optionen bezüglich der Bewegungserkennung durch SVS sind "Empfindlichkeit" und "Schwellwert".

set <name> motdetsc SVS [Empfindlichkeit] [Schwellwert]     # Befehlsmuster
 set <name> motdetsc SVS 91 30                               # setzt die Empfindlichkeit auf 91 und den Schwellwert auf 30
 set <name> motdetsc SVS 0 40                                # behält gesetzten Wert für Empfindlichkeit bei, setzt Schwellwert auf 40
 set <name> motdetsc SVS 15                                  # setzt die Empfindlichkeit auf 15, Schwellwert bleibt unverändert

Wird die Bewegungserkennung durch die Kamera genutzt, stehen die Optionen "Empfindlichkeit", "Objektgröße" und "Prozentsatz für Auslösung" zur Verfügung.
set <name> motdetsc camera [Empfindlichkeit] [Schwellwert] [Prozentsatz]    # Befehlsmuster
 set <name> motdetsc camera 89 0 20                                          # setzt die Empfindlichkeit auf 89, Prozentsatz auf 20
 set <name> motdetsc camera 90 40 10                                         # setzt Empfindlichkeit auf 90, Schwellwert auf 40,
                                                                               Prozentsatz auf 10
 set <name> motdetsc camera 30                                               # setzt die Empfindlichkeit auf 30, andere Werte bleiben
                                                                               unverändert

Es ist immer die Reihenfolge der Optionswerte zu beachten. Nicht gewünschte Optionen sind mit "0" zu besetzen sofern danach Optionen folgen deren Werte verändert werden sollen (siehe Beispiele oben). Der Zahlenwert der Optionen beträgt 1 - 99 (außer Sonderfall "0"):

Die jeweils verfügbaren Optionen unterliegen der Funktion der Kamera und der Unterstützung durch die SVS. Es können jeweils nur die Optionen genutzt werden die in SVS -> Kamera bearbeiten -> Ereigniserkennung zur Verfügung stehen. Weitere Infos sind der Online-Hilfe zur SVS zu entnehmen.

Über den Befehl "get ... caminfoall" wird auch das Reading "CamMotDetSc" aktualisiert welches die gegenwärtige Einstellung der Bewegungserkennung dokumentiert.

-------------------------------------------------------

Viel Spaß beim Test und gerne wieder Rückmeldung ...

VG
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 17 April 2016, 20:24:42
Hallo Heiko,

nachdem ich die neue Version eingespielt hatte hatte ich nach dem Restart erstmal ein anderes Problem, nämlich dass FHEM nicht mer startete, aber das war aufgrund des ONKYO Moduls.

Nachdem ich FHEM erstmal wieder zum Starten gebracht hatte, konnte ich Dein Modul testen.
Ich habe dazu einfach ein
set GA.Cam1 motdetsc SVS 91 30 ausgeführt, und dann in der SVS nachgeschaut, und da waren genau diese Werte gesetzt.
Perfekt! Danke!

Ein Hinweis noch...
Ich hatte zu dem Zeitpunkt meine Cam aufgrund Anwesenheit auf "motdetsc disabled" stehen.
Zum Testen habe ich dann erstmal auf "motdetsc SVS" gestellt, und dann erst "motdetsc SVS 91 30" gesetzt
Dann habe ich noch geprüft was passiert, wenn man auf disabled steht, udn dann gleich ein "set GA.Cam1 motdetsc SVS 92 20" ausführt, und auch das klappt prima!

Und dann nochwas kosmetisches...
Ein Reading für die Schwellwerte gibt es nicht oder? Nur für den Mode disabled|SVS|Camera oder?
Und in der FHEM Geräte detail Seite die Eingabefelder wären schön wenn Du mal extreme Langeweile hast.
Siehe Screenshot.

Danke jedenfalls, dass du das so schnell eingebaut hast.

Schönen RestSonntag noch, und einen guten Start in die Woche.

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 April 2016, 20:43:44
Nabend Holger,

freut mich dass es so schön geklappt hat und danke für deine Rückmeldung :-)

Wegen dem Reading schaue ich mal ... hab ich schlichtweg vergessen  ob ich über das Polling die Infos bekomme und demzufolge diese Readings bereitstellen kann.
Hole ich nach .. danke für den Hinweis.

Die zusätzlichen Eingabefelder habe ich noch nicht hinbekommen, schaue ich bei Gelegenheit auch danach.

Dir auch einen schönen Abend und bis bald.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 April 2016, 23:03:58
Hallo Holger, hallo zusammen,

habe heute noch das Reading "CamMotDetSc" so ergänzt dass über das Polling bzw. "get caminfoall" die eingestellten Werte der Bewegungserkennung mit angezeigt werden. Z.B.:

CamMotDetSc       SVS, sensitivity: 76, threshold: 55
Gilt nur bei aktivierter Bewegungserkennung durch SVS / Kamera, siehe auch Wiki : http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#set_.3Cname.3E_motdetsc_.5Bcamera.5D_.5BSVS.5D_.5Bdisable.5D_.28ge.C3.A4ndert_ab_Rev_11284.29 (http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#set_.3Cname.3E_motdetsc_.5Bcamera.5D_.5BSVS.5D_.5Bdisable.5D_.28ge.C3.A4ndert_ab_Rev_11284.29)

Die neue Version ist eingecheckt und morgen früh verfügbar.


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 April 2016, 22:29:01
Hallo zusammen,

habe dem Modul noch eine Möglichkeit es zu deaktivieren spendiert -> Attribut "disable".

Mit dem Attribut "disable" kann das Modul bzw. eine Gerätedefinition deaktiviert werden. Im Gegensatz zum Befehl "set ... disable" wird nicht die Kamera an sich deaktiviert, sondern lediglich das Gerätemodul. In diesem Fall werden keine Funktionen mehr ausgeführt.
Wird das Modul deaktiviert, werden die folgenden Readings gesetzt:

state:         inactive     
Availability:  ???
PollState:     Inactive   

Ist für eine Kamera Polling aktiviert, wird diese Aktivität abgeschaltet. Nach Reaktivierung des Gerätemoduls wird das Polling automatisch wieder fortgesetzt.

Checke die Version noch ein. Wer es vorab nutzen möchte kann es hier herunterladen.

schönes WE
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 23 April 2016, 22:44:18
Hallo,

im Wiki habe ich ein Beispiel für eine Übersichtsgestaltung mit Hilfe des Moduls readingsGroup eingestellt.
http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Eine_.C3.9Cbersicht_mit_Hilfe_von_readingsGroup (http://www.fhemwiki.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Eine_.C3.9Cbersicht_mit_Hilfe_von_readingsGroup)

Viel Spaß beim Nachbauen und bitte ergänzen oder um Beispiele verbessern.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 26 April 2016, 19:51:33
Hallo Heiko,

Danke für die neuen Funktionen.
Es scheint aber irgendwo ein Problem zu geben.
Ich habe eben gerade ein Update gemacht, und mir dadurch auch deine neue Version gezogen.
leider ist jetzt quasi alles futsch.

Erster Start nach dem Update meldete:

Constant subroutine main::URL redefined at /usr/share/perl/5.14/constant.pm line 136, <$fh> line 1458.
Current: "fhem.pl", gPath: "/opt/fhem/FHEM"
2016.04.26 19:42:13 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3098.

2016.04.26 19:42:13 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3098.

2016.04.26 19:42:13 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3107.

2016.04.26 19:42:13 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3107.

2016.04.26 19:42:13 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3116.

2016.04.26 19:42:13 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3116.

2016.04.26 19:42:13 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3125.

2016.04.26 19:42:13 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3125.

2016.04.26 19:42:15 1: Including ./log/fhem.save
2016.04.26 19:42:23 1: configfile: Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
statefile: Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam2 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define GA.Cam3 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first
Please define WZ.Cam4 first

Dann einfach nochmal Fhem durchgestartet:
Constant subroutine main::URL redefined at /usr/share/perl/5.14/constant.pm line 136, <$fh> line 1458.
Current: "fhem.pl", gPath: "/opt/fhem/FHEM"
2016.04.26 19:43:34 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3098.

2016.04.26 19:43:34 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3098.

2016.04.26 19:43:34 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3107.

2016.04.26 19:43:34 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3107.

2016.04.26 19:43:34 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3116.

2016.04.26 19:43:34 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3116.

2016.04.26 19:43:35 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3125.

2016.04.26 19:43:35 0: Unknown warnings category 'experimental::autoderef' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3125.

2016.04.26 19:43:36 1: Including ./log/fhem.save
2016.04.26 19:43:38 1: configfile: Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam

Ist zwar wie der erste Restart, nur dass hier dann keine "Please define *Cam* first" mehr kam.


Kannst Du da was machen?

Ansonsten würde ich schauen ob ich das alte Modul aus dem Backup einspielen kann.

Danke und Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 26 April 2016, 19:56:17
Hallo,

kann ich bestätigen. Bei mir lädt das Modul auch nicht mehr.

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 26 April 2016, 20:19:42
Was ist denn da passiert ... Ich schaue nachher mal.
Nehmt mal bitte solange eine backup Datei oder einfach die letzte Version die ich hier im Thread angehängt hatte.
Viel kann es nicht sein.

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 26 April 2016, 21:19:54
Hallo Holger und Matthias,

manchmal ist es doch ein Kreuz ... nehmt mal bitte die angehängte Version und gebt mir Bescheid.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 26 April 2016, 22:15:06
Hallo Heiko,

sorry, aber schlechte News.

Messages collected while initializing FHEM:
configfile: Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
statefile: Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
.......


LOG
2016.04.26 22:12:40 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3098.

2016.04.26 22:12:40 0: Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3098.

2016.04.26 22:12:40 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3107.

2016.04.26 22:12:40 0: Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3107.

2016.04.26 22:12:40 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3116.

2016.04.26 22:12:40 0: Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3116.

2016.04.26 22:12:40 1: reload: Error:Modul 49_SSCam deactivated:
 Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3125.

2016.04.26 22:12:40 0: Unknown warnings category 'experimental' at /opt/fhem/FHEM/49_SSCam.pm line 132.
BEGIN failed--compilation aborted at /opt/fhem/FHEM/49_SSCam.pm line 132, <$fh> line 3125.

Can't call method "kill" on an undefined value at /opt/fhem/FHEM/00_SONOS.pm line 8408.
2016.04.26 22:12:42 1: Including ./log/fhem.save
2016.04.26 22:12:47 1: configfile: Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
Cannot load module SSCam
statefile: Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Please define GA.Cam1 first
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 26 April 2016, 22:19:02
Na dann machen wir es so .... nimm mal die....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 26 April 2016, 22:26:07
Jup!
Schaut gut aus.
Zumindest keine Fehler mehr beim Start.
Funktionsumfang aber nicht getestet versteht sich.
Aber zumindest die Readings etc. schauen gut aus.
>> Danke für den schnellen FIX

Sollte das disable Attribute jetzt gehen? Das habe ich jetzt nicht getestet.
Ich frage weil das ja jetzt eigentlich die letzte Aktion war die Du einbauen wolltest und jetzt eben die Fehler kamen.

Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 26 April 2016, 22:30:17
Hi Holger,

schön  :)  Aber kannst du bitte auch diese Version nochmal für mich testen ob die startet .... weil wir grad dabei sind  ;)

Ja, disable sollte gehen. Habe ich auch mit in dem readingsGroup Beispiel im Wiki mit verwendet ,  auf die Idee hast du mich gebracht. Kann man noch richtig gut ausbauen.

hänge die Datei gleich ran .. so jetzt.

Das Problem hängt an der Perl-Version. Ihr habt eine "zu niedrige" .. da kam es zu dem Fehler.  Hab da nicht dran gedacht.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 26 April 2016, 22:48:56
Sorry aber heute Abend leider nicht mehr. Muss morgen früh raus. Aber ich teste dann morgen nochmal

Gesendet von meinem SM-G920F mit Tapatalk

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 26 April 2016, 22:52:15
Klar, kein Problem . 

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 27 April 2016, 19:53:35
Hallo Heiko,

wie versprochen meine Rückmeldung...
Die letzte angehängte Version funtkioniert bei mir auch. Zumindest startet Fhem ohen Felermeldung beim initialisieren des Moduls und der Definitionen.
Was mich nur wundert ist der Header im File. da steht:
# $Id: 49_SSCam.pm 11296 2016-04-22 20:34:42Z nasseeder1 $
Gruß

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 27 April 2016, 19:58:10
Habe ich auch mit in dem readingsGroup Beispiel im Wiki mit verwendet ,  auf die Idee hast du mich gebracht. Kann man noch richtig gut ausbauen.
Freut mich wenn ich dich inspirieren konnte  :D

Bei mir schaut es gerade so aus... (siehe Anhang)
Mal schauen was ich da von Deinem Wiki noch übernehmen kann.

Cu

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 April 2016, 20:09:41
Hallo Holger,

danke für deine Rückmeldung ... super, dann kann ich die Version auch einchecken.

Die alte ID "$Id..." braucht dich nicht wundern oder beunruhigen. Die ID bzw. die Revision wird immer dann automatisch aktualisiert wenn ich das weiterentwickelte Modul beim Entwicklerportal einchecke. D.h. wenn ich es heute Abend mache wirst du morgen früh ab ca. 8:00 die eingecheckte Version per FHEM Update ziehen können und dann wirst du im Header auch eine neue ID finden. Und nasseeder1 ist mein User im Entwicklerportal, deswegen steht der Name auch so im Header drin.

Ja readingsGroup bietet viel Möglichkeiten. Reizvoll finde ich dass man einen Befehl hinter einem Reading "verbergen" kann um eine Cam zum Beispiel zu aktivieren / deaktivieren. Ich habe mir noch nicht  alles genau angeschaut. Insofern kann man bestimmt noch einiges entdecken.

Kannst du gerne im Wiki ergänzen  :)

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 27 April 2016, 20:25:16
Mal was anderes....
Kann ich irgendwie das bewegte LiveBild (keine Aufnahme, kein Snapshot) in FHEM einbinden/einblenden?
Und am Besten bei vier Cams eben oben zwei nebeneinander und unten drunter zwei nebeneinander?
Am Besten den SVS Stream direkt und nicht irgendwie ein zweiter Stream direkt von der Cam.
Hintergrund für den Stream von der SVS ist, dass mir dann der Datendurchsatz vom WLAN nicht mehr ausreicht wenn ich direkt auf die Cam gehe.
Denn...
mehr als FULL-HD Stream Channel 1 zur SVS für REC
FULL-HD Stream Channel 2 zur SVS für VIEW

Dann natürlich noch die Möglichkeit per App auf dem Handy mit beiden Streams, ergibt dann schon 4 Streams.
Und wenn ich jetzt noch einen Stream ins FHEM aufziehe, geht eines davon nicht mehr. Und das muss ich ja vermeiden.
Wenn ich aber den Stream der in der SVS ankommt quasi Sharen könnte...

Vielleicht denke ich aber auch gerade verquer...

Any Hints?

Holger



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 April 2016, 21:01:14
Den Livestream einbinden kannst du doch jetzt bereits mit "set <cam> runView image". Die Bezeichnung "image" ist vllt. etwas irreführend ... ist aber der Kamera-Livestream, aber über die SVS NICHT über die Kamera wenn du es in der SVS so eingestellt hast. Siehe das Readinng "´CamLiveMode". Sollte auf "Liveview from DS" stehen.
Schau mal in das Wiki, dort habe ich es auch so in dem readingsGroup Beispiel mit vorgesehn -> Image start/stop

Für eine entsprechende Anordnung würde mir wieder eine readingsGroup für jede einzelne Kamera einfallen die man z.B. über das Modul Dashboard frei auf dem Bildschirm arrangieren kann. Habe ich in der Form noch nicht ausprobiert, sollte aber klappen.

Die Idee reizt mich jetzt, komme aber heute Abend nicht mehr dazu das mal auszuprobieren.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 27 April 2016, 21:15:42
siehste!!!
Ich habe das im Wiki in der ReadingsGroup gesehen, aber nicht überrissen, was das auslöst.
Und wie das nunmal so is, habe ich das runView nicht weiter gelesen. Sorry! :-[
Aber das is es was ich wollte!
Danke Dir Heiko!



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 April 2016, 21:17:40
Na dafür ist doch das Forum da ... ist doch schön wenn man wieder was Neues entdecken kann  ;)
Werde jetzt mal die neue Version einchecken ...

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: forum-merlin am 27 April 2016, 22:19:13
Hi Heiko,

ich breche mir grad dei Ohren...
ich wollte ZUSÄTZLICH zu meiner readingsGroup DEINE aus dem Wiki dazu holen.
Die ist aber nicht 1zu1 kopierbar.
Da sind ein paar Syntax Fehler drinnen glaube ich.

Ich habe leider keine Berechtigungen im Wiki. Und ich bin auch ziemlich schlecht in sowas...

Ich Habe folgendes schon gefunden...
1)
attr Cams_All_States { "c:0" => 'style="text-align:left;color:green;font-weight:normal"',

"c:5" => 'style="text-align:center;color:green;font-weight:normal"', "c:9" => 'style="text-align:center;font-weight:normal"'}
Da fehlt ein Attributname. Ich denke es wird valueColumn ohne "s" am Ende sein????

2)
Wenn man das geändert hat, gehts trotzdem noch nicht, denn er meckert die Farben an. Ich denke man muss die ; durch ;; ersetzen????

Ich habe es trotzdem nicht hinbekommen dein Beispiel zu übernehmen...
Hier mal das was ich bis jetzt vom Wiki habe, und auch nicht so dargestellt wird wie deines.
define Cams_All_States readingsGroup <%it_camera>,<Verfügbar>,< >,<Status>,< >,<Erkennung>,< >,<letzte Aufnahme>,< >,<bel. Platz (MB)>,< >,<letzte Aktualisierung>,< >,<Modul Deaktivierung>,< >,<Image> TYPE=SSCam:Availability,< >,state,< >,CamMotDetSc,< >,CamLastRecTime,< >,UsedSpaceMB,< >,LastUpdateTime,< >,?!disable,< >,<%Start>,<%Stop>
<%it_camera>,<Verfügbar>,< >,<Status>,< >,<Erkennung>,< >,<letzte Aufnahme>,< >,<bel. Platz (MB)>,< >,<letzte Aktualisierung>,< >,<Modul Deaktivierung>,< >,<Image> TYPE=SSCam:Availability,<   >,state,<   >,CamMotDetSc,<   >,CamLastRecTime,<   >,UsedSpaceMB, <   >,LastUpdateTime,<   >,?!disable,<   >,<%Start>,<%Stop>

attr Cams_All_States room Zentral
attr Cams_All_States valueIcon {'Availability.enabled' => 'remotecontrol/black_btn_GREEN', 'Availability.disabled' => 'remotecontrol/black_btn_RED', 'state.inactive' => 'StandBy', 'state' => '%devStateIcon'}
attr Cams_All_States valueStyle {if($READING eq "Availability" && $VALUE eq "enabled"){ ' style="color:green" ' } elsif( $READING eq "Availability" && $VALUE eq "disabled"){ ' style="color:red" ' } elsif( $READING eq "CamMotDetSc" && $VALUE =~ /SVS.*/ ){ ' style="color:orange" ' } elsif( $READING eq "CamMotDetSc" && $VALUE eq "disabled"){ ' style="color:LimeGreen" ' } elsif( $READING eq "CamMotDetSc" && $VALUE =~ /Cam.*/ ){ ' style="color:SandyBrown" ' }}
attr Cams_All_States valueFormat {($READING eq "CamMotDetSc" && $VALUE eq "disabled") ? "external" : $VALUE}
attr Cams_All_States valueColumns { 'Image' => 'colspan="2"'}
attr Cams_All_States nameStyle style="color:orange;font-weight:bold"
attr Cams_All_States commands { 'Availability.enabled' => 'set $DEVICE disable', 'Availability.disabled' => 'set $DEVICE enable', 'Cams_All_States.Start' => 'set %DEVICE runView image', 'Cams_All_States.Stop' => 'set %DEVICE stopView', disable => "disable:"}
attr Cams_All_States valueColumn { "c:0" => 'style="text-align:left;;color:green;;font-weight:normal"',"c:5" => 'style="text-align:center;;color:green;;font-weight:normal"', "c:9" => 'style="text-align:center;;font-weight:normal"'}
attr Cams_All_States alias Status aller Kameras
attr Cams_All_States group Kamerastatus


Cu

Holger
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 27 April 2016, 22:59:01
Hi Holger,
also die Befehle kannst du nicht so in die fhem.cfg reinkopieren, sondern im GUI eintippen bzw. reinkopieren.
Ich gebe dir hier mal den Code so wie ich ihn in der fhem.cfg habe. Den müßtest du 1:1 übernehmen können.

define Cams_All_States readingsGroup <%it_camera>,<Verfügbar>,< >,<Status>,< >,<Erkennung>,< >,<letzte Aufnahme>,< >,<bel. Platz (MB)>,< >,<letzte Aktualisierung>,< >,<Modul Deaktivierung>,< >,<Image>\
TYPE=SSCam:Availability,<&nbsp;;&nbsp;;&nbsp;;>,state,<&nbsp;;&nbsp;;&nbsp;;>,CamMotDetSc,<&nbsp;;&nbsp;;&nbsp;;>,CamLastRecTime,<&nbsp;;&nbsp;;&nbsp;;>,UsedSpaceMB,<&nbsp;;&nbsp;;&nbsp;;>,LastUpdateTime,<&nbsp;;&nbsp;;&nbsp;;>,?!disable,<&nbsp;;&nbsp;;&nbsp;;>,<%Start>,<%Stop>
attr Cams_All_States alias Status aller Kameras
attr Cams_All_States cellStyle { "c:0" => 'style="text-align:left;;color:green;;font-weight:normal"',\
"c:5" => 'style="text-align:center;;color:green;;font-weight:normal"',\
"c:9" => 'style="text-align:center;;font-weight:normal"'}
attr Cams_All_States commands { 'Availability.enabled' => 'set $DEVICE disable',\
'Availability.disabled' => 'set $DEVICE enable',\
'Cams_All_States.Start' => 'set %DEVICE runView image',\
'Cams_All_States.Stop' => 'set %DEVICE stopView',\
disable => "disable:"}
attr Cams_All_States group Kamerastatus
attr Cams_All_States nameStyle style="color:black;;font-weight:bold"
attr Cams_All_States room Cams
attr Cams_All_States valueColumns { 'Image' => 'colspan="2"'}
attr Cams_All_States valueFormat {($READING eq "CamMotDetSc" && $VALUE eq "disabled") ? "external" : $VALUE}
attr Cams_All_States valueIcon {'Availability.enabled' => 'remotecontrol/black_btn_GREEN',\
'Availability.disabled' => 'remotecontrol/black_btn_RED',\
'state.inactive' => 'StandBy',\
'state' => '%devStateIcon'}
attr Cams_All_States valueStyle {if($READING eq "Availability" && $VALUE eq "enabled"){ ' style="color:green" ' }\
elsif( $READING eq "Availability" && $VALUE eq  "disabled"){ ' style="color:red" ' }\
elsif( $READING eq "CamMotDetSc" && $VALUE =~ /SVS.*/ ){ ' style="color:orange" ' }\
elsif( $READING eq "CamMotDetSc" && $VALUE eq "disabled"){ ' style="color:LimeGreen" ' }\
elsif( $READING eq "CamMotDetSc" && $VALUE =~ /Cam.*/ ){ ' style="color:SandyBrown" ' }}

Das mit den ";;" ist richtig. Stelle grad fest dass im Wiki "&nbsp;" nicht wiedergegeben wird -> habe ich korrigiert.

Versuchs mal damit ...

Das fehlende Attribut ist "cellStyle" ... hab es auch korrigiert.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 28 April 2016, 08:20:29
bekomme jetzt bei einem "get snapfileinfo" einen fehler:

ERROR - Operation getsnapfilename of Camera outdoor2 was not successful. Errorcode: 105 - Insufficient user privilege

???
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 April 2016, 08:29:27
Guten Morgen,

der Fehler kommt von der SVS. Manchmal habe ich den auch. Vielleicht werde ich mal bei Synology nachfragen.
Der sollte aber nicht dauerhaft vorkommen, zumindest nicht wenn die credentials stimmen.
Trifft das bei dir so zu ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 28 April 2016, 11:28:55
Name und Passwort stimmen, hatte ich aber auch nochmal neu gesetzt - fehler bleibt, der Rest geht ja auch, sollte also passen !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 April 2016, 11:45:50
Ok, kommt der Fehler nur bei dieser einen Funktion ?

Edit: sorry, du schreibst ja dass der Rest auch funktioniert. Mach mal bitte ein verbose 4 Log wenn du die Funktion get snapfilename ausführst und stelle das bitte zur Verfügung.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 28 April 2016, 11:54:13
ja, scheint so, der Rest geht ohne Fehler
2016.04.28 11:51:47 3: Foscam_outdoor2 - Query event list of outdoor2 successfully done
2016.04.28 11:52:19 3: Foscam_outdoor2 - Informations related to Surveillance Station retrieved successfully
2016.04.28 11:52:41 3: Foscam_outdoor2 - Query event list of outdoor2 successfully done
2016.04.28 11:53:07 1: Foscam_outdoor2 - ERROR - Operation getsnapfilename of Camera outdoor2 was not successful. Errorcode: 105 - Insufficient user privilege
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 April 2016, 12:32:22
Verwendest du eine DSM-Session oder eine SVS-session ?

Wie gesagt bitte mal ein verbose 4 Log anhängen und ein list de Kamera wäre auch hilfreich.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 28 April 2016, 13:00:55
Verbose 4:
2016.04.28 12:55:23 4: Foscam_outdoor2 - Get filename of present Snap-ID 
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- Begin Function getapisites nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - Call-Out now: http://192.168.1.23:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016.04.28 12:55:23 4: Foscam_outdoor2 - JSON returned: $VAR1 = {
          'data' => {
                      'SYNO.SurveillanceStation.ExternalEvent' => {
                                                                    'maxVersion' => 1,
                                                                    'requestFormat' => 'JSON',
                                                                    'path' => '_______________________________________________________entry.cgi',
                                                                    'minVersion' => 1
                                                                  },
                      'SYNO.SurveillanceStation.Camera.Event' => {
                                                                   'maxVersion' => 1,
                                                                   'requestFormat' => 'JSON',
                                                                   'path' => '_______________________________________________________entry.cgi',
                                                                   'minVersion' => 1
                                                                 },
                      'SYNO.SurveillanceStation.VideoStreaming' => {
                                                                     'requestFormat' => 'JSON',
                                                                     'path' => '_______________________________________________________entry.cgi',
                                                                     'minVersion' => 1,
                                                                     'maxVersion' => 1
                                                                   },
                      'SYNO.API.Auth' => {
                                           'minVersion' => 1,
                                           'path' => 'auth.cgi',
                                           'maxVersion' => 4
                                         },
                      'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                        'requestFormat' => 'JSON',
                                                                        'minVersion' => 1,
                                                                        'path' => '_______________________________________________________entry.cgi',
                                                                        'maxVersion' => 2
                                                                      },
                      'SYNO.SurveillanceStation.Info' => {
                                                           'maxVersion' => 5,
                                                           'requestFormat' => 'JSON',
                                                           'minVersion' => 1,
                                                           'path' => '_______________________________________________________entry.cgi'
                                                         },
                      'SYNO.SurveillanceStation.Event' => {
                                                            'minVersion' => 1,
                                                            'path' => '_______________________________________________________entry.cgi',
                                                            'requestFormat' => 'JSON',
                                                            'maxVersion' => 5
                                                          },
                      'SYNO.SurveillanceStation.Streaming' => {
                                                                'minVersion' => 1,
                                                                'path' => 'SurveillanceStation/streaming.cgi',
                                                                'maxVersion' => 2
                                                              },
                      'SYNO.SurveillanceStation.SnapShot' => {
                                                               'requestFormat' => 'JSON',
                                                               'path' => '_______________________________________________________entry.cgi',
                                                               'minVersion' => 1,
                                                               'maxVersion' => 1
                                                             },
                      'SYNO.SurveillanceStation.PTZ' => {
                                                          'maxVersion' => 4,
                                                          'requestFormat' => 'JSON',
                                                          'path' => '_______________________________________________________entry.cgi',
                                                          'minVersion' => 1
                                                        },
                      'SYNO.SurveillanceStation.Camera' => {
                                                             'requestFormat' => 'JSON',
                                                             'path' => '_______________________________________________________entry.cgi',
                                                             'minVersion' => 1,
                                                             'maxVersion' => 8
                                                           }
                    },
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.API.Auth selected: auth.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.API.Auth selected: 4
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 2
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.Camera: 8
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.SnapShot: 1
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.PTZ: 4
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.Info selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.Info: 5
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 1
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.Event selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.Event: 5
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 1
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.ExternalEvent selected: entry.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.ExternalEvent selected: 1
2016.04.28 12:55:23 4: Foscam_outdoor2 - Path of SYNO.SurveillanceStation.Streaming selected: SurveillanceStation/streaming.cgi
2016.04.28 12:55:23 4: Foscam_outdoor2 - MaxVersion of SYNO.SurveillanceStation.Streaming selected: 2
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- End Function getapisites nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- Begin Function serverlogin nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - Credentials read from RAM: admin xxxxxxx
2016.04.28 12:55:23 4: Foscam_outdoor2 - Call-Out now: http://192.168.1.23:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=xxxxx&format="sid"
2016.04.28 12:55:23 4: Foscam_outdoor2 - Credentials read from RAM: admin xxxxx
2016.04.28 12:55:23 4: Foscam_outdoor2 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'sid' => 'OCDnu82yCbHHQB3J4N01003',
                      'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' )
                    }
        };

2016.04.28 12:55:23 4: Foscam_outdoor2 - Login of User admin successful - SID: OCDnu82yCbHHQB3J4N01003
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- End Function serverlogin nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- Begin Function getcamid nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - Call-Out now: http://192.168.1.23:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="OCDnu82yCbHHQB3J4N01003"
2016.04.28 12:55:23 4: Foscam_outdoor2 - Detection Camid successful - outdoor2 ID: 3
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- End Function getcamid nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- Begin Function cam: getsnapfilename nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - Call-Out now: http://192.168.1.23:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.SnapShot"&method="List"&version="1"&imgSize="0"&idList=" "&_sid="OCDnu82yCbHHQB3J4N01003"
2016.04.28 12:55:23 1: Foscam_outdoor2 - ERROR - Operation getsnapfilename of Camera outdoor2 was not successful. Errorcode: 105 - Insufficient user privilege
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- End Function cam: getsnapfilename nonblocking with error ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- Begin Function logout nonblocking ---
2016.04.28 12:55:23 4: Foscam_outdoor2 - Credentials read from RAM: admin xxxxx
2016.04.28 12:55:23 4: Foscam_outdoor2 - URL-Call: http://192.168.1.23:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Logout&_sid=OCDnu82yCbHHQB3J4N01003
2016.04.28 12:55:23 4: Foscam_outdoor2 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

2016.04.28 12:55:23 4: Foscam_outdoor2 - Session of User admin has ended - SID: OCDnu82yCbHHQB3J4N01003 has been deleted
2016.04.28 12:55:23 4: Foscam_outdoor2 - --- End Function logout nonblocking ---

List:
Internals:
   CAMID      3
   CAMNAME    outdoor2
   CREDENTIALS Set
   DEF        outdoor2 192.168.1.23 5000
   NAME       Foscam_outdoor2
   NR         195
   OPMODE     getsnapfilename
   SERVERADDR 192.168.1.23
   SERVERPORT 5000
   STATE      Stop
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISTMMAXVER 2
     APISTMPATH SurveillanceStation/streaming.cgi
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 5
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CREDENTIALS \[WzdY5?dJ45SWLq
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
     Svsversion:
       BUILD      4141
       MAJOR      7
       MINOR      1
   Readings:
     2016-04-28 12:54:59   Availability    enabled
     2016-04-28 11:52:41   CamEventNum     449
     2016-04-28 12:54:59   CamExposureControl Outdoor
     2016-04-28 12:54:59   CamExposureMode Auto
     2016-04-28 12:54:59   CamIP           192.168.1.221
     2016-04-28 11:52:41   CamLastRec      20160428AM/outdoor220160428-115028-1461837028.mp4
     2016-04-28 11:52:41   CamLastRecTime  28.04.2016 / 11:50:28 - 11:50:49
     2016-04-28 12:54:59   CamLiveMode     Liveview from DS
     2016-04-28 12:54:59   CamModel        FI9900P
     2016-04-28 08:13:58   CamMotDetSc     Camera, sensitivity: 58
     2016-04-28 12:54:59   CamPort         88
     2016-04-28 12:54:59   CamPreRecTime   5
     2016-04-28 12:54:59   CamPtSpeed      3
     2016-04-28 12:54:59   CamRecShare     surveillance
     2016-04-28 12:54:59   CamRecVolume    volume1
     2016-04-28 12:54:59   CamVendor       FOSCAM
     2016-04-28 12:54:59   CamVideoFlip    true
     2016-04-28 12:54:59   CamVideoMirror  true
     2016-04-28 12:54:59   CamblPresetSpeed false
     2016-04-28 12:55:00   CapAudioOut     false
     2016-04-28 12:55:00   CapChangeSpeed  false
     2016-04-28 12:55:00   CapPTZAbs       false
     2016-04-28 12:55:00   CapPTZAutoFocus false
     2016-04-28 12:55:00   CapPTZDirections 0
     2016-04-28 12:55:00   CapPTZFocus     false
     2016-04-28 12:55:00   CapPTZHome      false
     2016-04-28 12:55:00   CapPTZIris      false
     2016-04-28 12:55:00   CapPTZPan       false
     2016-04-28 12:55:00   CapPTZTilt      false
     2016-04-28 12:55:00   CapPTZZoom      false
     2016-04-28 12:54:59   DeviceType      Camera
     2016-04-28 12:55:23   Error           Insufficient user privilege
     2016-04-28 12:55:23   Errorcode       105
     2016-04-28 12:54:59   LastUpdateTime  28.04.2016 / 12:54:59
     2016-04-28 12:54:57   LiveStreamUrl
     2016-04-28 12:54:57   PollState       Inactive
     2016-04-28 12:54:59   Record          Stop
     2016-04-28 12:54:58   SVSlicenseNumber 2
     2016-04-28 12:54:58   SVSuserPriv     Admin
     2016-04-28 12:54:58   SVSversion      7.1-4141
     2016-04-28 12:54:59   UsedSpaceMB     2.621
     2016-04-28 12:54:59   VideoFolder     /volume1/surveillance/outdoor2
     2016-04-28 12:54:59   state           off
Attributes:
   alias      Haustuer
   devStateIcon .*isable:set_off .*nable:FS20.off .*nap:li_wht_on
   event-on-change-reading Record,Error,Errorcode,LastSnapId,Availability
   eventMap   on:Start off:Stop snap:Snap
   fp_Grundriss 300,1059,1,Foscam_outdoor2
   icon       it_camera
   rectime    30
   room       CUL_HM,Webcam
   verbose    4
   webCmd     Start:Stop:Snap:Enable:Disable

"Verwendest du eine DSM-Session oder eine SVS-session ? " - keine Ahnung ?
hab die Cam so eingebunden:
define Foscam_outdoor2 SSCam outdoor2 192.168.1.23 5000
attr Foscam_outdoor2 alias Haustuer
attr Foscam_outdoor2 devStateIcon .*isable:set_off .*nable:FS20.off .*nap:li_wht_on
attr Foscam_outdoor2 event-on-change-reading Record,Error,Errorcode,LastSnapId,Availability
attr Foscam_outdoor2 eventMap on:Start off:Stop snap:Snap
attr Foscam_outdoor2 fp_Grundriss 300,1059,1,Foscam_outdoor2
attr Foscam_outdoor2 icon it_camera
attr Foscam_outdoor2 rectime 30
attr Foscam_outdoor2 room CUL_HM,Webcam
attr Foscam_outdoor2 webCmd Start:Stop:Snap:Enable:Disable
# attr Foscam_outdoor2 group Webcam
# attr Foscam_outdoor2 verbose 4
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 April 2016, 13:47:47
Im Standard wird DSM-session verwendet, bei dir also auch. Der User muß in dem Fall Mitglied der Admin Gruppe sein.

Hast du vorher  einen Schnappschuss mit  set ... snap ausgeführt ? In deinem List fehlt das Reading LastSnapId was die Grundlage ist für die Ermittlung des Filenamens.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Knuspertaler am 28 April 2016, 14:15:29
Jupp, das wars... hatte kein aktuellen Snap erstellt,
jetzt ist das LastSnapId Reading auch da und der Fehler weg ! - Danke !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 28 April 2016, 14:20:22
Prima  :)
Werde das als Anlass nehmen eine Fehlerabfangroutine einzubauen wenn das Reading leer ist.

Danke für die Meldung und viel Spaß noch damit ...

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 05 Mai 2016, 09:44:52
Zitat
Werde das als Anlass nehmen eine Fehlerabfangroutine einzubauen wenn das Reading leer ist.

Habe das Modul dahingehend ergänzt, dass eine Infomessage ausgegeben wird wenn get snapfileinfo ausgeführt wird aber das Reading LastSnapId nicht vorhanden ist.

Das Update ist morgen früh verfügbar.

Schönen Feiertag zusammen !

VG
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: jericho666 am 29 Mai 2016, 14:49:16
Hallo liebe SSCAM-Nutzer.
Ich bin wirklich blutiger Anfänger. Ich wollte mich jetzt wieder mit FHEM beschätigen (nachdem ich es 1/2 Jahr aus den Augen verloren hatte) und musste festestellen, dass das SSCAM-Modul bei mir nicht mehr funktioniert. Ich hatte zwischenzeitlich die Surveillance-Station auf Version 7.2.1.-4602 aktualisiert.

Im log finde ich das....2016.05.29 14:13:29 3: CAM_HWR - Informations related to Surveillance Station retrieved successfully
2016.05.29 14:13:37 1: CAM_HWR - error while requesting http://192.168.178.234:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&account=XXXX&passwd=YYYY2&format="sid" - read from http://192.168.178.234:5000 timed out

.... später das ....

2016.05.29 14:13:45 3: CAM_HWR - Capabilities of Camera HWR retrieved
2016.05.29 14:13:55 1: CAM_HWR - ERROR - Operation Getptzlistpreset of Camera HWR was not successful. Errorcode: 400 - Execution failed
2016.05.29 14:14:03 1: CAM_HWR - ERROR - Operation Getptzlistpatrol of Camera HWR was not successful. Errorcode: 400 - Execution failed
2016.05.29 14:23:26 1: CAM_HWR - error while requesting http://192.168.178.234:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&_sid=vib6Mnw6gHaO61480LTN075505 - read from http://192.168.178.234:5000 timed out
2016.05.29 14:25:34 3: CAM_HWR - Query event list of HWR successfully done
2016.05.29 14:25:40 1: CAM_HWR - error while requesting http://192.168.178.234:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming - read from http://192.168.178.234:5000 timed out
2016.05.29 14:25:47 3: CAM_HWR - Camera-Informations of HWR retrieved
2016.05.29 14:25:54 3: CAM_HWR - Enumerate motion detection parameters of HWR successfully done
2016.05.29 14:26:02 3: CAM_HWR - Capabilities of Camera HWR retrieved
2016.05.29 14:26:10 1: CAM_HWR - ERROR - Operation Getptzlistpreset of Camera HWR was not successful. Errorcode: 400 - Execution failed
2016.05.29 14:26:22 1: CAM_HWR - ERROR - Operation Getptzlistpatrol of Camera HWR was not successful. Errorcode: 400 - Execution failed
2016.05.29 14:30:50 1: CAM_HWR - error while requesting http://192.168.178.234:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=Disable&cameraIds=2&_sid="rDvn7npGyvWu.1480LTN075505" - read from http://192.168.178.234:5000 timed out
2016.05.29 14:35:39 1: CAM_HWR - error while requesting http://192.168.178.234:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=Disable&cameraIds=2&_sid="QKl67DhbrTiDA1480LTN075505" - read from http://192.168.178.234:5000 timed out

In den Readings tauchen allerdings auch Werte aus, die ausgelesen wurden z.B.
CamLastRec  20160528PM/HWR20160528-173642-1464449802.mp4 2016-05-29 14:25:34
CamModel SON-IPC1 2016-05-29 14:25:47

Ich kann über FHEM Oberfläche die Camera sogar deaktivieren, aber dann komischerweise nicht mehr aktivieren. Das muss ich dann per Hand machen. Die SSCAM-Einrichtung habe ich auch noch einmal neu gemacht, sowie ein Update des Linux + des FHEM selbst.
Habt Ihr eine Idee? Vielleicht muss ich an irgendeinem Timeout-Counter drehen?
Aber warum funktioniert dann immer "disable" aber nie "enable"?
Danke, Jens
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Mai 2016, 18:11:42
Hallo Jens,

sieht mir tatsächlich nach Problemen mit den vielen timeouts aus. Versuche mal das Attr "httptimeout" im SSCAM. Damit kannst du das Problem evtl. fixen.

EDIT: den Wert für den timeout gibst du  in Sekunden ein. Standard sind 4 Sekunden. Das ist für deine Umgebung so wie es aussieht zu kurz und die HTTP-Calls funktionieren nicht zuverlässig.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: jericho666 am 30 Mai 2016, 20:49:26
Hm,
ich bin irgendwie zu blöd den httptimeout zu setzen.

Ich dachte ich mache das so direkt in der FHEM Oberfläche:
set <cameraname> httptimeout 8
Unknown argument httptimeout, choose one of credentials expmode on off motdetsc snap enable disable runView stopView extevent runPatrol: goPreset: move

Wäre nett, wenn ihr mich erleuchtet. Danke.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Mai 2016, 21:28:25
Hallo Jens,

nein so nicht. "set" ist für Kommandos, wie Aufnahme starten usw.
Die Attribute setzt du am einfachsten in der Weboberfläche mit der Schaltfläche "Attr" ziemlich weit unten. Du wählst das zu setzende Attribut aus der Drop-Downliste, gibst den gewünschten Wert ein und drückst dann "attr".  Danach das Ganze noch mit "save config" (links oben) speichern sonst ist es nach einem reboot wieder weg.

Schau mal auf dem angehängten Bild.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: jericho666 am 30 Mai 2016, 22:13:08
Hallo liebe Fhemler (insb. Heiko),
also ich habe nun mit den Timeouts rumgespielt. Es ist eher schlechter geworden.
Mit timeout 4 sec. funktioniert das Deaktivieren immerhin enigermaßen verlässlich.
Mit Timeout 8,12 Sek geht gar nichts mehr.:-(
Ein Enable bekomme ich leider nie hin.
Vielleict habt Ihr ja noch eine Idee.

Komisch, dass das vor den ganzen Updates der Syno lief das Ganze wie geschnitten Brot.
Vielleicht ichte ich noch mal meine 2. Kamera ein in FHEM, aber was sollte die anders reagieren!?
Grüße, Jens
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: jericho666 am 30 Mai 2016, 22:20:54
Uuups, Komando zurück. Timeout=20 und ich konnte die Cam aktivieren...oha.
Ich teste mal froh weiter. Ist schon ein verdammt hoher Wert, aber wenn es klappt ist es mit egal.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Mai 2016, 22:30:07
Ohne ein paar Logs lässt sich schwer etwas sagen. Stell doch mal bitte für eine Kamera verbose=4 ein (attr) und führe mal nur zwei Kommandos aus, z.B. enable und disable. Die Log-Zeilen dann mal hier rein posten und dazu noch die Ausgabe von "list <Kamera>".
Dann sieht man mehr.
Soviel ich weiß hat Syno mit der 7.2 die API nicht wesentlich geändert bzw. nur erweitert. Die timeouts sind auf jeden Fall nicht gut und es ist wichtig die Ursache dafür zu finden. Sonst hast du keine Freude daran weil nichts zuverlässig funktionieren wird.

Eine Idee ist noch ob du vielleicht andere Module in FHEM aktiv hast die FHEM blockieren. So etwas bekommst du mit perfmon und apptime raus. Dies apps laufen bei mir immer mit.
Wie das geht findest du im Wiki: http://www.fhemwiki.de/wiki/Apptime

Eine ganz gemeine Sache wäre wenn deine Syno nun mit SVS 7.2 und DSM 6 (?) überlastet wäre. Muß man schauen.

Grüße
Heiko
 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Mai 2016, 22:31:10
Auch uups, da haben sich unsere Posts überschnitten .... na dann schau mal  :)

schönen Abend noch ...
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: jericho666 am 30 Mai 2016, 22:38:23
Hi Heiko,
ich will mal in die Koje. Ich teste, logge usw. am Mi, da ich morgen leider nicht da bin.
Erst einmal einen herzlichen Dank für die ganze Mühe!
Die Synoläuft schon ziemlich unter dampf und der Pi ist nur per WLAN dran am Netz. Ich werde da mal experimentieren.
Gute Nacht!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Mai 2016, 22:44:33
Hi Jens,
viel Spaß und Erfolg. Ich bin dann auch erstmal eiune Weile "away" ... hoffe es finden sich bei Bedarf noch ein paar Mitstreiter.
Aber ich bin da optimistisch  :)
Gute Nacht !
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: renepeggy am 13 Juni 2016, 10:36:58
Hallo Gemeinde. Ich bin absoluter Anfänger in Fhem.
Ich brauche mal eure hilfe. Ich habe FHEM auf einer Synology Installiert, eine Cam eingebunden , ein Notify eingerichtet mit Auslösung zur Aufnahme.
Jetzt will ich bei Auslösung den E-Mail Versand anstoßen. Dazu habe ich in der 99_myUtils.pm folgenden Code
sub sendmail($$$) {
 my($empf, $subj, $nachricht) = @_;
 system("php -r 'mail(\"$empf\",\"$subj\",\"$nachricht\");'");
 undef;
}


Das senden einer Testmail mit {sendmail('1234@789.com','Temperaturalarm','Raumtemperatur im Testzimmer wurde gemessen und ist kleiner 14 Grad')} 
funktioniert.

Dann habe ich wie im Wiki beschrieben eine DOIF angelegt mit ([Cam_Garage:"CamLastRec"]) ({sendmail ('1234@789.com','Bewegungsalarm Cam_Garage','Eine Bewegung \ wurde an der Haustür registriert. \ Aufnahmelink: [Cam_Garage:VideoFolder]/[Cam_Garage:CamLastRec]','/media/sf_surveillance/@Snapshot/[Cam_Garage:LastSnapFilename]')})
Leider erhalte ich eine Fehlermeldung : 2016-06-13 10:32:38 DOIF CamGarage.email error: {sendmail ('123@789.com','Bewegungsalarm Cam_Garage','Eine Bewegung \ wurde an der Haustür registriert. \ Aufnahmelink: /volume1/surveillance/Garage/20160613AM/Garage20160613-103217-1465806737.mp4','/media/sf_surveillance/@Snapshot/Garage-20160613-0258579126.jpg')}: Too many arguments for main::sendmail at (eval 93) line 1, near "'/media/sf_surveillance/@Snapshot/Garage-20160613-0258579126.jpg')"

Ich habe die ganze Nacht gesessen um Anleitungen zu Studieren, aber jetzt bin ich mit meinen Latain am Ende.

Danke für eure Hilfe MFG Rene
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 Juni 2016, 23:07:12
Hallo Rene,
Nimm mal die Backslash vor "wurde" bzw. "Aufnahmelink" raus. Die sind nicht zu setzen wenn man das Def über FHEMWEB definiert. Sie dienen nur der Kennzeichnung eines Zeilenumbruchs im Konfigfile.
Probiere es dann mal erneut.

Edit: Mir ist gerade noch aufgefallen, dass du in deiner sendmail-Funktion nur drei Argumente zulässt ($$$). In dem DOIF werden aber vier Argumente übergeben. Adressat, Subject, Body mit Aufnahmelink und der Snapshot. D.h. du müßtest deine Funktion noch erweitern. Das wird m.M. nach der eigentliche Fehler sein.

Grüsse
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: renepeggy am 14 Juni 2016, 10:30:24
Hallo DS_Starter.
Dieses ist mir auch schon Aufgefallen, und habe es Korrigiert. Es ist tatsächlich So wenn ich die Letzte Variable mit dem Snapshot rausnehme der E-Mail Versand funktioniert.
Da ich leider Absoluter Anfänger in der Sache bin, und mir alles in Forum´s und Wiki zusammengesucht habe, stehe ich total auf dem Schlauch wie den die 99_myUtils.pm anpassen muss. Im Wiki ist immer der reine Mail versand ohne Anhänge definiert. Dies bezieht sich weil der Mailclient der Synology benutzt wird.
Ich finde auch keinen Hinweis wie die Argumente erweitert werden.

MFG Rene
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Juni 2016, 11:08:34
Hi Rene,
Bin zur Zeit auf Wandertour und kann nur sehr beschränkt helfen. Vielleicht meldet sich noch ein Mitstreiter hier, sonst können wir nächste Woche noch einmal darauf zurück kommen. Dann kann ich dich wieder besser unterstützen.

VG
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Juni 2016, 20:05:20
Probiere es doch mal in der Art:
sub sendmail($$$$) {
 my($empf, $subj, $nachricht, $anhang) = @_;
 system("php -r 'mail(\"$empf\",\"$subj\",\"$nachricht\",\"$anhang\");'");
 return undef;
}

Vielleicht klappt es ja so schon ... natürlich ungetestet  ;)

Edit: Vielleicht ist es besser sendmail zu verwenden. Wie man das unter Synology vorbereitet habe ich hier gefunden:

http://mkleine.de/blog/2016/01/07/synology-sendmail-per-shell-aktivieren/

Dann könntest du auch Beschreibung aus dem FHEM Wiki verwenden bzw. die beschriebene nonblocking Variante einsetzen.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: renepeggy am 14 Juni 2016, 21:53:46
Ok danke, mit deiner 99_myUtils.pm wird der Snapschuß leider nur als link mit: /media/sf_surveillance/@snapshot/Garage-xxxxx.jpg gesendet.
ich teste mal deinen Vorschlag mit sendmail.

MFG Rene
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Juni 2016, 13:24:39
Hallo liebe SSCam-Nutzer,

Nachdem das Modul nun schon etliche Zeit im Einsatz ist und wahrscheinlichIch auch einige Verbreitung gefunden hat , habe ich eine Bitte.

Ich würde mich darüber freuen wenn ihr mir ganz kurz mitteilt wie ihr mit dem Modul klarkommt, wie es bei euch läuft / welche Probleme es evtl. gibt und welche Wünsche bzw. Verbesserungen gesehen werden.

Jetzt in der Sommerzeit wird nicht viel passieren, aber wenn ich im Herbst / Winter wieder mehr Zeit haben werde könnte ich mir vorstellen das Modul wieder "vorzukramen"  ;)

Kleine Ergänzung ... interessant wäre auch welche Funktionen vorrangig genutzt werden.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 24 Juni 2016, 23:45:13
Hallo zusammen,

bei mir lief einige Tage meine Camera nicht.
Jetzt wollte ich sie wieder laufen lassen und irgendwie fehlten alle Presets.
Ok, kurz angemeldet und Presets wieder eingestellt, aber jetzt habe ich folgendes Problem:

24 23:42:07 SSCam Surveillance goPreset test
2016-06-24 23:42:07 SSCam Surveillance Errorcode: none
2016-06-24 23:42:07 SSCam Surveillance Error: none
2016-06-24 23:42:07 SSCam Surveillance Errorcode: none
2016-06-24 23:42:07 SSCam Surveillance Error: none
2016-06-24 23:42:08 SSCam Surveillance Errorcode: 121
2016-06-24 23:42:08 SSCam Surveillance Error: Message for Errorcode 121 not found. Please turn to Synology Web API-Guide.
2016.06.24 23:42:08 1 : Surveillance - ERROR - Operation gopreset of Camera Cam1 was not successful. Errorcode: 121 - Message for Errorcode 121 not found. Please turn to Synology Web API-Guide.2016-06-

es kommt bei den Presets pausenlos der Error Code 121.
Alles andere (motdesc, ...) geht problemlos.

Ich habe hierzu leider auf Anhieb nichts gefunden. Auch im neuesten Web API Guide (März 2015) fand ich den Code nicht und den Guide 2016-06 finde ich nicht.
Hat sonst jemand ein ähnliches Problem? (auf den letzten Seiten hier im Forum fand ich nichts)

edit: Version 2.4 des Web Api Guides finde ich, aber kein Fehler 121 beschrieben
https://global.download.synology.com/download/Document/DeveloperGuide/Surveillance_Station_Web_API_v2.4.pdf
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 24 Juni 2016, 23:53:38
Hallo Rumbel,

klingt interessant  ;)

Mach mal bitte ein list von deiner Kamera. Auf Anhieb fällt mir nichts ein. Der Code ist mir unbekannt.
Eventuell noch ein verbose 4 log mit anhängen.
Ist die Cam i.o. ? (weil sie einige Zeit nicht lief).

Grüße
Heiko


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 25 Juni 2016, 00:00:31
Hallo Rumbel,

klingt interessant  ;)
Jop. :-)
Ist die Cam i.o. ? (weil sie einige Zeit nicht lief).

Geht problemlos. übers SVS oder über die Kamera-Website kann ich die Presets auch ohne Probleme nutzen.


was meinst mit "mach mal bitte ein list"?

Readings:
Readings
Availability
enabled
2016-06-24 23:57:31
CamEventNum
50
2016-06-24 23:57:29
CamExposureControl
Auto
2016-06-24 23:57:31
CamExposureMode
Day
2016-06-24 23:57:31
CamIP
192.168.178.19
2016-06-24 23:57:31
CamLastRec
20160618PM/Cam120160618-190238-1466269358.mp4
2016-06-24 23:57:29
CamLastRecTime
18.06.2016 / 19:02:38 - 19:03:44
2016-06-24 23:57:29
CamLiveMode
Liveview from DS
2016-06-24 23:57:31
CamModel
FI9826W
2016-06-24 23:57:31
CamMotDetSc
disabled
2016-06-24 23:57:33
CamPort
88
2016-06-24 23:57:31
CamPreRecTime
20
2016-06-24 23:57:31
CamPtSpeed
3
2016-06-24 23:57:31
CamRecShare
surveillance
2016-06-24 23:57:31
CamRecVolume
/volume1
2016-06-24 23:57:31
CamVendor
FOSCAM
2016-06-24 23:57:31
CamVideoFlip
true
2016-06-24 23:57:31
CamVideoMirror
true
2016-06-24 23:57:31
CamblPresetSpeed
false
2016-06-24 23:57:31
CapAudioOut
false
2016-06-24 23:57:34
CapChangeSpeed
false
2016-06-24 23:57:34
CapPTZAbs
false
2016-06-24 23:57:34
CapPTZAutoFocus
false
2016-06-24 23:57:34
CapPTZDirections
8
2016-06-24 23:57:34
CapPTZFocus
false
2016-06-24 23:57:34
CapPTZHome
true
2016-06-24 23:57:34
CapPTZIris
false
2016-06-24 23:57:34
CapPTZPan
support continuous operation
2016-06-24 23:57:34
CapPTZTilt
support continuous operation
2016-06-24 23:57:34
CapPTZZoom
support continuous operation
2016-06-24 23:57:34
DeviceType
PTZ
2016-06-24 23:57:31
Error
none
2016-06-24 23:57:36
Errorcode
none
2016-06-24 23:57:36
LastSnapFilename
Cam1-20160624-2326111292.jpg
2016-06-24 23:57:25
LastSnapId
10
2016-06-24 23:26:11
LastUpdateTime
24.06.2016 / 23:57:31
2016-06-24 23:57:31
LiveStreamUrl
2016-06-24 23:12:21
Patrols
2016-06-24 23:57:36
PollState
Inactive
2016-06-24 23:12:21
Presets
test,test2
2016-06-24 23:57:35
Record
Stop
2016-06-24 23:57:31
SVSlicenseNumber
2
2016-06-24 23:57:27
SVSuserPriv
Admin
2016-06-24 23:57:27
SVSversion
7.2-4649
2016-06-24 23:57:27
UsedSpaceMB
0.880
2016-06-24 23:57:31
VideoFolder
/volume1/surveillance/Cam1
2016-06-24 23:57:31
state
off
2016-06-24 23:55:49
attr Surveillance
Wohnzimmer,zServices
Attributes
devStateIcon
Stop:audio_pause Start:audio_play Snap:rc_BLUE
deleteattr
eventMap
on:Start off:Stop snap:Snap
deleteattr
icon
it_camera
deleteattr
pollcaminfoall
1
deleteattr
rectime
60
deleteattr
room
Wohnzimmer,zServices
deleteattr
session
SurveillanceStation
deleteattr
webCmd
on:off:snap
deleteattr

Verbose 4:
2016.06.24 23:58:20 4 : Surveillance - Move Camera Cam1 to position "test" with ID "0" now
2016.06.24 23:58:20 4 : Surveillance - --- Begin Function getapisites nonblocking ---
2016.06.24 23:58:20 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016-06-24 23:58:20 SSCam Surveillance goPreset test
2016.06.24 23:58:21 4 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), 'data' => { 'SYNO.SurveillanceStation.Camera.Event' => { 'maxVersion' => 1, 'requestFormat' => 'JSON', 'minVersion' => 1, 'path' => 'entry.cgi' }, 'SYNO.API.Auth' => { 'minVersion' => 1, 'path' => 'auth.cgi', 'maxVersion' => 6 }, 'SYNO.SurveillanceStation.Camera' => { 'maxVersion' => 8, 'requestFormat' => 'JSON', 'minVersion' => 1, 'path' => 'entry.cgi' }, 'SYNO.SurveillanceStation.Streaming' => { 'maxVersion' => 2, 'minVersion' => 1, 'path' => 'SurveillanceStation/streaming.cgi' }, 'SYNO.SurveillanceStation.VideoStreaming' => { 'maxVersion' => 1, 'requestFormat' => 'JSON', 'minVersion' => 1, 'path' => 'entry.cgi' }, 'SYNO.SurveillanceStation.ExternalRecording' => { 'maxVersion' => 3, 'requestFormat' => 'JSON', 'minVersion' => 1, 'path' => 'entry.cgi' }, 'SYNO.SurveillanceStation.Event' => { 'maxVersion' => 5, 'requestFormat' => 'JSON', 'minVersion' => 1, 'path' => 'entry.cgi' }, 'SYNO.SurveillanceStation.PTZ' => { 'path' => 'entry.cgi', 'minVersion' => 1, 'requestFormat' => 'JSON', 'maxVersion' => 5 }, 'SYNO.SurveillanceStation.SnapShot' => { 'maxVersion' => 1, 'requestFormat' => 'JSON', 'path' => 'entry.cgi', 'minVersion' => 1 }, 'SYNO.SurveillanceStation.Info' => {
                                                  'maxVersion' => 6,                                                            'requestFormat' => 'JSON',                                                            'path' => 'entry.cgi',                                                            'minVersion' => 1                                                          },                       'SYNO.SurveillanceStation.ExternalEvent' => {                                                                     'maxVersion' => 1,                                                                     'requestFormat' => 'JSON',                                                                     'path' => 'entry.cgi',                                                                     'minVersion' => 1                                                                   }                     }         }; 2016.06.24 23:58:21 4 : Surveillance - Path of SYNO.API.Auth selected: auth.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.API.Auth selected: 62016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 32016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Camera: 82016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.SnapShot: 12016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.PTZ: 52016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.Info selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Info: 62016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 12016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.Event selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Event: 52016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 12016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.ExternalEvent selected: entry.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.ExternalEvent selected: 12016.06.24 23:58:21 4 : Surveillance - Path of SYNO.SurveillanceStation.Streaming selected: SurveillanceStation/streaming.cgi2016.06.24 23:58:21 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Streaming selected: 22016-06-24 23:58:21 SSCam Surveillance Errorcode: none
2016-06-24 23:58:21 SSCam Surveillance Error: none
2016.06.24 23:58:21 4 : Surveillance - --- End Function getapisites nonblocking ---2016.06.24 23:58:21 4 : Surveillance - --- Begin Function serverlogin nonblocking ---2016.06.24 23:58:21 4 : Surveillance - Credentials read from RAM: Admin *****2016.06.24 23:58:21 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&account=Admin&passwd=*****&session=SurveillanceStation&format="sid"
2016.06.24 23:58:21 4 : Surveillance - Credentials read from RAM: Admin *****
2016.06.24 23:58:21 4 : Surveillance - JSON returned: $VAR1 = { 'data' => { 'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ), 'sid' => '.kYYywPA12QzECAL1N11272' }, 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ) };
2016-06-24 23:58:21 SSCam Surveillance Errorcode: none
2016-06-24 23:58:21 SSCam Surveillance Error: none
2016.06.24 23:58:21 4 : Surveillance - Login of User Admin successful - SID: .kYYywPA12QzECAL1N11272
2016.06.24 23:58:21 4 : Surveillance - --- End Function serverlogin nonblocking ---
2016.06.24 23:58:21 4 : Surveillance - --- Begin Function getcamid nonblocking ---
2016.06.24 23:58:21 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid=".kYYywPA12QzECAL1N11272"
2016.06.24 23:58:21 4 : Surveillance - Detection Camid successful - Cam1 ID: 3
2016.06.24 23:58:21 4 : Surveillance - --- End Function getcamid nonblocking ---
2016.06.24 23:58:21 4 : Surveillance - --- Begin Function cam: gopreset nonblocking ---
2016.06.24 23:58:21 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.PTZ"&version="5"&method="GoPreset"&position="0"&cameraId="3"&_sid=".kYYywPA12QzECAL1N11272"
2016-06-24 23:58:21 SSCam Surveillance Errorcode: 121
2016-06-24 23:58:21 SSCam Surveillance Error: Message for Errorcode 121 not found. Please turn to Synology Web API-Guide.
2016.06.24 23:58:21 1 : Surveillance - ERROR - Operation gopreset of Camera Cam1 was not successful. Errorcode: 121 - Message for Errorcode 121 not found. Please turn to Synology Web API-Guide.2016.06.24 23:58:21 4 : Surveillance - --- End Function cam: gopreset nonblocking with error ---2016.06.24 23:58:21 4 : Surveillance - --- Begin Function logout nonblocking ---
2016.06.24 23:58:21 4 : Surveillance - Credentials read from RAM: Admin *****
2016.06.24 23:58:21 4 : Surveillance - URL-Call: http://192.168.178.200:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&session=SurveillanceStation&_sid=.kYYywPA12QzECAL1N11272
2016.06.24 23:58:21 4 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ) };
2016.06.24 23:58:21 4 : Surveillance - Session of User Admin has ended - SID: .kYYywPA12QzECAL1N11272 has been deleted
2016.06.24 23:58:21 4 : Surveillance - --- End Function logout nonblocking ---

meine Versuche bisher:
Kamera neugestartet
Synology neu gestartet
FHEM neugestartet
fhem update
alle presets gelöscht
alle presets neu
neue presets (andere Namen)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 25 Juni 2016, 00:06:19
Zitat
was meinst mit "mach mal bitte ein list"?

sorry ... war zu kurz geschrieben... gib im FHEMWEB in der Kommandozeile "list <Kameraname>" ein. Es erscheint dann eine Ausgabe die wichtige Infos enthält.

Aber ich schaue mir alles erst morgen an  ;)

Gute Nacht,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 25 Juni 2016, 00:10:24
sorry ... war zu kurz geschrieben... gib im FHEMWEB in der Kommandozeile "list <Kameraname>" ein. Es erscheint dann eine Ausgabe die wichtige Infos enthält.
kein problem.
bin "recht neu" mit FHEM bzw bisher lief einfach alles, daher musste ich noch nie debuggen ;-)
Eilt nicht das thema, aber hatte heute etwas zeit und wollte die zeit mal dafür ausnutzen :-)

Danke fürs Helfen und gute Nacht.

Internals:
   CAMID      3
   CAMNAME    Cam1
   CREDENTIALS Set
   DEF        Cam1 192.168.178.200 5000
   NAME       Surveillance
   NR         35
   OPMODE     gopreset
   SERVERADDR 192.168.178.200
   SERVERPORT 5000
   STATE      moving
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 6
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 3
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 5
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISTMMAXVER 2
     APISTMPATH SurveillanceStation/streaming.cgi
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 6
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CAMLASTRECID 1083
     CREDENTIALS ***********
     EXPMODE    day
     GOPRESETNAME test
     MOTDETSC   disable
     OLDVALPOLLNOLOGGING 0
     PTZACTION  gopreset
     RECTIME_DEF 15
     Allpatrols:
       test2      8
     Allpresets:
       test       0
       test2      1
     Motdetoptions:
     Svsversion:
       BUILD      4649
       MAJOR      7
       MINOR      2
   Readings:
     2016-06-25 00:06:01   Availability    enabled
     2016-06-25 00:06:00   CamEventNum     50
     2016-06-25 00:06:01   CamExposureControl Auto
     2016-06-25 00:06:01   CamExposureMode Day
     2016-06-25 00:06:01   CamIP           192.168.178.19
     2016-06-25 00:06:00   CamLastRec      20160618PM/Cam120160618-190238-1466269358.mp4
     2016-06-25 00:06:00   CamLastRecTime  18.06.2016 / 19:02:38 - 19:03:44
     2016-06-25 00:06:01   CamLiveMode     Liveview from DS
     2016-06-25 00:06:01   CamModel        FI9826W
     2016-06-25 00:06:03   CamMotDetSc     disabled
     2016-06-25 00:06:01   CamPort         88
     2016-06-25 00:06:01   CamPreRecTime   20
     2016-06-25 00:06:01   CamPtSpeed      3
     2016-06-25 00:06:01   CamRecShare     surveillance
     2016-06-25 00:06:01   CamRecVolume    /volume1
     2016-06-25 00:06:01   CamVendor       FOSCAM
     2016-06-25 00:06:01   CamVideoFlip    true
     2016-06-25 00:06:01   CamVideoMirror  true
     2016-06-25 00:06:01   CamblPresetSpeed false
     2016-06-25 00:06:04   CapAudioOut     false
     2016-06-25 00:06:04   CapChangeSpeed  false
     2016-06-25 00:06:04   CapPTZAbs       false
     2016-06-25 00:06:04   CapPTZAutoFocus false
     2016-06-25 00:06:04   CapPTZDirections 8
     2016-06-25 00:06:04   CapPTZFocus     false
     2016-06-25 00:06:04   CapPTZHome      true
     2016-06-25 00:06:04   CapPTZIris      false
     2016-06-25 00:06:04   CapPTZPan       support continuous operation
     2016-06-25 00:06:04   CapPTZTilt      support continuous operation
     2016-06-25 00:06:04   CapPTZZoom      support continuous operation
     2016-06-25 00:06:01   DeviceType      PTZ
     2016-06-25 00:06:29   Error           Message for Errorcode 121 not found. Please turn to Synology Web API-Guide.
     2016-06-25 00:06:29   Errorcode       121
     2016-06-24 23:57:25   LastSnapFilename Cam1-20160624-2326111292.jpg
     2016-06-24 23:26:11   LastSnapId      10
     2016-06-25 00:06:01   LastUpdateTime  25.06.2016 / 00:06:01
     2016-06-24 23:12:21   LiveStreamUrl
     2016-06-25 00:06:06   Patrols         test2
     2016-06-24 23:12:21   PollState       Inactive
     2016-06-25 00:06:05   Presets         test,test2
     2016-06-25 00:06:01   Record          Stop
     2016-06-24 23:57:27   SVSlicenseNumber 2
     2016-06-24 23:57:27   SVSuserPriv     Admin
     2016-06-24 23:57:27   SVSversion      7.2-4649
     2016-06-25 00:06:01   UsedSpaceMB     0.880
     2016-06-25 00:06:01   VideoFolder     /volume1/surveillance/Cam1
     2016-06-25 00:06:29   state           moving
Attributes:
   devStateIcon Stop:audio_pause Start:audio_play Snap:rc_BLUE
   eventMap   on:Start off:Stop snap:Snap
   icon       it_camera
   pollcaminfoall 1
   rectime    60
   room       Wohnzimmer
   session    SurveillanceStation
   verbose    4
   webCmd     on:off:snap

okokok.... es wird noch abstruser...

ich dachte, ich teste mal die restlichen bewegungen. also move und goAbsPtz.
nö, nix geht.
Verbose 4:
2016.06.25 00:37:16 4 : Surveillance - Start move Camera CamWohnzimmer to direction "left" with duration of 2 s
2016.06.25 00:37:16 4 : Surveillance - --- Begin Function getapisites nonblocking ---
2016.06.25 00:37:16 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016-06-25 00:37:16 SSCam Surveillance move left 2
2016.06.25 00:37:17 4 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), 'data' => { 'SYNO.SurveillanceStation.Camera' => { 'maxVersion' => 8, 'requestFormat' => 'JSON', 'minVersion' => 1, 'path' => 'entry.cgi' }, 'SYNO.SurveillanceStation.Streaming' => { 'minVersion' => 1, 'path' => 'SurveillanceStation/streaming.cgi', 'maxVersion' => 2 }, 'SYNO.API.Auth' => { 'path' => 'auth.cgi', 'minVersion' => 1, 'maxVersion' => 6 }, 'SYNO.SurveillanceStation.Camera.Event' => {
                                  'requestFormat' => 'JSON',                                                                    'path' => 'entry.cgi',                                                                    'minVersion' => 1,                                                                    'maxVersion' => 1                                                                  },                       'SYNO.SurveillanceStation.Info' => {                                                            'requestFormat' => 'JSON',                                                            'path' => 'entry.cgi',                                                            'minVersion' => 1,                                                            'maxVersion' => 6                                                          },                       'SYNO.SurveillanceStation.ExternalEvent' => {                                                                     'minVersion' => 1,                                                                     'path' => 'entry.cgi',                                                                     'requestFormat' => 'JSON',                                                                     'maxVersion' => 1                                                                   },                       'SYNO.SurveillanceStation.SnapShot' => {                                                                'minVersion' => 1,                                                                'path' => 'entry.cgi',                                                                'requestFormat' => 'JSON',                                                                'maxVersion' => 1                                                              },                       'SYNO.SurveillanceStation.VideoStreaming' => {                                                                      'maxVersion' => 1,                                                                      'minVersion' => 1,                                                                      'path' => 'entry.cgi',                                                                      'requestFormat' => 'JSON'                                                                    },                       'SYNO.SurveillanceStation.ExternalRecording' => {                                                                         'minVersion' => 1,                                                                         'path' => 'entry.cgi',                                                                         'requestFormat' => 'JSON',                                                                         'maxVersion' => 3                                                                       },                       'SYNO.SurveillanceStation.Event' => {                                                             'minVersion' => 1,                                                             'path' => 'entry.cgi',                                                             'requestFormat' => 'JSON',                                                             'maxVersion' => 5                                                           },                       'SYNO.SurveillanceStation.PTZ' => {                                                           'requestFormat' => 'JSON',                                                           'minVersion' => 1,                                                           'path' => 'entry.cgi',                                                           'maxVersion' => 5                                                         }                     }         }; 2016.06.25 00:37:17 4 : Surveillance - Path of SYNO.API.Auth selected: auth.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.API.Auth selected: 62016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 32016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Camera: 82016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.SnapShot: 12016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.PTZ: 52016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.Info selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Info: 62016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 12016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.Event selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Event: 52016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 12016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.ExternalEvent selected: entry.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.ExternalEvent selected: 12016.06.25 00:37:17 4 : Surveillance - Path of SYNO.SurveillanceStation.Streaming selected: SurveillanceStation/streaming.cgi2016.06.25 00:37:17 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Streaming selected: 22016-06-25 00:37:17 SSCam Surveillance Errorcode: none
2016-06-25 00:37:17 SSCam Surveillance Error: none
2016.06.25 00:37:17 4 : Surveillance - --- End Function getapisites nonblocking ---2016.06.25 00:37:17 4 : Surveillance - --- Begin Function serverlogin nonblocking ---2016.06.25 00:37:17 4 : Surveillance - Credentials read from RAM: Admin *****2016.06.25 00:37:17 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&account=Admin&passwd=*****&session=SurveillanceStation&format="sid"
2016.06.25 00:37:17 4 : Surveillance - Credentials read from RAM: Admin *****
2016.06.25 00:37:17 4 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), 'data' => { 'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ), 'sid' => 'UBgT46vgIS9VQCAL1N11272' } };
2016-06-25 00:37:17 SSCam Surveillance Errorcode: none
2016-06-25 00:37:17 SSCam Surveillance Error: none
2016.06.25 00:37:17 4 : Surveillance - Login of User Admin successful - SID: UBgT46vgIS9VQCAL1N11272
2016.06.25 00:37:17 4 : Surveillance - --- End Function serverlogin nonblocking ---
2016.06.25 00:37:17 4 : Surveillance - --- Begin Function getcamid nonblocking ---
2016.06.25 00:37:17 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="UBgT46vgIS9VQCAL1N11272"
2016.06.25 00:37:17 4 : Surveillance - Detection Camid successful - CamWohnzimmer ID: 4
2016.06.25 00:37:17 4 : Surveillance - --- End Function getcamid nonblocking ---
2016.06.25 00:37:17 4 : Surveillance - --- Begin Function cam: movestart nonblocking ---
2016.06.25 00:37:17 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.PTZ"&version="5"&method="Move"&cameraId="4"&direction="left"&speed="3"&moveType="Start"&_sid="UBgT46vgIS9VQCAL1N11272"
2016-06-25 00:37:17 SSCam Surveillance Errorcode: none
2016-06-25 00:37:17 SSCam Surveillance Error: malformed JSON string received
2016.06.25 00:37:17 4 : Surveillance - Data returned: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style>body{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-align:center}h1{color:#06C;font-size:25px;line-height:60px;margin-top:56px}img{margin-top:40px} </style> </head> <body> <img src="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAQEB AQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/2wBDAQEBAQEBAQICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCAAzAMgDAREA AhEBAxEB/8QAHwAAAgIDAAMBAQAAAAAAAAAAAAkICgEGBwQFCwMC/8QARBAAAAYCAAUCBQIDAwYP AAAAAQIDBAUGBwgACRESExQhChUiMUEWMiNCURckYRhDUnGBkRozNDY5U2JydHZ4sbW2wf/EABgB AQEBAQEAAAAAAAAAAAAAAAADAgQB/8QAKREBAAICAgEDAwMFAAAAAAAAAAECAxESMSETImEyUYFB caEjM2LB0f/aAAwDAQACEQMRAD8Au+532JoOAIVo+tSrqRm5fzhXqpDgkpMy5mwfxl/4xipt2qYi UqrlYwEATAUgKKCBB3SlrvJnRdczzLshKujjA42pcax7xFAk1LzMq7FPr9IKLsgaJ93T79CdAH+v FfQj7szds9N5lsj61BPIWMmgxihilXkqVLrnetSCP1LkhpoO1boH8hXaZh/l6j7CnB8vIuZ5SbvV 8iViKuNOlkJmvzLf1DJ6h3FH6TCmu2coqdDpLJHAU1kVAKomoUSnABDiExMSo2zjwHAHAHAHAHAH AHAY4Ch18VDl7m7as47olpNvBV69rVn7ImQ8XpYg1yxvLYcsNeiEY5WYq7C7ZRfy8vOWE8hDEWJK C2dQMcR4koRGKUQWKcgWeOSEoqtyiuXYqsodVQ+qWJxOoocxzmH9Pk9zGN7j/v4Bp3AHAHAHAHAH AHAHAY4CL0RufrNP31xjaHyzWpGzNZlauLJtXPmYEn0HJGakYo/J1IT+Mokim5U7WSzhVFsi6UcL JpGBTm78tMyeyN+SkhUEINrXYiDbqmN40YkIFGRS8IG/aVVdwsqbp+45xH8B07MP9tK/ZiOsWGtW bHjCtSMFX6ffp9eFYLW15ZEmc7Yms8q2AZVk+jX3cLEE1hOmkkRJNPxgUxRV6+U8Mlr8v+NViJhy 7arSVGSCAsuvtIatZZZ+owtFVjH7CJiVWKqBlms8ybyqySCCiSpfCumgYoKkVIfxdyRzG1jy/d5a v2eswBLXbSqp2pTYGtTsRR7XYYcawpX14q1gys6rFwWWSdNYpyb0xXSLdAxTn+lRRES/vH6vcmsk +3zP+nse2PKbuFtkMa56WsLWirzRXdaTjlpFpOxYxTgzaTFUjZ00IJz+RMDInIcfbsN2gP7g4jal q9tRMS7LPTcfWoSXsUuuDaKgox/MSbgf8ywjWpnbpQA/IgQgiAfn7cZeobRnMAwRMrenjmmQ3CwM X8mchagYBTYxcepKSDlTq4+kqSCRzmEft06ffpxX0bs84bhjrc3CWTZaUioV/PRPyWtyNrlJS0xB YKFYQsWqki7cupBdYxSdBWJ0AQ9/f8+3GbY7xH8PYtEucT/MUwVFSarGLj71aGqJzEGYiYJs1jlu 03TyNAmnLVc5BD3AwolAwfbrxv0L/DPOEjsP5+xlnJi8c0KbO4exYJGloCTaqRc/FpuBEG6zqOX6 9yRxAQKuidVETB2+Tu9uJ2pNWomJfplfPmLMKtUFb7ZkGD94kZaOr7FFWUsckkU3YKzWIZAZQEuv UPOr40O4BL5evtwrS1uiZ0i4TmQ4TM88J6zkpJmKnb64YSGOAE/CpmqcgKn+wAE3+HFPQv8ADznC W+L8yY4zHEqy+PrMzm02okJIsO1VlMxCqhe4qMrEPAIuj1/lMYnjU6D4znAOvE7Vms+XsTEqgvxt aaY6L6jKiQoqk2ycJkU/mKmrh+fMoQB/oYSFEf8Auhxl6f1yPv8AohuXV/6UcT//AF8nAbhuXzYt HtFrTAYzzVlR5MZytxWxqhrth6pWTMWebKD1EzhidpjahoO3bVNwmQ52y8l6Fu4ApvAqp0HgIP1r 4lflplyfD4izupsppjcLB4xhy7ha73TDUS5SXOKbZ48lT+vTYNDiHT10l6Nin/nnKXv0B9cHOQtm homx1uXi7BXp6NZTEHPQcg0lYaaiJJsV5HSsTKMDqIOGzhE5FUF0TnSVTMU5DGKIDwCwtjucdpZr vm//ACXGErlLZTagiK7h/rZqNiqz5/y1AoNU0lnR7WwqpQjYgyRF0lFUJSTZuUklCLKIlSOU4hxX H/xB/Lhm8tSGBc42zK2j2aY5qD1bHW8uJrBrvIi2MBhRWGwTpnEIkCwFEWoryiIPQD+5eoH24CXC XNU5eMvD2uUoe22G8xyFNrEjcpekYHtTXOeUXVchxIaYka5irFHzexS3pEzedynGRrtVBsRVyomV BFVQgQD/AOFBck31fy8duJYJEHPohjh152SCR9aCvgFl6D9J+Xzd/wBHi7fJ3/R293twDn8E5xpW xeNYTLGPGV+YVOwKv0oxDJuLsi4dtpgjnhmKy7uh5UjIiabJKGIJm6rhgkRykJVkBOkYpxBdG4nO v5cWmd7seDtrMvZJwxbVGz2LbuZjXPYs9dsKTiIQcPH2Pr7FVZxCzhGpHqALrxD56m1cHBBcU1gE nAQKwJpDkjYhzBZ5osu8UxVl6+5ykUnd/rtyxpR4jDmTcIs9cmeWMf4PvcbD3aEyezZQaoM2k4xL VHbGdkHhF3AJwEmAN+251GXzWs1vlDdR8bkONjyxr5jJHM2irbFNjGVZILPEym9O8biYxUFzEMmd M/hW7SkTUTrjyce2bV2UbZ8VZgxRImc2KlXanPWinQk+xbSBGn8MegHaWeBMdAS/nqDgP9XHTFqW /WEpiYdIoG4uwFEVRFnfXFtjERTA8NdiFsbRVJP2FAJM4kfJf6yOvb/RH7cZtipL3nYyBjkStbwa 75DqzSNCDyBGxaarmuLLFdjH2dmAydZloh2YCisydOEBRBQSlUT6rN1S9QAykNeldvfKC8tLsgKY 92BqpHpzs466Fc0GcbqiCfhdSZwUiPMJ+nQUpFFFIev7QUP/AI8XyxujFezJN/shfpDBi9ZbLdkr kmWa1lMgCIH+TNh+a2FUOn8oopFbm/8AEgH54hhjd/2Uv0X9rNjsz3FmzGV3bcBbQOKbZSoBRQnU oycvCHfTy6I/gyTYrZER+/RycP68VyT7oj5if5YrHiUf8LY5fZcyTVMbs5FWLTtLg6Mu+T+szeCi 2ppmUW9OIgRYxSN+qKanVP1HiMb9vFL2412zEbk1XJ+huF2OLrGtT2k7FW6vV+TmIyfdT0hJKSb2 LZGeFbTTFwb0x01/GKZvCiiKXf3pdO0CjzxmttThBZutWTS4pyxXr4sooSObQtoRlWpDmKEkyXrT h21jFRD2HveJNezr+xQCm6e3F7051TidS8apQV62ezS0YyEr5rbkCUcv5qbeAZdCFiWaJnz46Dfq H92Yty+Bm1IYhevhS6h3GNwnWOr2N2k0p/y6MKq1o0bHS11ZWUrYARta0yV4Yz8qfsu6gzJlaGRE 3uZFMqRu36SrFH6uOf1rqcI0VlDzl61izO6cIOAQs2PbAvETzZqdQI2ywyCxTPY5UpugqNXzUSrI d4d6Jzoqh0VTAeOjxkqn9Ml4fGnS7OwcvnTKejjCdhN7QtJdic3QDGaSOE5942MYA/PYcOvHFrUr J/YW3fY8uv4YvXbbIzdlI2XHukGJY7GsLIdxmc3la6sWtNxyxeoE+pRqnKPW7t+QnQwxzZ2JTF6d wBDr4RbA6OTMK7M80DOT5fKu2Gyuf7lTXuXLl2zFvZVCrR0fJT6UZJOQEWnziYkHIvitQRTO1jYt oVMjdkkmAPN5x/LjxvzMNG8u4XslZinmVq/VbDd9drsoxRUsFGy/BRR39dLFyXsqmymFEixEw3A3 jcsHRzCQXKDVVEKJvI650mx2s+hnMk1LNYJGUm8G6o5L2A1GkJ7zPX2JbXHzDGl3itMSPO4RYtVp 1taGMcYAbs3kbLj2CR+oUgOQ+Cmp9anMB70bBznSxZwu2wsDT7bd5tQ8tcHtaY0xC7Jesnn4qOTB Iy8xIu3phU7nrpBJZyKqiCRiBvXxpWtdFtekOBdqPlEehlDEGeYnFxLEm2STk5DHOUazLSUhX3rw vQ6yLaViWLpqkfvBudd6ZEE/VOBUCVXwyWq+md05fuou88HqfiCibXR9ZyXjKbzJXIBdrZp1WpW2 WxZI2oiyqx00nszEtiBKrIppis5cPwT8aC4pcAgz4qjQl1ovu3gDmq65VWPg61lLJlasOQGjSOIN cgdqMZyyV5hLG+YJFKkRO2s2Pq3CYF/vMpETLxcwrSHuF+DSfa7Hu8WqmDNrcYLkNU80UGJtRY4H CbpxWLAJRj7hTJJVL29XCyyLyLdfjztDmL9IgPAIL2RhYfmg/EJ6966Lx0faddeUHjVzsZmzzoNJ GGmNlssGj3mMaHI+UqiRzMSNIGX8BgED/LptouUDE6AFprgE55I3wz3Tr3ZqivXcfsDVGzuol+ih FTbpw8aR7z6vGs8e9AM5b9DJnAnQPIUwAIcdMYa6/VLnJslPtlev9WhrbWnyErA2GORfM10zkVKK ThPqo2cEAR7VUx6pLJG+pNQpkzgBgEOOaY1KvaBu+eMsNxmKXt2PCQNayIEtEtKy/h2jaNkbE5cP yBJRb9uzAgOkwaCuudRQhzNxSKcqhQEQPfDa3LSd4jSK/LtVkSZ8lE2fk9Cvjub+cATr4gSRlmIs DK/j/jR6E6/6Rv8AHjef6fyU7c23Bx46xPn+xqxAGYMLM4b5GqjhMPEVq7kHYryBGol/aLaTSVOA B7lIol9gEA41jnlRm3iX97ZZ3Lm6foD9ir3xtex1DKO2iHf40bjYUCyFrblTH+ZAxEGnt9xTHp9+ GOnCPyWnZkcfjT+yjRi1VZdEEZhbE9rsFk9hKc1hsEOrJSCaoD+UO8rUP+ygUOOflyy/mFNaqXlo aUptlqcIh7p125HKP9DDAmJ1/wBwjxfN9DFOzxr7/wAxrp/5TsX/AMOtxyx2pPSsPWod7PrM4qOS FV4tGvHSSRQExjki4dWWcFIUPuPiQP0D88d8+JQSo0ctERWti6mtLuUWrWxQ0/WWLpwYCpElZVBN zFo+Q32FwdD05Oo+6ipCfzcTy/Q3X6j++ONVXE2ls0Xcc95YnYJVJ7HKz4RjJy0EFUX6kHFN4Fdd son1BQqi7c/YcvUDh2iXqAhx3Y41SEJ7Ky+MQhHlb5YOgdfkAUK/hs/VuNekV6+RN20wHNouEj9f yU4CX/ZxxWndpXhqPMco1puPweGmsnW2bp40x5jrTi824jQiqpkasVUagq8WTS+6ST6XYqKiIdqZ QFU3QCdweCYfwZGZIC58tHKmHkHKf6pwps1bHMvH95POlXcm1aKn6zJmRAe4E13TSXRIYegGOzVA P2CPAW8+A+WH8PzqPXNxOcTubQ7FBuZnXpXD+6lXyl8vORBsrSMvTa+KYWMaSBCmIg7UGW9bHqEK YSKRwrpl/gcAxjk9Qe2vJj313nwbgDFWQOaNovEWepU7NWQdQ4hpY7VjLJMQL51T26desLiPYyFv iY9y6YXWsw0i8SaeoYLKSiazZBkqDC+bBjLmHc/ZphXUHBGnGbNMNTKrk2MyrmXYndiGrmNJ+Vlo uGcwEIyp2GoeVkZp4hHtpORXKmYUTScgdqkueHatVHi4WftNNU8Z6P6v4W1TxAk7CgYVpbOqRT2S 8XzafkDuFJazWyb9OBU/XS8o4eSbzxlKkDh2oVIhEgIUA5PzNtIKjzE9Ic9an2krFu+yHUXDnHth ep9wU7K1bN89xxaiKFAVCEbSiKBHnj6GXjlnjQR7HBymCjr8NhzYkuW9W9/dHNynK9Qj8AVfMew1 BrNkfpMJGLynhxkpFZnwZFlciIGkJlRm1cxbNEe0z9nKHIVRV6HAWe/h09drzStMbVuZnVAT7Mcz DK9l3Eys/cpqFeNqzdn67nElZIKwAcrNGKXPLtEB6+l+eqtw/Z2gFgPgF1be6dSmU5c2TsYCwLdD tEG1lrb1crFta02KfhYyDB+p/DQfppAVEwLdqDlIifcokol3K1x5ePiembV2XJH1naTDy7pnCQea qIK6pzOka+zsRYx2oA9DLiMOCzJbr/1he4Tew93HTulvsn7vl+yeItnszTLZ5IVDJ9qkVOjdObvP zNkyZpnH6g+a2oySSSfsAmBL3EA/YYenGeVKQatJueqGsyGAK3IvJp40mMhWsrb9QSDIDDHxbBoJ jsq9EKKgU50kzHOosuYpBcLD17CJppAHPkvzlSsacq5imO289imGyGgVEknj2bRScHMZNI7mvWZZ OMeNimN7nMRz6RYhA6j0Kr0D3HjWGfdr7vL9Fuat42/tSzlR68uj54aLfjbrGUxRMiMPWzle+Bbp +HLr0zboP3BUf6cXyW41/hisbk9fO8TJzuF8pQ0KwdSsvKUSzMY2NYpCs8fPXMUok3atkQ/cc5hA pQ/Ijxx18Wj91Z6Kz0xwxlym5+rM/bca3GtwbaBtSDiWmIg7Riis6iPE2SVXMYehlDfSUPyPHRlt Wa9sVidm/XRs4eU62NGiCjl26rU62atkS96zhwvFqpIIJF/JjmEClD8iPHPHbc9Ef604FzPXs2Yn l7Nie7REFGzpTzEhKwZ0Y9o0PBuWypnxziIAQROBB6gID3dB+/HVlvWaz5hOsTtvGwGid+qc9J2H D8WrcKS9dqyDSvxy5E7TVRUU8/y5q1WMT1jZI3/JVED+qTIBUzpGEgLHzTNEx5JrMOUObjulLxJ8 eulc5u2CiAxysT+l5lKTXaiXwmZOZxNkV6dMS/QbyOh7i+xzCHXjX9H/ABee/wCUktW9HLKnY4fI OaYxKEi4Fy3k6/Q1VUHcjJSTUwLMXtlK2E6SDdA4FVIz7zqqqlL6gE0yCkrjJljqGq1V7fiiWO3X MapuG9YdTOX1u9emmD81XK6X7KEjgifgqFMPoyCc0WBaY6euDGWmWrkHL158yIigzFv6MWyjkXCo NudQ0jlESM7mXluYp5Xu7uh22mH5SA1ssGB8pK5ewvMweFLlSYxieuoOoHKSahkUH76OcoKNmy6b SSbyKDhRqByNkXigV5cMaSc0j4ZvfS55mwVgDJW+GgmTETVa8mw5DPLLb57F6cqMnWHdwqVdQcvI K4VlRQwoSBmClfkE1nzVJ62SlFgjwffmHnVbB7cYZseIuV5y5t8Z/ZTKFbe1GKyJsPhL+wHCevzq yNxiHd2uORLVImj3MhEFWUdMY9ut4HDhAp1HB00xauA99y5OSHfeWrywNocL4cyjW0uYXtBim5nt GwKHr2tdq2TXFKfxGNKvVpZRL1yUNXHL1wolKnQB4tJPH0yLRMvpY9qFQrlsbifEH8ufB1+xfqBq TLbDa8RWcsoIPLPF662vYihr5Sg5JKo5Ge0nLWFnSRZtkZ3GlJ61GRk45RVFT0a4dFSgE+2PxMvx BVPVP/aByva29RRMJnJX+pO3dTVTSKr2nDzmnTlJ0/b3GIYAH7gPAWCOSh8QRU+aZer3rdlzCEnr LtrjmsL3N3RVpN9LVW8VRg/QjpuQrak21ZSUe/jlHbIzyIfoqn9M5I7avXRE3ZWoWPOA+e7ztOTx Qti/iF9P8e4ukGLZPfKKY5c2bpkMRVKTo1axHICyyllFYE+1JsjZ4KMVSYn7gM4szORUV6qPCd4f QNgoSIrMJD1uvxzSHga/Fx8JCRDBEjZhFREU0IwjY1k3T6FIigimRJMgexSFAA9g4D2vAHAY4DPA chzxkCYxViS65Dgo+NlJKqRreTTYSyjhJi4QCSRbvgXVaiBy9qB1DlMA+xih1AQ6hx7WOVnkzqCS M9ba37PsbF12bZQVZrUe+TkfkUCs7dGlpVIgpM3Mi7dj3Kgl3GFFummQveIHN5DlJ2ddcVaSlNpk wnQPB0xQKnOZHt0W4ibFfis2sNHP0Dt5GOp7ATOG6rtsp0Okd+uYVxSOAHBFJsJwAwiUI5b8pbrG jDOItscBngDgMcBngDgMcAcBngDgKv8A8WJtPtLrTy1kozW+NtERBZyyElijO+Xqqk9F7jjF0pBu F3EIaRYB3xhbS5KnDKSZzETBqZ1GFOV1KNTAGx8o/no8n6y6d66YUgM9Yy1NsuJsT0bHMrhTNsq1 xf8AIpqt19vHy60JcrCDaDm0Xzwq7sr5s/O9dnWO4kGzZ4qqkANIyJzdeV3iuvuLNdd/tTWUY3QM 48cPm+iW6adkKQVO2MrNPeP5J4oIAIgk0aLKm+xSDwCzdNRiuYHzIrHzpYfGMvhfUDDWqs9r3rtk DIFRXpORdqjy0+par7sO/gXKZH6FOiY0h4itjIpi6kQWVeJ+DwqskA4xTvjEOUjYrRdIKwI7L0GF rh5L9NXSfxGylITIKLApvTmgo+pS8jKM1Hgl/upJdhHlADk9Wo0N3kIHROSBU8k7tbL7bc8jO1Cm 8fpbQs4jBej9DtzdIlgpWoFCcprBYzFKBik/U79szcmVRP4nDppKPWh14yTZrKBZq4A4A4A4A4Dw 37BjJs3LCSZtZBg7SMi6ZPm6Ttm5RMH1JOGzgDEOUfyUxRAeA1CMxhjWEekkobHlHiZEinkI/jan AsXhFA9wOR02QKcB/wAQHrx7uTUN6D/9H/348GeAOAOAOAOAOAOAOAOAOAOA9JZK1XLlAS9Vt9fh LVV7AwcxU9W7JFMZyAm4t4n4ncbLw8mRVu5QVKIlURWTOmcoiBiiHAUqOdbyaOWTitzWrhjDUyl4 5mbK9OrLkollyRUoJYyzkveDWpwE03impfqHoRqyRIUPYpQAA4CVHJW5NXLEe40i81T+nuNLrkiI lmzuNmsju7jkxgzdIJkXQcpVXIEnJRHeQ/1kOLATEMAGKICAdAteFYMU2IRZGbQkYRn6AkcVuiVg RiVAG5WRWgB4wSBP6AT7ezs+np09uAp44a5MnLCfc5jOVNf6g48kKNUYFvkCu4/kZa9v8eRtneM2 cqusWgPJY8Moz86qgkilmSkUkQ3hSZERAqYBcPj2DGJZMoqLZNI2MjWjePjo1g3RZsI9gyQK3Zsm TNuBU0kkkylImmQpSEIAFKAAABwHm8AcB//Z "/> <h1 id="a"></h1> <hr> <p>&copy; 2016 <a href="http://www.synology.com">Synology Inc.</a></p> </body> <script type ="text/javascript"> /* Copyright (c) 2016 Synology Inc. All rights reserved. */ (function(){var a={en:"Sorry, the page you are looking for is not found.",zh:"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9875\u9762\u4e0d\u5b58\u5728\u3002",it:"La pagina richiesta non \u00e8 stata trovata.","zh-HK":"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002",cs:"Hledan\u00e1 str\u00e1nka nebyla nalezena.",es:"Lo sentimos, no se encuentra la p\u00e1gina que est\u00e1 buscando.",ru:"\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u0438\u0441\u043a\u043e\u043c\u0430\u044f \u0432\u0430\u043c\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430.",nl:"Sorry, de pagina die u zoekt kan niet weergegeven worden.",pt:"Desculpe, a p\u00e1gina que procura n\u00e3o foi encontrada.",no:"Beklager, siden du leter etter finnes ikke.",nb:"Beklager, siden du leter etter finnes ikke.",tr:"\u00dczg\u00fcn\u00fcz, arad\u0131\u011f\u0131n\u0131z sayfa bulunamad\u0131.",pl:"Przepraszamy, nie znaleziono strony, kt\u00f3rej szukasz.",fr:"D\u00e9sol\u00e9, la page que vous recherchez est introuvable.",de:"Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden.",da:"Desv\u00e6rre, den side, du leder efter, kunne ikke findes.","pt-BR":"Desculpe, a p\u00e1gina que procura n\u00e3o foi encontrada.","zh-MO":"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002",hu:"Eln\u00e9z\u00e9st, a keresett oldal nem tal\u00e1lhat\u00f3.",ja:"\u7533\u3057\u8a33\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u635c\u3057\u3066\u3044\u308b\u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",nn:"Beklager, siden du leter etter finnes ikke.","zh-TW":"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002",ko:"\uc8c4\uc1a1\ud569\ub2c8\ub2e4. \ucc3e\uace0\uc790 \ud558\ub294 \ud398\uc774\uc9c0\ub97c \ubc1c\uacac\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.",sv:"Sidan du s\u00f6ker hittades inte."};var b=window.navigator.browserLanguage||window.navigator.language;if(-1==["zh-TW","zh-MO","zh-HK","pt-BR"].indexOf(b)){b=b.split("-",1)}document.getElementById("a").innerHTML=a[b]||a.en})(); </script> </html> 2016.06.25 00:37:17 4 : Surveillance - --- Begin Function logout nonblocking ---
2016.06.25 00:37:17 4 : Surveillance - Credentials read from RAM: Admin *****
2016.06.25 00:37:17 4 : Surveillance - URL-Call: http://192.168.178.200:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&session=SurveillanceStation&_sid=UBgT46vgIS9VQCAL1N11272
2016.06.25 00:37:17 4 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ) };
2016.06.25 00:37:17 4 : Surveillance - Session of User Admin has ended - SID: UBgT46vgIS9VQCAL1N11272 has been deleted
2016.06.25 00:37:17 4 : Surveillance - --- End Function logout nonblocking ---

bevor du dir die mühe machst und den stream dekodierst: es ist quasi die 404-seite von synology mit eingebettetem logo. :-)
Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden.

© 2016 Synology Inc.
[/quote]
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 25 Juni 2016, 08:57:36
Hallo Rumbel,

also grundsätzlich rührt das Problem daher dass nach dem Befehlsaufruf zum Move

2016.06.25 00:37:17 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.PTZ"&version="5"&method="Move"&cameraId="4"&direction="left"&speed="3"&moveType="Start"&_sid="UBgT46vgIS9VQCAL1N11272"
als Antwort statt eines JSON-Strings eine Seite der Synology zurückkommt (SSCam Surveillance Error: malformed JSON string received). Wenn man in diesen HTTP-Auswurf reinschaut findet man dass sie aufgerufene Seite nicht gefunden wurde (hattest du ja noch nachgepostet):

"/>........... <h1 id="a"></h1> <hr> <p>&copy; 2016 <a href="http://www.synology.com">Synology Inc.</a></p> </body> <script type ="text/javascript"> /* Copyright (c) 2016 Synology Inc. All rights reserved. */ (function(){var a={en:"Sorry, the page you are looking for is not found.",.............
Das Problem ist identifiziert, nur die Ursache müssen wir nun suchen.
Dazu noch ein paar Fragen.

- du hast die SVS Version 7.2-4649, d.h. du hast nach DSM 6 bzw. 7.2 upgegradet.
  Hast du diesen Fehler jetzt nach dem Upgrade festgestellt ? (Ich bin noch auf 5.2 bzw. SVS 7.1 und kann den Fehler bei mir nicht nachstellen)

- ist das LIST und die Logausgabe von der gleichen Kamera ?
  Ich habe im LIST gesehen dass deine Kamera "Surveillance" in der SVS "Cam1" heißen soll und die ID 3 hat. Im Log wird aber eine Kamera
  "CamWohnzimmer" mit ID: 4 gefunden.
  Da passt etwas nicht zusammen.
 
  Um das näher zu betrachten wäre noch ein verbose 5 Log hilfreich. Das kommen aber sehr viele Daten. Interessant ist in dem Fall nur der Abschnitt
  zwischen den Markierungen "Surveillance - --- Begin Function getcamid nonblocking ---" und "Surveillance - --- End Function getcamid nonblocking ---"

- du solltest die neueste Version von FHEM und SSCam (aktuell: 49_SSCam.pm               11388 2016-05-05 07:43:03Z nasseeder1) im Einsatz haben

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 28 Juni 2016, 15:47:13
Das Problem ist identifiziert, nur die Ursache müssen wir nun suchen.
Dazu noch ein paar Fragen.

- du hast die SVS Version 7.2-4649, d.h. du hast nach DSM 6 bzw. 7.2 upgegradet.
  Hast du diesen Fehler jetzt nach dem Upgrade festgestellt ? (Ich bin noch auf 5.2 bzw. SVS 7.1 und kann den Fehler bei mir nicht nachstellen)

kann ich nicht sicher sagen.
entweder fiel es mir nach dem update nicht auf (die kamera bewegt sich nur, wenn die alarmanlage scharf ist und niemand zuhause ist) oder es kam erst mit dem update.

ich würde auf grund der unbekannten Fehlermeldung und des JSON-Fehlers auf die SVS Version tippen.

- ist das LIST und die Logausgabe von der gleichen Kamera ?
Jein.
Es ist die selbe Kamera, aber ich hatte im SVS eine zweite Kamera angelegt um zu testen ob es an der Konfiguration des SVS liegt. Ist aber eigentlich die gleiche, nur neu konfiguriert.

 
  Um das näher zu betrachten wäre noch ein verbose 5 Log hilfreich. Das kommen aber sehr viele Daten. Interessant ist in dem Fall nur der Abschnitt
  zwischen den Markierungen "Surveillance - --- Begin Function getcamid nonblocking ---" und "Surveillance - --- End Function getcamid nonblocking ---"

hier mit fehler "Error: malformed JSON string received" (die große eingebettete bitmap ist entfernt)
2016.06.28 15:48:26 4 : Surveillance - Start move Camera Cam1 to direction "up" with duration of 5 s
2016.06.28 15:48:26 4 : Surveillance - --- Begin Function getapisites nonblocking ---
2016.06.28 15:48:26 5 : Surveillance - HTTP-Call will be done with httptimeout-Value: 4 s
2016.06.28 15:48:26 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016-06-28 15:48:26 SSCam Surveillance move up 5
2016.06.28 15:48:26 4 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), 'data' => { 'SYNO.SurveillanceStation.ExternalEvent' => { 'requestFormat' => 'JSON', 'path' => 'entry.cgi', 'minVersion' => 1, 'maxVersion' => 1 }, 'SYNO.SurveillanceStation.Info' => { 'maxVersion' => 6, 'minVersion' => 1, 'path' => 'entry.cgi', 'requestFormat' => 'JSON' }, 'SYNO.SurveillanceStation.SnapShot' => { 'maxVersion' => 1, 'path' => 'entry.cgi', 'minVersion' => 1, 'requestFormat' => 'JSON' }, 'SYNO.SurveillanceStation.ExternalRecording' => { 'minVersion' => 1, 'path' => 'entry.cgi', 'requestFormat' => 'JSON', 'maxVersion' => 3 }, 'SYNO.SurveillanceStation.VideoStreaming' => { 'maxVersion' => 1, 'path' => 'entry.cgi', 'minVersion'
=> 1,                                                                      'requestFormat' => 'JSON'                                                                    },                       'SYNO.SurveillanceStation.Event' => {                                                             'maxVersion' => 5,                                                             'requestFormat' => 'JSON',                                                             'path' => 'entry.cgi',                                                             'minVersion' => 1                                                           },                       'SYNO.SurveillanceStation.PTZ' => {                                                           'path' => 'entry.cgi',                                                           'minVersion' => 1,                                                           'requestFormat' => 'JSON',                                                           'maxVersion' => 5                                                         },                       'SYNO.SurveillanceStation.Camera' => {                                                              'maxVersion' => 8,                                                              'path' => 'entry.cgi',                                                              'minVersion' => 1,                                                              'requestFormat' => 'JSON'                                                            },                       'SYNO.SurveillanceStation.Streaming' => {                                                                 'minVersion' => 1,                                                                 'path' => 'SurveillanceStation/streaming.cgi',                                                                 'maxVersion' => 2                                                               },                       'SYNO.SurveillanceStation.Camera.Event' => {                                                                    'requestFormat' => 'JSON',                                                                    'path' => 'entry.cgi',                                                                    'minVersion' => 1,                                                                    'maxVersion' => 1                                                                  },                       'SYNO.API.Auth' => {                                            'path' => 'auth.cgi',                                            'minVersion' => 1,                                            'maxVersion' => 6                                          }                     }         }; 2016.06.28 15:48:26 4 : Surveillance - Path of SYNO.API.Auth selected: auth.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.API.Auth selected: 62016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 32016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Camera: 82016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.SnapShot: 12016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.PTZ: 52016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.Info selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Info: 62016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 12016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.Event selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Event: 52016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 12016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.ExternalEvent selected: entry.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.ExternalEvent selected: 12016.06.28 15:48:26 4 : Surveillance - Path of SYNO.SurveillanceStation.Streaming selected: SurveillanceStation/streaming.cgi2016.06.28 15:48:26 4 : Surveillance - MaxVersion of SYNO.SurveillanceStation.Streaming selected: 22016-06-28 15:48:26 SSCam Surveillance Errorcode: none
2016-06-28 15:48:26 SSCam Surveillance Error: none
2016.06.28 15:48:26 4 : Surveillance - --- End Function getapisites nonblocking ---2016.06.28 15:48:26 4 : Surveillance - --- Begin Function serverlogin nonblocking ---2016.06.28 15:48:26 4 : Surveillance - Credentials read from RAM: Admin ***********2016.06.28 15:48:26 5 : Surveillance - HTTP-Call will be done with httptimeout-Value: 4 s2016.06.28 15:48:26 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&amp;account=Admin&passwd=***********&session=SurveillanceStation&format="sid"2016.06.28 15:48:26 4 : Surveillance - Credentials read from RAM: Admin ***********2016.06.28 15:48:26 4 : Surveillance - JSON returned: $VAR1 = {           'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),           'data' => {                       'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ),                       'sid' => 'htXZe1rJ39XzcCAL1N11272'                     }         }; 2016-06-28 15:48:26 SSCam Surveillance Errorcode: none
2016-06-28 15:48:26 SSCam Surveillance Error: none
2016.06.28 15:48:26 4 : Surveillance - Login of User Admin successful - SID: htXZe1rJ39XzcCAL1N112722016.06.28 15:48:26 4 : Surveillance - --- End Function serverlogin nonblocking ---2016.06.28 15:48:26 4 : Surveillance - --- Begin Function getcamid nonblocking ---2016.06.28 15:48:26 5 : Surveillance - HTTP-Call will be done with httptimeout-Value: 4 s2016.06.28 15:48:26 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="htXZe1rJ39XzcCAL1N11272"
2016.06.28 15:48:27 5 : Surveillance - JSON returned: $VAR1 = { 'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), 'data' => { 'keyTotalCnt' => 2, 'delcam' => [], 'existCamMntTypeMap' => undef, 'cameras' => [ { 'audioOut' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ), 'rotation_by_date' => 30, 'rotation_by_space' => '100', 'model' => 'FI9826W', 'camStatus' => 1, 'resolution' => '1280x960', 'camFov' => '', 'videoCapList' => [ { 'vt' => 'H.264', 'stList' => [ 'RTSP' ] } ], 'camIdOnRecServer' => 0, 'audioCap' => $VAR1->{'success'}, 'extDIDev' => 0, 'blLiveviewPriv' => $VAR1->{'success'}, 'camRecVolume' => '/volume1', 'port' => 88, 'camRecShare' => 'surveillance', 'blAudioPriv' => $VAR1->{'success'}, 'forceMjpeg' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'}, 'recStatus' => 0, 'camPath' => 'cnRzcDovL3Jvb3Q6WlpuZWVuYXYxMjNAMTkyLjE2OC4xNzguMTk6ODgvdmlkZW9NYWlu', 'audioType' => 2, 'stm_info' => [ { 'quality' => '4', 'type' => 0, 'resolution' => '1280x960', 'fps' => 30 }, { 'quality' => '4', 'type' => 1, 'fps' => 30, 'resolution' => '1280x960' }, { 'type' => 2,
                  'fps' => 30,                                                          'resolution' => '1280x960',                                                          'quality' => '4'                                                        }                                                      ],                                        'camRecStorageStatus' => 0,                                        'blDisableRec' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'update_time' => 1452739628,                                        'tvStandard' => 0,                                        'blPtzShowIcon' => $VAR1->{'success'},                                        'camVideoType' => 'H.264',                                        'vendor' => 'FOSCAM',                                        'id' => 3,                                        'is_rotated_by_date' => $VAR1->{'success'},                                        'stmFisheyeType' => 0,                                        'deleted' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'ptzCap' => 15,                                        'dsPort' => 5000,                                        'privilege' => 15,                                        'snapshot_path' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId=3&timestamp=1467121707&preview=true&camStm=1',                                        'volume_space' => '0',                                        'status_flags' => 0,                                        'DINum' => 0,                                        'folder' => '/volume1/surveillance/Cam1',                                        'camMobileLiveMode' => 0,                                        'recCbrBitrate' => 4096,                                        'camRecSharePath' => '/volume1/surveillance',                                        'presetNum' => 16,                                        'type' => 3,                                        'blEnableExtDI' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'deviceType' => 4,                                        'name' => 'Cam1',                                        'DONum' => 0,                                        'is_rotated_by_space' => $VAR1->{'success'},                                        'singleStream' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'ownerDsId' => 0,                                        'blReceivePocZero' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'camRecShareMountType' => 0,                                        'camLiveMode' => 0,                                        'camRotOption' => 0,                                        'enabled' => $VAR1->{'success'},                                        'isStatusUnrecognized' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'hasCamParam' => $VAR1->{'success'},                                        'host' => '192.168.178.19',                                        'camMountType' => 0,                                        'status' => 0,                                        'blAudioDisableRec' => $VAR1->{'data'}{'cameras'}[0]{'audioOut'},                                        'recBitrateCtrl' => 1,                                        'fps' => 30,                                        'rotation_option' => 0,                                        'uiStmNoList' => '1,1,1',                                        'dsIp' => '',                                        'quality' => '4',                                        'channel_id' => '1',                                        'extDIPorts' => 0                                      }                                    ],                       'timestamp' => '1467121707',                       'keyUsedCnt' => 1,                       'total' => 1                     }         }; 2016.06.28 15:48:27 4 : Surveillance - Detection Camid successful - Cam1 ID: 32016.06.28 15:48:27 4 : Surveillance - --- End Function getcamid nonblocking ---2016.06.28 15:48:27 4 : Surveillance - --- Begin Function cam: movestart nonblocking ---2016.06.28 15:48:27 5 : Surveillance - HTTP-Call will be done with httptimeout-Value: 4 s2016.06.28 15:48:27 4 : Surveillance - Call-Out now: http://192.168.178.200:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.PTZ"&version="5"&method="Move"&cameraId="3"&direction="up"&speed="3"&moveType="Start"&_sid="htXZe1rJ39XzcCAL1N11272"2016-06-28 15:48:27 SSCam Surveillance Errorcode: none
2016-06-28 15:48:27 SSCam Surveillance Error: malformed JSON string received
2016.06.28 15:48:27 4 : Surveillance - Data returned: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style>body{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-align:center}h1{color:#06C;font-size:25px;line-height:60px;margin-top:56px}img{margin-top:40px} </style> </head> <body> <img src="data:image/jpg; "/> <h1 id="a"></h1> <hr> <p>&copy; 2016 <a href="http://www.synology.com">Synology Inc.</a></p> </body> <script type ="text/javascript"> /* Copyright (c) 2016 Synology Inc. All rights reserved. */ (function(){var a={en:"Sorry, the page you are looking for is not found.",zh:"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9875\u9762\u4e0d\u5b58\u5728\u3002",it:"La pagina richiesta non \u00e8 stata trovata.","zh-HK":"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002",cs:"Hledan\u00e1 str\u00e1nka nebyla nalezena.",es:"Lo sentimos, no se encuentra la p\u00e1gina que est\u00e1 buscando.",ru:"\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u0438\u0441\u043a\u043e\u043c\u0430\u044f \u0432\u0430\u043c\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430.",nl:"Sorry, de pagina die u zoekt kan niet weergegeven worden.",pt:"Desculpe, a p\u00e1gina que procura n\u00e3o foi encontrada.",no:"Beklager, siden du leter etter finnes ikke.",nb:"Beklager, siden du leter etter finnes ikke.",tr:"\u00dczg\u00fcn\u00fcz, arad\u0131\u011f\u0131n\u0131z sayfa bulunamad\u0131.",pl:"Przepraszamy, nie znaleziono strony, kt\u00f3rej szukasz.",fr:"D\u00e9sol\u00e9, la page que vous recherchez est introuvable.",de:"Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden.",da:"Desv\u00e6rre, den side, du leder efter, kunne ikke findes.","pt-BR":"Desculpe, a p\u00e1gina que procura n\u00e3o foi encontrada.","zh-MO":"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002",hu:"Eln\u00e9z\u00e9st, a keresett oldal nem tal\u00e1lhat\u00f3.",ja:"\u7533\u3057\u8a33\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u635c\u3057\u3066\u3044\u308b\u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",nn:"Beklager, siden du leter etter finnes ikke.","zh-TW":"\u62b1\u6b49\uff0c\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002",ko:"\uc8c4\uc1a1\ud569\ub2c8\ub2e4. \ucc3e\uace0\uc790 \ud558\ub294 \ud398\uc774\uc9c0\ub97c \ubc1c\uacac\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.",sv:"Sidan du s\u00f6ker hittades inte."};var b=window.navigator.browserLanguage||window.navigator.language;if(-1==["zh-TW","zh-MO","zh-HK","pt-BR"].indexOf(b)){b=b.split("-",1)}document.getElementById("a").innerHTML=a[b]||a.en})(); </script> </html> 2016.06.28 15:48:27 4 : Surveillance - --- Begin Function logout nonblocking ---2016.06.28 15:48:27 5 : Surveillance - HTTP-Call will be done with httptimeout-Value: 4 s2016.06.28 15:48:27 4 : Surveillance - Credentials read from RAM: Admin ***********2016.06.28 15:48:27 4 : Surveillance - URL-Call: http://192.168.178.200:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&session=SurveillanceStation&_sid=htXZe1rJ39XzcCAL1N112722016.06.28 15:48:27 4 : Surveillance - JSON returned: $VAR1 = {           'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )         }; 2016.06.28 15:48:27 4 : Surveillance - Session of User Admin has ended - SID: htXZe1rJ39XzcCAL1N11272 has been deleted2016.06.28 15:48:27 4 : Surveillance - --- End Function logout nonblocking ---

das verbose 5-log mit dem Error Code 121 liefere ich nach. Dafür muss ich zuhause meiner Camera wieder Presets beibringen. :-)

- du solltest die neueste Version von FHEM und SSCam (aktuell: 49_SSCam.pm               11388 2016-05-05 07:43:03Z nasseeder1) im Einsatz haben
hatte frisch "update" gemacht, als ich den fehler zum ersten mal hatte.
Mein erster Verdacht war, dass ich vielleicht eine veraltete Version des Moduls hatte.


Danke für's helfen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Juni 2016, 10:11:55
Hallo Rumbel,

danke für die Info.  Das Modul arbeitet wie erwartet.

Ich vermute zunächst ein Problem mit der API-Implementierung von 'SYNO.SurveillanceStation.PTZ' mit der Version 5. Die bisherige Version war die 4.
Ich baue dir noch einen Patch für das SSCam-Modul um die Version künstlich zu reduzieren.
Damit bitte ich dich dann zu testen.

Wenn das dann nicht hilft werde ich wohl mal meinen Kontakt bei Synology antriggern. Eventuell brauche ich dann von dir weitere Informationen weil ich momentan noch nicht auf 7.2 bin.

Melde mich wieder ...

@Mitstreiter ... gibt es noch weitere Nutzer die auf die Version 7.2 gegangen sind und die Bewegungungsfunktionen von PTZ-Kameras nutzen ?
                       Wenn ja, bitte Info posten ob das bei euch klappt.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 29 Juni 2016, 10:27:28
Hallo Rumbel,

danke für die Info.  Das Modul arbeitet wie erwartet.

jopp, davon gehe ich auch aus.
aber hat sich an der API schnittstelle was geändert oder ist es nur ein SVS-Bug?

Wenn ich etwas testen soll, dann meld dich einfach. evtl. kann es aber einige Tage dauern, da ich ab heute bis Sonntag kaum Zeit haben werde.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Juni 2016, 11:32:03
Laut der aktuelle Doku hätte sich an dem Aufruf nichts geändert. Aber es wurde die Version von 4 auf 5 erhöht.
Also gab es eine Änderung und ich hatte in der Vergangenheit schon ein paar Erfahrungen damit gesammelt dass die Syno-Entwicklerkollegen diese Änderungen nicht dokumentiert hatten.

Naja, wir werden sehen.

Ich melde mich, dauert aber auch ein bisschen.  ;)

Schön wäre es wenn sich noch ein paar 7.2-User melden würden.

Bis denne
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 29 Juni 2016, 11:39:55
Hallo Heiko,

ich habe gerade mit der neuen Version von der Surveillance auch Probleme entdeckt. Die Kameraaufnahme lässt sich nicht mehr über FHEM starten und stoppen. Es ist seit dem Update auf 7.2.
Die Antwort: Error: Parameter invalid   Errorcode:401

Kannst Du helfen?

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 29 Juni 2016, 11:45:03
Hallo Heiko, habe gerade noch andere Dinge, wie z.B. den Livestream oder Snap ausprobiert. Diese funktionieren noch einwandfrei!!!

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Juni 2016, 13:10:58
Hi Matthias,

Ich versuche auch dafùr gleich noch einen Workaround. Da hat Syno anscheinend doch einiges geändert  :(
Mach mir mal bitte auch einen verbose 4 Log von der Aufnahmefunktion.

Grüsse
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 29 Juni 2016, 13:46:04
2016.06.29 13:40:41 5: Cmd: >set Cam_Haustuer Start<
2016.06.29 13:40:41 4: Cam_Haustuer - Recording of Camera Haustuer will be started now
2016.06.29 13:40:41 4: Cam_Haustuer - --- Begin Function getapisites nonblocking ---
2016.06.29 13:40:41 5: Cam_Haustuer - HTTP-Call will be done with httptimeout-Value: 4 s
2016.06.29 13:40:41 4: Cam_Haustuer - Call-Out now: http://192.168.0.21:22548/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016.06.29 13:40:41 4: HttpUtils url=http://192.168.0.21:22548/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016.06.29 13:40:41 5: Triggering Cam_Haustuer (1 changes)
2016.06.29 13:40:41 5: Starting notify loop for Cam_Haustuer, first event Start
2016.06.29 13:40:41 4: WEB_192.168.0.2_54073 GET /fhem?detail=Cam_Haustuer&fw_id=; BUFLEN:0
2016.06.29 13:40:41 4: name: /fhem?detail=Cam_Haustuer&fw_id= / RL:5107 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
2016.06.29 13:40:41 4: WEB_192.168.0.2_54073 GET /fhem?cmd={ReadingsVal(%22Cam_Haustuer%22,%22Disable%22,%22%22)}&XHR=1; BUFLEN:0
2016.06.29 13:40:41 5: Cmd: >{ReadingsVal("Cam_Haustuer","Disable","")}<
2016.06.29 13:40:41 4: name: /fhem?cmd={ReadingsVal(%22Cam_Haustuer%22,%22Disable%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
 /
2016.06.29 13:40:41 4: Connection accepted from WEB_192.168.0.2_54074
2016.06.29 13:40:41 4: http://192.168.0.21:22548/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming: HTTP response code 200
2016.06.29 13:40:41 4: HttpUtils http://192.168.0.21:22548/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming: Got data, length: 1204
2016.06.29 13:40:41 4: Cam_Haustuer - JSON returned:
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Juni 2016, 13:59:01
Hi Matthias,

Die richtige Stelle ist noch nicht dabei.
Ich mindestens den Teil ab

--- Begin Function cam: Start nonblocking ---

Bis zu der Endemeldung von Cam: Start



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 29 Juni 2016, 14:14:47
Hilft das mehr?

Cam_Haustuer - --- End Function getcamid nonblocking ---
2016.06.29 13:40:42 4: Cam_Haustuer - --- Begin Function cam: Start nonblocking ---
2016.06.29 13:40:42 5: Cam_Haustuer - HTTP-Call will be done with httptimeout-Value: 4 s
2016.06.29 13:40:42 4: Cam_Haustuer - Call-Out now: http://192.168.0.21:22548/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=3&cameraId=5&action=start&_sid="6eIwXftNQYM0U1620NJN506401"
2016.06.29 13:40:42 4: HttpUtils url=http://192.168.0.21:22548/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=3&cameraId=5&action=start&_sid="6eIwXftNQYM0U1620NJN506401"
2016.06.29 13:40:42 4: http://192.168.0.21:22548/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=3&cameraId=5&action=start&_sid="6eIwXftNQYM0U1620NJN506401": HTTP response code 200
2016.06.29 13:40:42 4: HttpUtils http://192.168.0.21:22548/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=3&cameraId=5&action=start&_sid="6eIwXftNQYM0U1620NJN506401": Got data, length: 73
2016.06.29 13:40:42 5: Triggering Cam_Haustuer (2 changes)
2016.06.29 13:40:42 5: Starting notify loop for Cam_Haustuer, first event Errorcode: 401
2016.06.29 13:40:42 1: Cam_Haustuer - ERROR - Operation Start of Camera Haustuer was not successful. Errorcode: 401 - Parameter invalid
2016.06.29 13:40:42 4: Cam_Haustuer - --- End Function cam: Start nonblocking with error ---
2016.06.29 13:40:42 4: Cam_Haustuer - --- Begin Function logout nonblocking ---

LG
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Juni 2016, 15:13:20
Ja, genau das  :)

Brauchst aber nur das Modul auf verbose 4 setzen und nicht das ganze FHEM ...

Ich schau mal ob ich das gleich mit erledigen kann.

Lg
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 29 Juni 2016, 23:56:39
Hallo Matthias und Rumbel,

ich habe euch eine gefixte Modulversion gebaut.
Bitte spielt die bei euch ein und testet das Ergebnis nach einem FHEM Restart.

Wenn es nicht geholfen hat brauche ich wieder ein verbose 4 log mit den relevanten Stellen.
Habe bei der Gelegenheit auch gleich geändert dass das Passwort im Log nicht mehr angezeigt wird. Anzeige kann mit dem Attr "showPassInLog" wieder eingeschaltet werden.
So oder so werde ich Synology informieren. 
Schreibt mir bitte dazu noch eure komplette DSM-Version, SVS-Version und den DS-Typ.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 30 Juni 2016, 17:47:41
Hallo Heiko,

habe gerade Deine Version ausprobiert. Die ersten Versuche funktionieren alle.

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Juni 2016, 18:17:54
Hi Matthias,

das sind gute Neuigkeiten !
Kannst du mir bitte deine komplette DSM Version, SVS Version und DS Typ posten ?
Synology muß da nachbessern bzw. den der API-Version entsprechenden korrekten Aufrufstring mitteilen. In der Doku hat man es nicht nachgezogen.

Ich werde die Version mit dem Workaround auch einchecken. Warte aber noch bis Rumbel oder sich vllt. auch noch weitere Nutzer melden.

LG zurück
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 30 Juni 2016, 19:02:41
Hallo Heiko,

DSM Version ist die DSM 6.0.1-7393 Update 1. SVS Version ist die 7.2.2-4649
Gerät ist die DS716+.

Danke Dir nochmals.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: pd33 am 30 Juni 2016, 22:50:50
Hallo Heiko,

ich bin zufälligerweise auf das gleiche Problem gestoßen und habe die neue Version erfolgreich ausprobiert. Bei mir sind ebenfalls die aktuellen Versionen im Einsatz - DSM 6.0.1-7393 Update 1 - SVS 7.2.2-4649 - RS815+

Im FHEM Log bekomme ich folgende Ausgabe, allerdings funktioniert es trotzdem:

- ERROR - Operation Snap of Camera cam01 was not successful. Errorcode: 400 - Execution failed
- ERROR - Operation gopreset of Camera cam01 was not successful. Errorcode: 401 - Parameter invalid


Vielen Dank für den schnellen Support!!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 30 Juni 2016, 23:18:33
Hallo Pd33,

danke fürs Feedback !
Auch wenn es (komischerweise   8) trotz der Fehlermeldung) funktioniert, möchte ich das auch gern noch analysieren wegen der Meldung an Synology.
Machst du mir bitte auch einen verbose 4 log von den Ausgaben der Funktion snap bzw. gopreset ?

Ich weiß, ist ein bisschen Aufwand, aber es hilft mir beim Fixing und für die fundierten Infos an Synology.
Hoffentlich liefert Syno nicht für die unterschiedlichen Modelle auch noch unterschiedliche API's aus, dann krieg ich einen Anfall  ;)

Danke und Grüße
Heiko


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: pd33 am 02 Juli 2016, 00:33:37
Hallo Heiko,

gern doch und ich hoffe es hilft weiter.

Hier der Aufruf für goPreset:
2016.07.02 00:10:42 4: cam01 - Move Camera foscam01 to position "strasse" with ID "0" now
2016.07.02 00:10:42 4: cam01 - --- Begin Function getapisites nonblocking ---
2016.07.02 00:10:42 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016.07.02 00:10:42 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                        'requestFormat' => 'JSON',
                                                                        'maxVersion' => 3,
                                                                        'path' => 'entry.cgi',
                                                                        'minVersion' => 1
                                                                      },
                      'SYNO.SurveillanceStation.PTZ' => {
                                                          'requestFormat' => 'JSON',
                                                          'maxVersion' => 5,
                                                          'path' => 'entry.cgi',
                                                          'minVersion' => 1
                                                        },
                      'SYNO.SurveillanceStation.Camera.Event' => {
                                                                   'requestFormat' => 'JSON',
                                                                   'maxVersion' => 1,
                                                                   'path' => 'entry.cgi',
                                                                   'minVersion' => 1
                                                                 },
                      'SYNO.SurveillanceStation.VideoStreaming' => {
                                                                     'requestFormat' => 'JSON',
                                                                     'maxVersion' => 1,
                                                                     'path' => 'entry.cgi',
                                                                     'minVersion' => 1
                                                                   },
                      'SYNO.SurveillanceStation.Streaming' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/streaming.cgi',
                                                                'minVersion' => 1
                                                              },
                      'SYNO.SurveillanceStation.SnapShot' => {
                                                               'requestFormat' => 'JSON',
                                                               'maxVersion' => 1,
                                                               'path' => 'entry.cgi',
                                                               'minVersion' => 1
                                                             },
                      'SYNO.API.Auth' => {
                                           'maxVersion' => 6,
                                           'path' => 'auth.cgi',
                                           'minVersion' => 1
                                         },
                      'SYNO.SurveillanceStation.ExternalEvent' => {
                                                                    'requestFormat' => 'JSON',
                                                                    'maxVersion' => 1,
                                                                    'path' => 'entry.cgi',
                                                                    'minVersion' => 1
                                                                  },
                      'SYNO.SurveillanceStation.Camera' => {
                                                             'requestFormat' => 'JSON',
                                                             'maxVersion' => 8,
                                                             'path' => 'entry.cgi',
                                                             'minVersion' => 1
                                                           },
                      'SYNO.SurveillanceStation.Info' => {
                                                           'requestFormat' => 'JSON',
                                                           'maxVersion' => 6,
                                                           'path' => 'entry.cgi',
                                                           'minVersion' => 1
                                                         },
                      'SYNO.SurveillanceStation.Event' => {
                                                            'requestFormat' => 'JSON',
                                                            'maxVersion' => 5,
                                                            'path' => 'entry.cgi',
                                                            'minVersion' => 1
                                                          }
                    }
        };

2016.07.02 00:10:42 4: cam01 - Path of SYNO.API.Auth selected: auth.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.API.Auth selected: 6
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 3
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Camera: 8
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.SnapShot: 1
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.PTZ: 5
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.Info selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Info: 6
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 1
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.Event selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Event: 5
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 1
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.ExternalEvent selected: entry.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.ExternalEvent selected: 1
2016.07.02 00:10:42 4: cam01 - Path of SYNO.SurveillanceStation.Streaming selected: SurveillanceStation/streaming.cgi
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Streaming selected: 2
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording adopted to: 2 due to SVSversion 7.2 !!
2016.07.02 00:10:42 4: cam01 - MaxVersion of SYNO.SurveillanceStation.PTZ adopted to: 4 due to SVSversion 7.2 !!
2016.07.02 00:10:42 4: cam01 - --- End Function getapisites nonblocking ---
2016.07.02 00:10:42 4: cam01 - --- Begin Function serverlogin nonblocking ---
2016.07.02 00:10:42 4: cam01 - Credentials read from RAM: fhem ********
2016.07.02 00:10:42 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&account=fhem&passwd=fh3m%6ora_fl0ra&session=SurveillanceStation&format="sid"
2016.07.02 00:10:43 4: cam01 - Credentials read from RAM: fhem ********
2016.07.02 00:10:43 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'sid' => 'pu5dfETsDSFsM15A0MRN816101',
                      'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' )
                    }
        };

2016.07.02 00:10:43 4: cam01 - Login of User fhem successful - SID: pu5dfETsDSFsM15A0MRN816101
2016.07.02 00:10:43 4: cam01 - --- End Function serverlogin nonblocking ---
2016.07.02 00:10:43 4: cam01 - --- Begin Function getcamid nonblocking ---
2016.07.02 00:10:43 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="pu5dfETsDSFsM15A0MRN816101"
2016.07.02 00:10:43 4: cam01 - Detection Camid successful - foscam01 ID: 13
2016.07.02 00:10:43 4: cam01 - --- End Function getcamid nonblocking ---
2016.07.02 00:10:43 4: cam01 - --- Begin Function cam: gopreset nonblocking ---
2016.07.02 00:10:43 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.PTZ"&version="4"&method="GoPreset"&position="0"&cameraId="13"&_sid="pu5dfETsDSFsM15A0MRN816101"
2016.07.02 00:10:43 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

2016.07.02 00:10:43 3: cam01 - Camera foscam01 has been moved to position "strasse"
2016.07.02 00:10:43 4: cam01 - --- End Function cam: gopreset nonblocking ---
2016.07.02 00:10:43 4: cam01 - --- Begin Function logout nonblocking ---
2016.07.02 00:10:43 4: cam01 - Credentials read from RAM: fhem ********
2016.07.02 00:10:43 4: cam01 - URL-Call: http://192.168.178.150:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&session=SurveillanceStation&_sid=pu5dfETsDSFsM15A0MRN816101
2016.07.02 00:10:43 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

2016.07.02 00:10:43 4: cam01 - Session of User fhem has ended - SID: pu5dfETsDSFsM15A0MRN816101 has been deleted
2016.07.02 00:10:43 4: cam01 - --- End Function logout nonblocking ---

Und hier für den Snapshot:
2016.07.02 00:12:03 4: cam01 - Take Snapshot of Camera foscam01
2016.07.02 00:12:03 4: cam01 - --- Begin Function getapisites nonblocking ---
2016.07.02 00:12:03 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016.07.02 00:12:04 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                        'requestFormat' => 'JSON',
                                                                        'maxVersion' => 3,
                                                                        'path' => 'entry.cgi',
                                                                        'minVersion' => 1
                                                                      },
                      'SYNO.SurveillanceStation.PTZ' => {
                                                          'requestFormat' => 'JSON',
                                                          'maxVersion' => 5,
                                                          'path' => 'entry.cgi',
                                                          'minVersion' => 1
                                                        },
                      'SYNO.SurveillanceStation.Camera.Event' => {
                                                                   'requestFormat' => 'JSON',
                                                                   'maxVersion' => 1,
                                                                   'path' => 'entry.cgi',
                                                                   'minVersion' => 1
                                                                 },
                      'SYNO.SurveillanceStation.VideoStreaming' => {
                                                                     'requestFormat' => 'JSON',
                                                                     'maxVersion' => 1,
                                                                     'path' => 'entry.cgi',
                                                                     'minVersion' => 1
                                                                   },
                      'SYNO.SurveillanceStation.Streaming' => {
                                                                'maxVersion' => 2,
                                                                'path' => 'SurveillanceStation/streaming.cgi',
                                                                'minVersion' => 1
                                                              },
                      'SYNO.SurveillanceStation.SnapShot' => {
                                                               'requestFormat' => 'JSON',
                                                               'maxVersion' => 1,
                                                               'path' => 'entry.cgi',
                                                               'minVersion' => 1
                                                             },
                      'SYNO.API.Auth' => {
                                           'maxVersion' => 6,
                                           'path' => 'auth.cgi',
                                           'minVersion' => 1
                                         },
                      'SYNO.SurveillanceStation.ExternalEvent' => {
                                                                    'requestFormat' => 'JSON',
                                                                    'maxVersion' => 1,
                                                                    'path' => 'entry.cgi',
                                                                    'minVersion' => 1
                                                                  },
                      'SYNO.SurveillanceStation.Camera' => {
                                                             'requestFormat' => 'JSON',
                                                             'maxVersion' => 8,
                                                             'path' => 'entry.cgi',
                                                             'minVersion' => 1
                                                           },
                      'SYNO.SurveillanceStation.Info' => {
                                                           'requestFormat' => 'JSON',
                                                           'maxVersion' => 6,
                                                           'path' => 'entry.cgi',
                                                           'minVersion' => 1
                                                         },
                      'SYNO.SurveillanceStation.Event' => {
                                                            'requestFormat' => 'JSON',
                                                            'maxVersion' => 5,
                                                            'path' => 'entry.cgi',
                                                            'minVersion' => 1
                                                          }
                    }
        };

2016.07.02 00:12:04 4: cam01 - Path of SYNO.API.Auth selected: auth.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.API.Auth selected: 6
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.ExternalRecording selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording selected: 3
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.Camera selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Camera: 8
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.SnapShot selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.SnapShot: 1
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.PTZ selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.PTZ: 5
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.Info selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Info: 6
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.Camera.Event selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Camera.Event: 1
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.Event selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Event: 5
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.VideoStreaming selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.VideoStreaming: 1
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.ExternalEvent selected: entry.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.ExternalEvent selected: 1
2016.07.02 00:12:04 4: cam01 - Path of SYNO.SurveillanceStation.Streaming selected: SurveillanceStation/streaming.cgi
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.Streaming selected: 2
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.ExternalRecording adopted to: 2 due to SVSversion 7.2 !!
2016.07.02 00:12:04 4: cam01 - MaxVersion of SYNO.SurveillanceStation.PTZ adopted to: 4 due to SVSversion 7.2 !!
2016.07.02 00:12:04 4: cam01 - --- End Function getapisites nonblocking ---
2016.07.02 00:12:04 4: cam01 - --- Begin Function serverlogin nonblocking ---
2016.07.02 00:12:04 4: cam01 - Credentials read from RAM: fhem ********
2016.07.02 00:12:04 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&account=fhem&passwd=fh3m%6ora_fl0ra&session=SurveillanceStation&format="sid"
2016.07.02 00:12:04 4: cam01 - Credentials read from RAM: fhem ********
2016.07.02 00:12:04 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'sid' => 'wXw4FM9MyuiY215A0MRN816101',
                      'is_portal_port' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' )
                    }
        };

2016.07.02 00:12:04 4: cam01 - Login of User fhem successful - SID: wXw4FM9MyuiY215A0MRN816101
2016.07.02 00:12:04 4: cam01 - --- End Function serverlogin nonblocking ---
2016.07.02 00:12:04 4: cam01 - --- Begin Function getcamid nonblocking ---
2016.07.02 00:12:04 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="wXw4FM9MyuiY215A0MRN816101"
2016.07.02 00:12:04 4: cam01 - Detection Camid successful - foscam01 ID: 13
2016.07.02 00:12:04 4: cam01 - --- End Function getcamid nonblocking ---
2016.07.02 00:12:04 4: cam01 - --- Begin Function cam: Snap nonblocking ---
2016.07.02 00:12:04 4: cam01 - Call-Out now: http://192.168.178.150:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.SnapShot"&dsId=0&method="TakeSnapshot"&version="1"&camId=13&blSave=true&_sid="wXw4FM9MyuiY215A0MRN816101"
2016.07.02 00:12:05 1: cam01 - ERROR - Operation Snap of Camera foscam01 was not successful. Errorcode: 400 - Execution failed
2016.07.02 00:12:05 4: cam01 - --- End Function cam: Snap nonblocking with error ---
2016.07.02 00:12:05 4: cam01 - --- Begin Function logout nonblocking ---
2016.07.02 00:12:05 4: cam01 - Credentials read from RAM: fhem ********
2016.07.02 00:12:05 4: cam01 - URL-Call: http://192.168.178.150:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&session=SurveillanceStation&_sid=wXw4FM9MyuiY215A0MRN816101
2016.07.02 00:12:05 4: cam01 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
        };

2016.07.02 00:12:05 4: cam01 - Session of User fhem has ended - SID: wXw4FM9MyuiY215A0MRN816101 has been deleted
2016.07.02 00:12:05 4: cam01 - --- End Function logout nonblocking ---


Bei Fragen oder wenn Du noch mehr brauchst, melde dich!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 02 Juli 2016, 09:33:28
Danke pd33 für die logs ... perfekt  :)

Hallo Matthias, Rumbel und pd33,

ich habe die Version noch einmal etwas abgeändert. Insbesondere hoffe ich dass ich die Fehlermeldung von "snap" bei pd33 mit "erwischt" habe.
( in deinem log finde ich aber keinen Hinweis auf "parameter invalid" bei gopreset .... sieht gut aus).

Danke für eure Mithilfe ! Ich denke ich habe schon genügend Infos für eine Anfrage an Syno zusammen.

Meldet bitte noch eure Ergebnisse mit der angehängten Version zurück.

Schönes WE,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: math78 am 02 Juli 2016, 10:57:32
Hallo Heiko,

funktioniert weiterhin.

LG

Matthias
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 02 Juli 2016, 10:59:07
Thx Matthias  :)

LG zurück
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: docb am 14 Juli 2016, 11:13:33
Servus,
erstmal herzlichen Dank für das Modul - genau was ich brauche, wenn es denn nur liefe ;-)

Ich bekomme gleich nach der Eingabe der Credentials den Fehler "malformed JSON string received".

Im List steht:
Internals:
   CAMNAME    WZ
   CFGFN
   CREDENTIALS Set
   DEF        WZ 10.11.30.100 1099
   NAME       Cam_WZ
   NR         1316
   OPMODE     Enable
   SERVERADDR 10.11.30.100
   SERVERPORT 1099
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISVSINFO SYNO.SurveillanceStation.Info
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     CREDENTIALS Z6hpTtjXQY...
     RECTIME_DEF 15
   Readings:
     2016-07-14 10:58:44   Availability    ???
     2016-07-14 11:02:34   Error           malformed JSON string received
     2016-07-14 11:02:34   Errorcode       none
     2016-07-14 10:58:44   LiveStreamUrl
     2016-07-14 10:58:44   PollState       Inactive
     2016-07-14 10:58:44   state           off
Attributes:
   verbose    4
   webCmd     on:off:snap:enable:disable

Im Log finde ich, wenn ich bspw. mal ein disable versuche:
</html>
</body>
<hr><center>nginx</center>
<center>The plain HTTP request was sent to HTTPS port</center>
<center><h1>400 Bad Request</h1></center>
<body bgcolor="white">
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
2016.07.14 11:02:34.172 4: Cam_WZ - Data returned: <html>
2016.07.14 11:02:34.146 4: Cam_WZ - Call-Out now: http://10.11.30.100:1099/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Streaming
2016.07.14 11:02:34.146 4: Cam_WZ - --- Begin Function getapisites nonblocking ---
2016.07.14 11:02:34.146 4: Cam_WZ - Enable Camera WZ

Ich habe die aktuellste Version deines Moduls (erst über Update, dann aber auch nochmal die hier aus dem Forum runtergeladen), DSM Version DSM 6.0.1-7393 Update 1, Surveillance Station 7.2.2-4649.

Mit der Bitte um Hilfe & Viele Grüße
doc
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Juli 2016, 12:17:58
Hallo Doc,

Nur Mut, kriegen wir bestimmt auch bei dir hin  ;)

Ich glaube wir hatten das Problem schon einmal hier im Thread.
Vermutlich stimmt auch bei dir die Angabe "1099" für den Http-Port der DS nicht.

In deinem Logauszug wird ja auch darauf hingewiesen:
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
Typischerweise ist es Port 5000, es sei denn du hast ihn im Anwendungsportal vom DSM umgebogen.
Setz mal dort an und check das mal.

Grüsse,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: docb am 14 Juli 2016, 13:51:05
Servus,
läuft, vielen Dank - wer lesen kann ist klar im Vorteil  ::)
war der Port 1098, der 1099er ist httpS. Das hat man von seinen Spielereien ;-)
Merci nochmal & viele Grüße
doc
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 Juli 2016, 13:57:03
Prima  :)

Dann noch viel Spaß damit !

Viele Grüße zurück
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: docb am 18 Juli 2016, 11:26:24
Servus,
sag mal gibt es eine Möglichkeit, das Modul mit der 2-Stufen Verifizierung zum laufen zu bringen? Sobald ich die einschalte, kann sich dein Modul verständlicherweise nicht verbinden:
Permission denied - DSM-Session: make sure user is member of Admin-group, SVS-Session: make sure SVS package is startedWäre nur eine nette Ergänzung ;-)
Herzlichen Dank für das geniale Modul, das löst meine "die Kameras nehmen ständig jeden Mist auf" Probleme ;-)
Viele Grüße
doc
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Juli 2016, 12:19:32
Hallo Doc,

Sagen wir mal so ... im Herbst/Winter will ich wieder etwas mit der Weiterentwicklung des Moduls beschäftigen.
Ich nehme deinen Hinweis in meine ToDo und Wunschliste auf.

Schauen wir mal was ich hinbekomme  :)

Danke dir und Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: docb am 18 Juli 2016, 12:32:28
Ich habe zu danken - und ein kleiner Hinweis für Interessierte zum Workaround:
1. Benutzer in der SVS einrichten, zum Manager machen
2. Benutzer wird automatisch auch in FHEM eingerichtet, dort zum Admin machen
3. 2-Stufen Verifizierung ausschalten
4. Modul / Kamera zum Laufen bringen
5. Session im Modul auf SVS stellen
6. Benutzer in der DSM aus der Admin-Gruppe rausnehmen
7. 2-Stufen Verifizierung einschalten (Option nur für Admins)

So spart man sich viele Fehlermeldungen ;-)

Viele Grüße
doc
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Juli 2016, 13:05:49
Hi Doc,

Super, magst du es vielleicht ins Wiki eintragen ?
Dort gibt es auch einen Abschnitt für SSCam.
Ist vielleicht ganz günstig es dort unterzubringen.

Viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: docb am 18 Juli 2016, 15:17:50
Servo,
Wiki ergänzt!
Viele Grüße
doc
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: cortmen am 18 Juli 2016, 22:11:44
 :)Hallo DS_Starter,

erst einmal Danke für Deine Arbeit an dem Modul.

Habe habe ein Problem mit der Snapshot Funktion.

Verbose 4 auf das Device:

2016.07.18 19:06:41 2: FI9805.email: {MyMail ('foobar@forbar.com','Bewegungsalarm FI9805','Eine Bewegung wurde registriert.  Aufnahmelink: /volume1/surveillance/FI9805W/20160718PM/FI9805W20160718-190626-1468861586.mp4','/media/videostation/@Snapshot/FI9805W-20160718-0630195478.jpg')}: HASH(0x41d0350)
2016.07.18 19:06:41 3: FI9805 - Query event list of FI9805W successfully done
2016.07.18 19:06:41 4: FI9805 - --- End Function cam: geteventlist nonblocking ---
2016.07.18 19:06:41 4: FI9805 - --- Begin Function logout nonblocking ---
2016.07.18 19:06:41 4: FI9805 - Credentials read from RAM: xxxxxx ********
2016.07.18 19:06:41 4: FI9805 - URL-Call: http://x.x.x.x:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Logout&_sid=S6IyV6hwbg4MsC8L5N03500
2016.07.18 19:06:41 4: FI9805 - JSON returned: {
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2016.07.18 19:06:41 4: FI9805 - Session of User xxxxxx has ended - SID: S6IyV6hwbg4MsC8L5N03500 has been deleted
2016.07.18 19:06:41 4: FI9805 - --- End Function logout nonblocking ---
2016.07.18 19:06:41 3: Ubuntumail - sendEmail returned: Jul 18 19:06:41 localhost sendEmail[14247]: ERROR => The attachment [/media/videostation/@Snapshot/FI9805W-20160718-0630195478.jpg] doesn't exist!

Komisch ist nur, das unter Readings  LastSnapFilename FI9805W-20160718-0630195478.jpg immer noch ein snapfilename von einer älteren Aufnahme steht.
Genau dieses alte jpg wird mit jeder Aufnahme per Mail versendet. Wenn ich es lösche, wird kein neues snapfile erstellt.

Es scheint das der Wert von LastSnapFilename nicht aktualisiert wird.


Hast Du einen Tipp?

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Juli 2016, 22:31:49
Hallo cortmen,

ich gehe mal davon aus, dass die Snapshotfunktion als solche funktioniert. Soll heißen, wenn du einen Snapshot auslöst, wirst du diese Aufnahem in der SVS auf der Synology auch finden.  Das sollte grundsätzlich funktionieren , check das mal bitte.

Jetzt muß man noch wissen,dass nach dem snapshot implizit die Funktion "get ... snapfileinfo" aufgerufen wird. Du kannst sie auch im FHEMWEB manuell aufrufen. Wenn dieses Funktion durchgelaufen ist, wird der neue/letzte Snapfilename angezeigt, aber erst dann !
Du kannst es mal manuell ausprobieren ... wird klappen.

Wenn du also eine Mail mit dem letzten Snapshot versenden willst mußt du also dein Notify so einstellen dass es erst den Mailversand antriggert wenn das Reading "LastSnapFilename" gechanged wurde (event-on-change-reading). Wenn du auf die LastSnapId triggerst könnte es u.U. zu früh sein.

Bei mir sieht das Notify so aus:

define N.CamHE1.Snap.Email notify CamHE1:LastSnapFilename.* {DebianMailnbl .......}

Warum allerdings die alte Aufnahme nicht mehr in deinem Snapshot-Ordner ist, erschließt sich mir momentan nicht. Die bleiben gewöhnlich einige Zeit liegen.

Wenn du damit nicht weiter kommst, poste mal bitte einen verbose 4 log von der gesamten snapshot-funktion. Der Mailversand ist erstmal nicht so relevant. Vielmehr müssen die oben genannten Abläufe sauber funktionieren.

Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Juli 2016, 22:38:39
Sehe gerade dass meine Beschreibung im Wiki nicht so eindeutig auf diesen Umstand hinweist, werde ich verbessern ....
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: cortmen am 18 Juli 2016, 22:38:57
Hi thx für die schnelle Antwort.

1. kurz ein snap gefeuert Ergebnis: jpg unter @Snap wurde angelegt

sendEmail returned: Jul 18 22:30:01 localhost sendEmail[16564]: ERROR => The attachment [/media/videostation/@Snapshot/FI9805W-20160718-0630195478.jpg] doesn't exist!
Die Funktion arbeitet immer mit einen "alten" 0630 Uhr Snap file, was nicht mehr existiert.

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: cortmen am 18 Juli 2016, 22:46:35
 :)Ok, verstehe jetzt warum immer der alte Snapfile erscheint.

Sollte nicht aber auch nach einem kurzen 15 Sek Video ein >Snapfile erstellt werden?
Die Funktion "Snap" erstellt ein jpg.
Eine Videoaufnahme 15sek recording leider nicht.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 Juli 2016, 23:07:45
Eine Aufnahme / Video erstellt nicht automatisch noch einen Snap zum Schluß. Wenn du beides haben möchtest mußt du es auch auslösen.
Also zum Beispiel durch folgends Notify wenn der MelderHE1 anspricht:

define N.MelderHE1.CamHE1.on MelderHE1:on.* set CamHE1 on;set CamHE1 runView image;define ches at +00:00:02 set CamHE1 snap;define chesw at +00:00:30 set CamHE1 stopView

Hier passieren mehrere Dinge... es wird die Aufnahme gestartet (set CamHE1 on), dann wird ein LiveView-Bild im FHEMWEB angezeigt (set CamHE1 runView image), 2 Sekunden nach Aufnahmestart wird ein Snapshot angelegt und 30 Sekunden nach Aufnahmestart wird der Liveview wieder beendet.

Ein weiteres Notify versendet dann die Mail mit dem Anhang wenn das Reading "LastSnapFilename" gefüllt wurde.

Aber warum ist denn der Snap von 0630 schon weg ? Das verstehe ich nicht, bei mir liegen die Snaps noch so ca. 30 Tage auf der Syno.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: cortmen am 18 Juli 2016, 23:14:25
 :)tHX für die ausführlichen Informationen.
Der genannte Snap wurde manuell gelöscht.
Somit passen Deine Aussagen exakt.

Danke - closed



Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Rumbel am 27 Juli 2016, 16:56:44
Hi DS_Starter,

sorry für die Späte antwort, aber mir kam in letzter Zeit einiges dazwischen, da war keine Zeit für FHEM und "unwichtige" Themen wie die Kamera.

Nach einem Update im FHEM funktioniert das Modul wieder perfekt.
Vielen Dank für die schnelle Hilfe! :-)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 14 August 2016, 21:56:35
Ich versuche gerade das Modul zu installieren. FHEM ist aktuell.
ich bekomme immer den Error
Permission denied - DSM-Session: make sure user is member of Admin-group, SVS-Session: make sure SVS package is started
2016.08.14 21:46:13.229 4: CamHaustuer - Credentials read from RAM: admin 1aJu45EyK
2016.08.14 21:46:13.229 5: CamHaustuer - HTTP-Call will be done with httptimeout-Value: 5 s
2016.08.14 21:46:13.229 4: CamHaustuer - Call-Out now: http://192.168.24.161:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=1aJu45EyK&format="sid"
2016.08.14 21:46:13.305 4: CamHaustuer - Credentials read from RAM: admin XXXX
2016.08.14 21:46:13.379 1: CamHaustuer - ERROR - Login of User admin unsuccessful. Errorcode: 402 - Permission denied - DSM-Session: make sure user is member of Admin-group, SVS-Session: make sure SVS package is started

Wenn ich http://192.168.24.161:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=admin&passwd=XXXX&format="sid" im Browser aufrufe bekomm ich

{"data":{"is_portal_port":false,"sid":"5UcE86DsD8vugC9L6N01345"},"success":true}

retour, der Login funktioniert hier also.

Wo liegt mein Denkfehler?

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 14 August 2016, 22:09:33
Hat der User auf der DS Admin-Rechte?
LG Thorsten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 15 August 2016, 12:34:23
Ja, sonst würde wohl der Aufruf im Browser auch nicht funktionieren.

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 15 August 2016, 13:00:54


2016.08.14 21:46:13.379 1: CamHaustuer - ERROR - Login of User admin unsuccessful. Errorcode: 402 - Permission denied - DSM-Session: make sure user is member of Admin-group, SVS-Session: make sure SVS package is started


Aufrufen kannst du auch als normaler User, wichtig für das Modul im FHEM ist die Steuerbarkeit der Surveillance Station, und hierfür braucht das Modul eben Admin-Rechte von der DS.
Schau mal bitte auf der DS (nicht der SurveillanceStation) unter Systemsteuerung/Benutzer, was bei dir drin steht.
Ich habe der Übersichtlichkeit halber einen User "FHEM" angelegt und diesen der Administratorengruppe hinzu gefügt

LG
Thorsten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 13:16:52
Hallo zusammen,

@Luigi, zusätzlich zu den Infos von Thorsten noch die Frage ob du das Perl Modul JSON installiert hast ?
Bei Debian z.B. mit sudo apt-get install libjson-perl.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 15 August 2016, 18:26:01
libjson-perl ist installiert.

Ich habs mit dem Benutzer "admin" und einem eigens angelegtem Benutzer "fhem1" probiert. Beide Benutzer sind in der admin Gruppe
(siehe Anhänge).

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 18:37:37
Ich habe es fast "befürchtet".
Damit dein zugegebenermaßen recht seltsam erscheinender Fall mehr Infos preisgibt habe ich in der angehängten Version eine Logausgabe hinzugefügt.
Lade die Version bitte herunter, packe sie in dein FHEM-Verzeichnis, setze die Rechte auf 666 ->  reload 49_SSCam.pm ,  und führe eine Aktion wieder mit verbose 4 aus. Dann poste uns bitte wieder den Logauszug ab "Begin function server login" und "End function server login".

Auch ein "list <device> wäre hilfreich.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 15 August 2016, 18:38:47
Was steht bei dir unter.../Applikationen?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 15 August 2016, 19:42:01
Der gewünschte Logauszug:
2016.08.15 19:31:06.130 4: CamHaustuer - --- Begin Function serverlogin nonblocking ---
2016.08.15 19:31:06.131 4: CamHaustuer - Credentials read from RAM: fhem1 Algti1846
2016.08.15 19:31:06.131 4: CamHaustuer - Call-Out now: http://192.168.24.161:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=fhem1&passwd=Algti1846&format="sid"
2016.08.15 19:31:06.239 4: CamHaustuer - Credentials read from RAM: fhem1 XXXXXX
2016.08.15 19:31:06.240 4: CamHaustuer - Data returned: {"error":{"code":402},"success":false}

2016.08.15 19:31:06.304 1: CamHaustuer - ERROR - Login of User fhem1 unsuccessful. Errorcode: 402 - Permission denied - DSM-Session: make sure user is member of Admin-group, SVS-Session: make sure SVS package is started
2016.08.15 19:31:06.305 4: CamHaustuer - --- End Function serverlogin nonblocking with error ---

Devicelist
Internals:
   CAMNAME    IPCam
   CREDENTIALS Set
   DEF        IPCam 192.168.24.161
   NAME       CamHaustuer
   NR         817
   OPMODE     Getptzlistpatrol
   SERVERADDR 192.168.24.161
   SERVERPORT 5000
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISTMMAXVER 2
     APISTMPATH SurveillanceStation/streaming.cgi
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 5
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CREDENTIALS ]qmreVF?RZ|sjJmyXET6
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
     Svsversion:
   Readings:
     2016-08-15 04:02:18   Availability    ???
     2016-08-15 19:31:10   Error           Permission denied - DSM-Session: make sure user is member of Admin-group, SVS-Session: make sure SVS package is started
     2016-08-15 19:31:10   Errorcode       402
     2016-08-15 04:02:18   LiveStreamUrl
     2016-08-15 04:02:18   PollState       Inactive
     2016-08-15 04:02:18   state           off
Attributes:
   httptimeout 5
   room       99_System
   session    DSM
   showPassInLog 1
   verbose    4
   webCmd     on:off:snap:enable:disable

wie schon gesagt, im Browser liefert die Zeile
 http://192.168.24.161:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=4&method=Login&account=fhem1&passwd=XXX&format="sid"

folgendes JSON:
{"data":{"is_portal_port":false,"sid":"I.Us4Ry8e6uc2C9L6N01345"},"success":true}

@Dangermouse
Applikationen siehe Anhang


Gruß
Alois
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 20:10:57
Hmm ... die DS bringt auf jeden Fall einen Errorcode zurück.  Das was Thorsten nachgefragt hat, ist ja auch erfüllt.
Die Ausgabe vom Modul ist insofern schlüssig, erklärt allerdings nicht warum der Call von deinem Browser funktioniert.
Jetzt kann ich nur mutmaßen was den Auruf von deinem Browser und dem FHEM-Server unterscheidet.
Als erstes fällt mir die Firewall auf der DS ein. Darf die IP von deinem FHEM-Server durchgreifen ?

Was hast du für ein BS (FHEM), die SVS-Version und DS-Version ?

EDIT: wenn du das PW im Log ausblenden willst kannst du das Attr showPassInLog = 0 setzen (oder löschen).


Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 15 August 2016, 20:27:22
Raspi 2, Raspbian wheezy
DS 713+ DSM 5.2-5644 Update 3
SVS 7.1-4152

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 20:38:08
Das ist nun auch nichts außergewöhliches. DSM 5.2-5644 und SVS 7.1-4152 habe ich ebenfalls.

Was ist mit der Firewall ? Und schaue auch nochmal in die Richtung Zugriffsbeschränkungen des FHEM-Servers.
Du könntest probieren dass Attr session= SurveillanceStation setzen und mit einem User arbeiten den du vorher in der SVS mit dem Privileg "Manager" angelegt hast.

@Thorsten, hattest du mal so ein Verhalten festgestellt ?  ich bisher nicht.

Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 20:57:46
@Luigi, was mir noch eingefallen ist ... die DS 713+ hat zwei LAN-Ports. Wenn du beide benutzen solltest und kein Teaming einsetzt, dann haben beide eine getrennte Firewall. Nur als Denkanstoß ...

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 15 August 2016, 21:40:03
Firewall ist nicht aktiviert, session = SurveillanceStation hab ich auch schon probiert.

Die zwei LAN-Ports sind "gebonded".

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 15 August 2016, 21:41:38
Hallo zusammen,

Nein, ich hatte zwar auch anfänglich einige kleinen Schwierigkeiten bei der Einrichtung, u.a. auch mit der Firewall, diese konnte ich allerdings nach und nach lösen.
Bei einem Wechsel von einer 115j zu einer 216j hatte ich die App "Surveillance " im Netzwerk nicht wieder eingerichtet.
Den Ansatz mit der Firewall würde ich nun auch verfolgen... Meine DS hatten bisher nur eine LAN-Port, den Tipp mit der zweiten Firewall würde ich in dieser Situation nun auch erstmal weiter nachgehen....
@Luigi: was steht bei dir in der Systemsteuerung/Anwendungsportal?
Hier meine Einstellungen:
(http://uploads.tapatalk-cdn.com/20160815/63128bd3dd9052a22962d310db11a33b.jpg)

LG
Thorsten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 15 August 2016, 21:59:19
Unter Anwendungsportal war nichts konfiguriert, habe es jetzt wie im Anhang konfiguriert.
Hat aber nichts geändert.

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 22:00:28
@Luigi, versuche doch mal ob du ausgehend vom Raspi-Commandprompt eine Telnet/SSH/FTP-Session zu deiner DS aufbauen kannst sofern einer von diesen Diensten auf der DS aktiv sind. Wenn die Raspi-Adresse irgendwo geblockt würde käme man so auch nicht hin.

Gibt es denn auf der DS im Systemlog irgendwlche Hinweise wenn du einen Verbindungsversuch unternimmst ?

Schaue auf der DS auch mal in /var/log/synolog/synoconn.log (z.B. tail -100 /var/log/synolog/synoconn.log)

EDIT: ich sehe gerade in deinem letzten Post , du hast den HTTP-Port von SVS auf 9900 umgeleitet. Wenn du im Modul session=SVS einstellst kannst du den Port auch mal auf 9900 ändern.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 August 2016, 22:42:23
Hallo Luigi,

ich habe dir nochmal eine veränderte Version mit einem leicht geänderten Login-Aufruf gebaut.
Bitte versuche es damit nochmal.

EDIT: setze bitte das Attribut "noQuotesForSID" = 1 !!

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 16 August 2016, 18:43:08
Zugriff vom Raspi auf die DS mittels SSH geht auch nicht:
ssh_exchange_identification: Connection closed by remote host
Ich kann aber vom PC bzw. dem Handy eine SSH-Verbindung zur DS aufbauen. Sehr mysteriös!

Da ich für Backups noch eine 2. DS habe (710+) hab ich jetzt dort die SVS installiert und eingerichtet und nach Änderung der IP im SSCam-Modul auf die 2. DS funktioniert es sofort.

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 19:27:43
Zitat
Sehr mysteriös!

Ja, sehe ich auch so. Das nährt die Vermutung dass dein Raspi/der Host/die IP in irgendeiner Weise geblockt/ausgeschlossen wird.
Habe mal nach der Fehlermitteilung gegoogelt. Gute Nachricht ... du bist nicht der einzige mit dem Problem ;)

Momentan habe ich noch keine Idee ... vllt. fällt mir oder einem Mitlesenden noch etwas dazu ein. Wenn dem so ist melde ich mich wieder.


Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 19:46:52
Nochmal die Frage Luigi, hast du auf deiner DS mal in die Logfiles geschaut die ich weiter vorn genannt habe ?
Vielleicht findet sich dort noch etwas hilfreiches.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 16 August 2016, 20:19:28
Habe heute morgen auch mal etwas gespielt, neue (auf der SVS nicht vorhandene ) Cam eingerichtet, Benutzername und Passwort mal variiert, einfach um den Fehler zu reproduzieren. Dabei habe ich im DS-Finder (iOS-App) bzw in der DSM mobile den Punkt IP-Sperre gefunden, wo mein RasPi mit FHEM auch eingetragen war.
@Luigi: ist die IP in der Definition die deiner DS oder der Cam? (Ich weiß, sowas sollte man eigentlich nicht fragen, manchmal sind die kleinen Denkfehler doch trivialer als man denken mag)

LG Thorsten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Luigi am 16 August 2016, 20:48:18
@Dangermouse:

Das wars, mein RasPi ist auf der Sperrliste gelandet. Nach dem Entfernen aus der Liste hats sofort funktioniert.

Danke für die Hilfe!

Gruß
Luigi
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 21:07:54
Super Tipp Thorsten  :)

Ich glaube im DSM (PC) findet man diesen Punkt unter Systemsteuerung -> Autom. Blockierung -> Freigabe / Blockierungliste.

LG
Heiko
Titel: 49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 16 August 2016, 21:56:52
Gern geschehen,

Ich hatte hier allerdings den (unbekannten) Errorcode 407 oder Timeouts...
Scheint wohl in die Kategorie "bundeseinheitliche Arbeitsweise des Magenta-T" zu fallen, ein paar kleine Unterschiede gibt es wohl doch von DS zu DS
Naja, der Weg ist das Ziel*gg*, schön daß es nun funktioniert

LG Thorsten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 22:31:38
Zitat
ein paar kleine Unterschiede gibt es wohl doch von DS zu DS

Den Eindruck habe ich auch.  Der Error 407 bedeutet "CMS closed". Ist aber kontextsensitiv und erschließt sich nicht in jeder Situation.
Die Timeouts kannst du versuchen mit dem attr "httptimeout" zu entschärfen. Der Standard 4s ist je nach DS oft zu wenig.

 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 16 August 2016, 22:41:39
Hallo Heiko,
Bis heute Nacht sind sie zum Glück noch nicht aufgetaucht, ich habe nur ab und zu eine Meldung, daß die Verbindung zur Cam auf der Terrasse unterbrochen wurde, dies ist aber ein spezifisches Problem zwischen SVS und der Cam. Sie ist per WLAN angebunden, da ich kein Kabel durch die Fassade verlegen kann/darf (Mietwohnung).
Ich vermute ein allgemeines Problem der Foscam in Verbindung mit WLAN, alle anderen Foscams per Kabel zeigen dieses Phänomen nicht.
Ansonsten kann ich dir wirklich nur für dieses Modul danken, es ist wirklich klasse....und bindet die Videoüberwachung prima in die Hausautomation ein.

LG Thorsten

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 22:50:23
 :) freut mich dass es hilfreich ist. Im Herbst / Winter will ich mich wieder intensiver um eine Weiterentwicklung kümmern.

Wegen den Verbindungsabbrüchen zwischen DS und Kamera könntest du noch austesten ob es bei dir hilft das Übertragungsprotokoll von TCP auf UDP umzustellen (SVS -> Kamera bearbeiten -> Erweitert -> Übertragungsprotokoll). Seitdem ich es umgestellt habe gehören die sporadischen Verbindungsabbrüche (trotz GB-Kabel) der Vergangenheit an.

LG,
heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 16 August 2016, 23:01:46
Ja, die liebe kalte Jahreszeit *gg*
Da werde ich mich wohl mal an das Projekt "interaktives Infodisplay " machen, dann werde ich sicher auch nochmal die ein oder andere Frage hier loswerden ;) und eine praktikable Lösung der Bewegungserkennung für die Cam im Garten muß auch noch mal her, jedes Mal wenn so eine blöde Spinne meint meine Linse als Ausgangspunkt für ihre abstrakte Kunst verwenden zu müssen bin ich genötigt morgens bis zu 200 Mails zu löschen.... :P ich liebäugelt mit einem IR-Bewegungsmelder von HM als Trigger, mal sehen.... Es gibt viel zu tun, lassen wir es uns von unseren Frauen verbieten *lach*
Danke für den Tipp, werde ich morgen nach Feierabend gleich mal umsetzen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 23:12:33
Wie sich doch alles sehr ähnelt  ;)
Die IR-Melder habe ich überall schon eingesetzt (FS20 und HM) ... habe auch viele Spinnen im Garten rumkriechen.
Tja und das mit den Frauen .... eigentlich dürfte ich keinen Laptop mit FHEM mehr anfassen   :)

Gute Nacht
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Dangermouse am 16 August 2016, 23:21:12
Da wären wir wieder bei der bundeseinheitlichen Arbeitsweise, manchmal klappt das, manchmal eben nicht :P
In der Wohnung geht es noch, da lösen die Cams 1-2 mal im Monat aus, aber draußen.... ;) ich hatte mich auch schon mal grob mit LAN-I/O-Devices wie dem Axis P8221 befasst, allerdings muß ich noch etwas Überzeugungsarbeit bei der Finanzcheffin leisten... ;)
Ich habe meinen Laptop wie einen Geschirrspüler angemalt und zur Tarnung noch ein Geschirrtuch übers Display gehangen *lach*

So, ich mach für heute Schluss, Berichte aber morgen mal bez. der Verbindungsabbrüche....

LG Thorsten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 August 2016, 23:26:19
Zitat
Ich habe meinen Laptop wie einen Geschirrspüler angemalt und zur Tarnung noch ein Geschirrtuch übers Display gehangen

geile Idee ... lach mich schlapp  ;D

so... schluß für heute. Bin gespnnt ob es bei dir hilft.

LG
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 17 August 2016, 01:42:17
Hallo Heiko,

kam heute auch mal dazu Dein Modul einzubinden.. Meine Anerkennung dafür!

Allerdings habe ich mit einer von 6 Kameras ein Problem:
2016.08.17 01:11:58 4: GR.tr.CAM.SSS.01 - Login of User admin successful - SID: vpD0xvB.bInwcC4KGN00594
2016.08.17 01:11:58 4: GR.tr.CAM.SSS.01 - --- End Function serverlogin nonblocking ---
2016.08.17 01:11:58 4: GR.tr.CAM.SSS.01 - --- Begin Function getcamid nonblocking ---
2016.08.17 01:11:58 4: GR.tr.CAM.SSS.01 - Call-Out now: http://192.168.1.9:9900/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=List&basic=true&streamInfo=true&camStm=true&_sid="vpD0xvB.bInwcC4KGN00594"
2016.08.17 01:11:59 4: GR.tr.CAM.SSS.01 - Detection Camid successful - Eingang ID: 8
2016.08.17 01:11:59 4: GR.tr.CAM.SSS.01 - --- End Function getcamid nonblocking ---
2016.08.17 01:11:59 4: GR.tr.CAM.SSS.01 - --- Begin Function cam: Snap nonblocking ---
2016.08.17 01:11:59 4: GR.tr.CAM.SSS.01 - Call-Out now: http://192.168.1.9:9900/webapi/entry.cgi?api="SYNO.SurveillanceStation.SnapShot"&dsId="0"&method="TakeSnapshot"&version="1"&camId="8"&blSave="true"&_sid="vpD0xvB.bInwcC4KGN00594"
2016.08.17 01:11:59 1: GR.tr.CAM.SSS.01 - ERROR - Operation Snap of Camera Eingang was not successful. Errorcode: 400 - Execution failed
2016.08.17 01:11:59 4: GR.tr.CAM.SSS.01 - --- End Function cam: Snap nonblocking with error ---
Diese Kamera will partout keinen Snapshot machen. Dieser endet immer mit dem Errorcode 400. Sowohl in FHEM als auch in der Surveillance Station habe ich alle Einstellungen (auch Kameraübergreifend) verglichen und finde nicht die Ursache. Es handelt sich um eine INSTAR IN-2907.

Das kuriose ist: Der Snapshot wird in der Tat angelegt und auch auf der Station gespeichert. Scheinbar läuft hier irgend etwas mit der Erkennung, dass das File geschrieben wurde, falsch.

Vielleicht hast Du die Lösung?

Gruß Martin

2016-08-17 01:11:57 SSCam GR.tr.CAM.SSS.01 snap
2016-08-17 01:11:57 SSCam GR.tr.CAM.SSS.01 Errorcode: none
2016-08-17 01:11:57 SSCam GR.tr.CAM.SSS.01 Error: none
2016-08-17 01:11:59 SSCam GR.tr.CAM.SSS.01 Errorcode: 400
2016-08-17 01:11:59 SSCam GR.tr.CAM.SSS.01 Error: Execution failed

Internals:
   CAMID      8
   CAMNAME    Eingang
   CFGFN
   CHANGED
   CREDENTIALS Set
   DEF        Eingang 192.168.1.9 9900
   NAME       GR.tr.CAM.SSS.01
   NR         17466
   OPMODE     geteventlist
   SERVERADDR 192.168.1.9
   SERVERPORT 9900
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     on
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 6
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISTMMAXVER 2
     APISTMPATH SurveillanceStation/streaming.cgi
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 6
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CAMLASTRECID
     CREDENTIALS xxxxxxxxxxxxxxxxx
     OLDVALPOLL 613
     OLDVALPOLLNOLOGGING 1
     OPENWINDOW 1
     RECTIME_DEF 15
     SID        i8LWPIeg38zo.C4KGN00594
     WLTYPE     link
     Svsversion:
       BUILD      4664
       MAJOR      7
       MINOR      2
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 August 2016, 08:46:30
Morgen Martin,

das ist echt eigenartig. Mach mal bitte noch ein Verbose 5 log. Dann sehen wir auch die JSON-Antworten welche die SVS zurückliefert.
Das werden in Summe vom Login bis zum Logout eine Menge Daten werden. Wahrscheinlich ist es dann besser ein File hier anzuhängen.
Ich schaue mir das heute Abend dann genauer an .... muß erstmal Geld für FHEM verdienen  ;)

Edit: Aus deiner Info konnte ich nicht erkennen ob du session=SVS oder DSM benutzt. Ändert sich das Verhalten dieser Cam wenn du die Session-Variante änderst ?

viele Grüße
Heiko 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 17 August 2016, 13:30:49
Hallo Heiko,

danke für Deine Mühen!

Nein, es macht leider keinen Unterschied welche Sessionmethode ich nutze. Ich habe mit SVS getestet, habe aber ansonsten auf DSM gesetzt.

Anbei das Log von verbose 5.

Hier noch ein paar Anmerkungen / Fragen:
Umlaute in Kameranamen werden nicht unterstützt. Benenne ich die Kamera nach "Haustür", so erhalte ich:
2016.08.17 12:12:15 1: GR.tr.CAM.SSS.01 - ERROR - Cameraname Haustür wasn't found in Surveillance Station. Check Userrights, Cameraname and Spelling
Wenn Du magst, kannst Du Dir mal das Modul 98_JsonList.pm oder 98_JsonList2.pm anschauen. Stammen von Rudi und mir. Dort ist ein utf8 Handling bzg. Umlaute eingebaut (JsonList_Escape). Vielleicht ist das ja hilfreich.

Im Moment habe ich nach der Umstellung auf SSCam noch einige false-positives, sprich die Aufnahme wird ausgelöst aber auf dem Video sehe ich keinen Auslöser. Auch enden alle Aufnahmen nach ~30 sec, auch wenn dort noch Bewegung ist. Hier greift wohl bei mir das Attribut recextend nicht. Vermutlich liegt das jedoch am HM Bewegungsmelder wo das Delay für die erneute Bewegungsmeldung zu hoch ist. Was für Werte nimmst Du hier? 20 Sekunden im Bewegungsmelder oder kleiner? Sollte ja dann unter der rectime liegen.

Etwas SSCam - Offtopic aber im direkten Zusammenhang:
Für erkannte Aufnahmen lasse ich mir (u.a.) auch eMails mit einen Snapshot sowie dem Link zur Aufnahme senden. Letzteres stelle ich via FHEM als HTTPSRV zur Verfügung. Rufe ich nun die Aufnahmen mittels Browser ab, dann blockt das herunterladen FHEM:
2016.08.17 12:06:04 1: Perfmon: possible freeze starting at 12:05:57, delay is 7.018
Welchen Weg gehst Du, bzw. siehst Du hier einen anderen Weg die Aufnahmen ohne HTPSERV zur Verfügung zu stellen. Vermutlich hilft da nur ein zusätzlicher Apache / nginx als Proxy.

Da vermutlich viele so wie ich die eMails auf einem Smartphone lesen, wäre es optimal, wenn man in die eMail einen Link der Aufnahme steckt, den man dann mit der App DS cam verknüpfen könnte. Kennst Du hier evtl. einen Weg?

Und last but not least:
Einbinden der Livestreams in FHEM habe ich bisher mittels weblink vorgenommen. Hierzu lieferte die Kamera das Bild direkt, nicht die SVS. Hat natürlich zu einen den Vorteil, das es unabhängig von der SVS ist ist aber zum anderen belastet der zusätzliche Stream die Kamera, bzw. das Netzwerk. In der SVS gibt es ja den "Stream-Pfad" je Kamera, den man mittels "Rechtsklick" auf die Kamera einsehen kann. Wenn ich diesen in einen weblink bei FHEM einbinde, bekomme ich nur ein "broken Image" obwohl es gestern scheinbar (zeitweise) ging.
http://192.168.1.9:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=7&StmKey="296b0e3b145db3a0dc59837eaa94f562"Das zeitweise funktionieren scheint mit dem StmKey zusammen zu hängen. Dieser hat sich im Laufe des Tages gestern (so wie ich das heute sehe), min. dreimal verändert. Das macht jedoch aus meiner Sicht keinen Sinn, da Synology ja in dem Contextmenü auch die Möglichkeit zur Anlage einer Desktopverknüpfung anbietet. Hier sehe ich noch nicht den Zusammenhang aber vielleicht wäre diese URL ja auch in den Readings als Quelle für den eMailversand (Alarmierung und durch den Link direkt auf den Livestream gehen) oder die Einbindung von Livestream mittels weblink interessant.

Stimmt der StmKey nicht, dann erhält man im Browser:
{"error":{"code":105},"success":false}
Viele Grüße
Martin

P.S.:
Das File webapi/Camera/conf/SYNO.SurveillanceStation.Camera.lib auf der SVS gibt einen Hinweis, das der StmKey auslesbar ist:
{"GetStmKey":{"grantable":true}},{"GetStmUrlPath":{"grantable":true}}
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 17 August 2016, 16:41:25
Habe mal bzgl. StmKey weiter recherhiert:

Ausgabe (PHP Code) von:
$json = file_get_contents('http://'.$ip.':'.$port.'/webapi/entry.cgi?version="8"&cameraIds="7"&blIncludeDeletedCam=true&deviceOutCap=true&streamInfo=true&method="GetStmKey"&api="SYNO.SurveillanceStation.Camera"&ptz=true&basic=true&privCamType=3&camAppInfo=true&optimize=true&fisheye=true&eventDetection=true&_sid='.$sid);
{
   "data":{
      "stmKeys":[
         {
            "dsId":0,
            "stmKey":"51b4f3374a09d21a061f007a0ac4d569"
         }
      ]
   },
   "success":true
}

Und wenn man diesen je Kamera hat, kann man sich die URL für den Livestream zusammenbauen:
http://192.168.1.9:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=7&StmKey="51b4f3374a09d21a061f007a0ac4d569"
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 August 2016, 21:39:43
Hallo Martin,

erstmal vielen Dank für die vielen Infos und Anmerkungen.  Zu deinen Fragen/Anmerkungen...

Zitat
Umlaute in Kameranamen werden nicht unterstützt.

Ja stimmt. Die Unterstützung für Umlaute habe ich auf meiner ToDo-Liste. Dein/euer JsonList-Modul schaue ich mir gerne an. Dann gehts sicher schneller mit der Umsetzung im SSCam-Modul. Danke für der Tipp !  :)
Mal schauen wann ich mich wieder verstärkt mit SSCam beschäftige .... will erstmal 93_DbRep noch ein wenig ergänzen. Aber dann habe ich mir wieder Erweiterungen/Verbesserungen für SSCam vorgenommen.

Zitat
Was für Werte nimmst Du hier? 20 Sekunden im Bewegungsmelder oder kleiner?

Meine Kameras (4) habe ich auf eine rectime von 30 Sekunden eingesetllt. Mit der prerectime von 10s  (kommt aus der SVS eigenen Einstellung) sind es dann effektiv 40 s bei mir.
Ich habe FS20 PIRI Melder und auch einen HM-Sen-MDIR-O-2. Den Sendeabstand habe ich auf 24s beim FS20 eingestellt. Beim HM habe ich das Register minInterval auf 15 (20 geht bei dem nicht) gesetzt. Standard ist 30. In dem Fall würde ich die rectime auf z.B. 35 oder 40s setzen.
Bei allen Cams habe ich inzwischen auch das Attr "recextend" gesetzt. Es hat sich einfach als praktisch erwiesen. Dadurch kann der IR immer vor Ablauf der Aufzeichnung mit einem neuen Impuls die Aufzeichnung fortsetzen. Das wird auch im Log mit verbose 3 vermerkt:

2016.08.17 20:40:12.924 3: CamTER - Camera Terrasse Recording with Recordtime 30 s started
2016.08.17 20:40:36.003 3: CamTER - running recording renewed to 30 s

Was ich auch bemerkt habe ist, dass die in der SVS eingestellte prerectime nur dann zieht wenn ein neuer Aufnahmestart länger als <prerectime> nach dem Ende der vorigen Aufnahme erfolgt. Das hat sicher SVS-interne techn. Gründe. Aber es kann dazu führen dass ein IR den Start triggert, aber durch eine kleine Verögerung nicht alles erfasst wird da in dem speziellen Fall die prerectime fehlt welche sonst dafür sorgt dass man immer die z.B. 10s vor dem auslösenden Ereignis mit aufnimmt.
So zumindest meine Beobachtung und ist auch ein Grund weshalb ich gern recextend benutze.

Zitat
Vermutlich hilft da nur ein zusätzlicher Apache / nginx als Proxy

Dazu ist mir eingefallen, dass wir in der Synology bereits einen Webserver haben mit dem man eien virtuellen Host über einen Unterordner im web-Verzeichnis anlegen kann. Wenn es nun gelingen würde z.B. über einen Link das Stammverzeichnis der SVS-Aufnahmen (z.B.  "/volume1/surveillance/Terrasse") dort einzubinden sollte es möglich sein ohne Belastung von FHEM direkt über die Syno die Aufnahmen abzurufen.
Diesen virtuellen Server kann man im Modul über das Attr "videofolderMap" entsprechend bekannt machen. Dadurch wird das Reading VideoFolder überschrieben. Inhalt von "VideoFolder" und "CamLastRec" bilden zusammen den Aufruflink für die Aufnahme.
Diese Idee habe ich noch nicht probiert, aber das werde ich sicherlich mal machen. Sollte doch möglich sein.
Leider ist meine Internet-Uploadgeschwindigkeit zu gering als das ich selbst daraus einen praktischen Nutzen ziehen könnte. Aber es ist sicherlich für andere Nutzer interessant.

Zitat
Da vermutlich viele so wie ich die eMails auf einem Smartphone lesen, wäre es optimal, wenn man in die eMail einen Link der Aufnahme steckt, den man dann mit der App DS cam verknüpfen könnte. Kennst Du hier evtl. einen Weg?

Den kenne ich momentan auch nicht. Aber ich nehme es in meine ToDo-Liste auf. Ggf. frage ich bei Synology nach ob die helfen und einen Weg zeigen können.

Zitat
Einbinden der Livestreams in FHEM habe ich bisher mittels weblink vorgenommen.

Also die Methode über den StmKey klingt interessant. Ich verwende dazu im Modul ( "set <cam> runView Image|Link|Link_open") einen ähnlichen Aufruf der ebenfalls die SYNO.SurveillanceStation.VideoStreaming API nutzt. Er sieht so aus:

http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&cameraId=5&format=mjpeg&_sid="PeDFznZITzP4Q14A0MIN235902"
Wenn du im Modul den Livestream startest, wird ebenfalls auch das Reading "LiveStreamUrl" mit dem Livestreamlink gefüllt.
Das könntest du jetzt auch schon verwenden um dir in einer Mail diesen Link zusenden zu lassen.

Auch hier kannst du über das Attr "livestreamprefix" die URL für den Link beeinflussen um ihn von extern zugreifbar zu machen. Das sieht dann z.B. so aus:

attr livestreamprefix = https://sds1.myds.me:9901
Reading LiveStreamUrl = https://sds1.myds.me:9901/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&cameraId=5&format=mjpeg&_sid="PeDFznZITzP4Q14A0MIN235902"

Ich probiere auf jeden Fall mal die Variante mit stmKey aus. Mal schauen ob es irgendwelche Unterschiede/Vorzüge zur jetzigen Variante gibt. Vielleicht einfach als weitere Möglichkeit.

Jetzt schaue ich mir mal dein Log an. Das ist ein sehr mysteriöses Verhalten.
Sind deine anderen 5 Kameras ebenfalls vom selben Typ oder sind das andere ?
Wenn ich den Sachverhalt Synology schildern muß, wäre das sicherlich ein wichtiger Fakt.

viele Grüße
Heiko





Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 17 August 2016, 23:08:44
Hallo Martin,

die Info welche Kameras du noch hast, waren ja im Log ersichtlich ... brauche ich also nicht mehr.
Ein Lösungsansatz ist mir nach Durchsicht des Logs noch nicht gekommen, es sieht alles unglaublich normal aus.
Allerdings habe ich die Logausgabe von relevanten Informationen im Code an eine ungünstige Stelle positioniert.
In der angehängten Version habe ich das geändert und besser platziert.

Mache doch bitte mit dieser neuen Version einen neuen verbose 5 Log.  Die Version checke ich heute Abend auch noch ein. Würde also auch morgen nach einem Update genügen.
Vielleicht fällt uns/mir dann noch etwas sinnvolles zu dem Problem ein.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 02:13:10
Hallo Heiko,

Mache doch bitte mit dieser neuen Version einen neuen verbose 5 Log.  Die Version checke ich heute Abend auch noch ein. Würde also auch morgen nach einem Update genügen.

anbei das neue Log.

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 03:56:43
Hallo Heiko,

vielen Dank für Deine Ausführungen!

Dazu ist mir eingefallen, dass wir in der Synology bereits einen Webserver haben mit dem man eien virtuellen Host über einen Unterordner im web-Verzeichnis anlegen kann. Wenn es nun gelingen würde z.B. über einen Link das Stammverzeichnis der SVS-Aufnahmen (z.B.  "/volume1/surveillance/Terrasse") dort einzubinden sollte es möglich sein ohne Belastung von FHEM direkt über die Syno die Aufnahmen abzurufen.
Diesen virtuellen Server kann man im Modul über das Attr "videofolderMap" entsprechend bekannt machen. Dadurch wird das Reading VideoFolder überschrieben. Inhalt von "VideoFolder" und "CamLastRec" bilden zusammen den Aufruflink für die Aufnahme.
Diese Idee habe ich noch nicht probiert, aber das werde ich sicherlich mal machen. Sollte doch möglich sein.
Leider ist meine Internet-Uploadgeschwindigkeit zu gering als das ich selbst daraus einen praktischen Nutzen ziehen könnte. Aber es ist sicherlich für andere Nutzer interessant.

Nun, ich war nicht ganz untätig. Die Idee mit dem Webserver auf der Synology war ein super Hinweis. Das Naheliegendste liegt meist so fern ;)

Was habe ich getan (für die, die es nachstellen möchten):
Vorab.. ich habe mehrere Synology NAS (RS812+,RS815+,DS2irgendwas). Meine Surveillance Station läuft auf einer RS812+ mit INTEL Atom Chipsatz. Alle NAS laufen mit DSM 6+. Es sollte jedoch auf allen gleich funktionieren.

Als erstes die Web Station installieren und starten (sofern noch nicht geschehen). In der Web Station läuft der HTTP-Backend-Server bei mir auf Apache 2.2 (Optional: nginx (ungetestet)). PHP ist (aktuell) ausgeschaltet, so wie die persönlichen Websites.

Ich habe einen virtuellen Host portbasiert zugefügt. HTTP lauscht auf 8081, HTTPS auf 8443. Das Dokument-Root ist bei mir der Ordner "/volume1/share/surveillance", kann aber ein beliebiger sein der unter Durchsuchen angezeigt wird. Der virtuelle Host läuft ebenfalls auf Apache 2.2.

Leider (und das ist auch gut so) ist das SVS Verzeichnis hier nicht als Dokument-Root auswählbar. Um dieses nun über den Apachen verfügbar zu machen gibt es zwei Wege. Bei beiden muss man sich via SSH an dem NAS anmelden (ggf. muss das noch in den Einstellungen eingeschaltet werden!). Nach dem Login als admin wechselt man mittels
sudo -iund dem Passwort vom admin zu root.

1. Der schnelle Weg:
ln -s /volume1/surveillance/ /volume1/share/surveillance/svsDas war es auch schon...

2. Der etwas andere Weg (dazu hole ich etwas aus):
Da ich auf meinem Haupt-NAS (RS815+) einige nfs-Exports habe, liegen meine Daten dort ebenfalls unter "/volume1/share/". Hier gibt es auch mp3s, Videos und Fotos. Da ich aber nur ausgewählte Ordner von der Synology indizieren und mittels DLNA, nfs oder SMB freigeben will, binde ich diese Verzeichnisse in die jeweiligen (vorgegeben) gemeinsamen Ordner music, photo und video ein. Dadurch ergibt sich bei mir folgender Verzeichnisbaum (Auszug):

Sieht vielleicht kompliziert aus, ist es aber nicht ;)  Diese Struktur hat den Vorteil, das ich mir die Freigabe "/share" per nfs mounte und somit alle Daten zur Verfügung habe. Auf meinen Multimediageräten oder für die Familie werden nur die gemeinsame Ordner music, photo und video freigegeben. So kann ich in Ruhe z.B. einen Film unterhalb von "/share/video/" in einen speziellen Ordner ablegen und schneiden bevor ich ihn dann final nach "/share/video/share/" für alle freigebe. Dadurch ist er automatisch unter "/video" sichtbar, da "/video" nur ein "Spiegel" von "/share/video/share" ist. Nach dem gleichen Schema verfahre ich für "/music" wenn ich z.B. Playlisten o.a. nicht global freigeben und indizieren lassen will oder bei "/photo" wo z.B. noch unsortierte Bilder o.a. liegt, was nicht indiziert und freigeben wird.

Damit das ganze funktioniert, werden die entsprechenden Verzeichnisse beim Starten des NAS automatisch in die jeweiligen Verzeichnisse gemountet. Dieses Script nutze ich nun auch für die Surveillance Station zur Freigabe der Snapshots und Aufnahmen über die Web Station.

Also zurück zur Surveillance Station:
In dem oben angelegten Dokument-Root ("/volume1/share/surveillance") habe ich ein Verzeichnis "svs" angelegt. In dieses Verzeichnis wird nun die Surveillance Station Verzeichnisstruktur "gespiegelt". Das übernimmt das folgende Script, das als Root im Verzeichnis "/usr/local/etc/rc.d/" des NAS angelegt und ausführbar gemacht werden muss. Der Speicherort "überlebt" auch ein Update des NAS und steht danach wieder zur Verfügung.

Die Datei habe ich "S99mountbind.sh" genannt:
#!/bin/sh
# S99mountbind.sh
# Copyright 2011 M.Fischer

mountbind() {
        # arg1: source
        # arg2: destination
        if [ ! -e $2 ]; then
                /bin/mkdir -p $2
        fi
        /bin/mount -o bind $1 $2
        /usr/syno/bin/synologset1 sys info 0x11800000 "$0: Mounted $1 to $2"
        return
}

umountbind() {
        # arg1: destination
        /bin/umount $1 && \
        /usr/syno/bin/synologset1 sys info 0x11800000 "$0: Unmounted $1"
        return
}

case $1 in
start)
        mountbind /volume1/surveillance/ /volume1/share/surveillance/svs/
        ;;
stop)
        umountbind /volume1/share/surveillance/svs
        ;;
*)
        echo "Usage: $0 [start|stop]"
        ;;
esac

Das Script wird beim Booten bzw. Herunterfahren des NAS automatisch ausgeführt. Den Reboot sparen wir uns und führen das Script mittels "./S99mountbin.sh start" aus und et voila - wie von "Zauberhand" ist die Verzeichnisstruktur der Surveillance Station im gemeinamen Ordner "/share/surveillance/svs/" sichtbar (ja, ich weiss... ein softlink (ln -s) ginge schneller, hat aber den Nachteil, das man Symlinks nicht ohne weiteres exportieren (nfs) kann.).

Optional (gilt für Weg 1 und 2):
Da der Inhalt der Surveillance Station Verzeichnisstruktur nun mittels Web Station zugänglich ist, will man den Inhalt vielleicht etwas schützen. Auch hatte ich das Problem, das Firefox als auch Chrome die Aufnahmen (.mp4) als HTML5 direkt im Browser abspielen wollte, dieses aber mit einer Fehlermeldung, dass das File defekt ist, unterbunden hat. Für letzteres habe ich noch keine Lösung gefunden (vermutlich kein sauberer Header im Videofile), so dass die Aufnahmen derzeit nur zum Download und Abspielen mittels VLC (o.a.) angeboten werden.

Dies alles landet nun in einer ".htaccess" Datei in dem Dokument-Root "/share/surveillance":
.htaccess:
Options +Indexes -ExecCGI -MultiViews -Includes
IndexOptions +FancyIndexing +FoldersFirst +SuppressDescription NameWidth=* +SuppressColumnSorting

# DirectoryIndex: sets the file that Apache will serve if a directory is requested.
DirectoryIndex index.html index.php /index.php

IndexIgnore .htaccess @CmsSyncData @SSDBBackup @SSRECMETA @Thumbnail

# Commonly used filename extensions to character sets.
AddDefaultCharset UTF-8

# AddType allows you to add to or override the MIME configuration
# Force "File Save As" Prompt
AddType application/octet-stream .avi .mpg .mov .mp4
AddAlt "VIDEO" .mp4

# or add HTML-5 Support
#AddType video/ogg .ogv
#AddType video/mp4 .mp4
#AddType video/webm .webm

# AddEncoding allows you to have certain browsers uncompress information on the fly. Note: Not all browsers support this.
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz

## PROTECT FILES
<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh|db|conf|[0-9])$">
  Order Allow,Deny
  Deny from all
</FilesMatch>

<FilesMatch "\.(jpg|mp4)$">
  Order Allow,Deny
  Allow from all
</FilesMatch>


# Force the MIME-type, but don't actually perform a rewrite
RewriteEngine On
RewriteRule ^svs/[^/]+$ - [L,T=application/octet-stream]

SetEnvIf Request_URI ^/svs/([^/]+)/?(.*)(AM|PM|laRec)/[^/]+$ force-download
Header set Content-Disposition attachment env=force-download

Wer will kann auch das "Verzeichnisbrowsing" abschalten oder/und den Zugriff auf die neue Website mittel .htpasswd absichern. Im Dokument-Root kann man noch sein index.html als Einstiegsseite anlegen oder irgendwas mit PHP machen (einschalten!). Dann noch eine Portfreigabe auf dem Router und man kann diese Website nach aussen öffnen ;)

Wer diesen Weg bis hier nachgestellt hat (egal ob Weg 1 oder 2), sollte nun im Browser seiner Wahl direkten Zugriff auf die Snapshots und Aufnahmen im Verzeichnis "svs" bekommen: http://<ip_des_synology_nas>:8081

In FHEM wird bei den Kameras das Attribut "videofolderMap" auf  z.B. "http://192.168.1.9:8081/svs/ipcam02/" gesetzt und schon die Bilder und Aufnahmen aus den eMails oder sonstigen Benachrichtigungen direkt vom NAS "serviert".

Im Wiki wird der Weg über HTTPSERV beschrieben. Dieser Weg belastet aber FHEM beim Zugriff auf die Videos zum Teil erheblich (>7 sek. blocking). Besonders bei zeitkritischen Modulen wie z.B. 1Wire oder HM kann das zu ungewollten Effekten führen. Das wird mittels dieser Lösung verhindert. Der geübte User erledigt das in 10 bis 20 Minuten (je nach gewähltem Weg).

Viel Spaß damit...

Edit: .htaccess angepasst..
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 04:19:56
Hallo Heiko,

Also die Methode über den StmKey klingt interessant. Ich verwende dazu im Modul ( "set <cam> runView Image|Link|Link_open") einen ähnlichen Aufruf der ebenfalls die SYNO.SurveillanceStation.VideoStreaming API nutzt. Er sieht so aus:

[...]
Ich probiere auf jeden Fall mal die Variante mit stmKey aus. Mal schauen ob es irgendwelche Unterschiede/Vorzüge zur jetzigen Variante gibt. Vielleicht einfach als weitere Möglichkeit.

Der Vorteil (aus meiner Sicht) ist, das wenn Du den Stmkey als Reading bereit stellst, dieser für weitere Streams genutzt werden kann ohne die sonst notwendige Erzeugung einer Sessionid. Ich fände das gut und es ist nur ein Reading mehr ;)

Ein "GetStmKey" zeigt die Verwendung des Stmkey und den möglichen Streams:
{
   "data":{
      "pathInfos":[
         {
            "cameraId":7,
            "forceEnableMulticast":false,
            "mjpegHttpPath":"http://192.168.1.9:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=7&StmKey=\"0e2d36491d01a1372085eea0f7bf6b42\"",
            "multicstPath":"rtsp://admin:0e2d36491d01a1372085eea0f7bf6b42@192.168.1.9:554/Sms=7.multicast",
            "mxpegHttpPath":"http://192.168.1.9:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mxpeg&cameraId=7&StmKey=\"0e2d36491d01a1372085eea0f7bf6b42\"",
            "unicastOverHttpPath":"rtsp://192.168.1.9:5000/webman/3rdparty/SurveillanceStation/cgi/rtsp.cgi?Sms=7.unicast&DsId=0&StmKey=0e2d36491d01a1372085eea0f7bf6b42",
            "unicastPath":"rtsp://admin:0e2d36491d01a1372085eea0f7bf6b42@192.168.1.9:554/Sms=7.unicast"
         }
      ]
   },
   "success":true
}

Durch polling hätte man in FHEM immer den aktuell gültigen Stmkey und kann ihn ohne Anmeldung bei der SVS weiterverwenden. Bisher habe ich nicht heraus gefunden, wann der geändert wird. Meine Vermutung: bei Änderungen der Einstellung der Kamera, bzw. (wohl auch) beim en- und disablen. Bin mir da aber nicht sicher und da Du (scheinbar) einen Draht zu den Synology Developern hast, kannst Du das ja vielleicht mal erfragen ;)

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 04:28:16
Ich probiere auf jeden Fall mal die Variante mit stmKey aus. Mal schauen ob es irgendwelche Unterschiede/Vorzüge zur jetzigen Variante gibt. Vielleicht einfach als weitere Möglichkeit.

Vielleicht gibt es ja analog zu Stmkey für den Livestream ein Pendant für die Aufnahmen. Habe jetzt nicht die API dazu durchforstet. Wäre aber genial, wenn man an Stelle die URL zum .mp4 Files auch (oder / und) direkt die URL für einen Stream der Aufnahme bekommt. Mal so als Denkansatz ;)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 August 2016, 08:44:34
Morgen Martin,

super dass die Möglichkeit  mit dem Webserver auf der DS so gut umzusetzen ist !  :)
Die Lösung würde ich gern auch ins Wiki übertragen, vielleicht ein wenig gestrafft. Willst du es selbst tun ? Sonst würde ich es mit meinen Worten erledigen sobald ich diese Variante mal nachgebaut habe oder einen Link zu deinem Beitrag setzen. 

Zitat
Der Vorteil (aus meiner Sicht) ist, das wenn Du den Stmkey als Reading bereit stellst, dieser für weitere Streams genutzt werden kann ohne die sonst notwendige Erzeugung einer Sessionid. Ich fände das gut und es ist nur ein Reading mehr

Keine Frage, das kriege ich hin.  ;)

Zitat
Vielleicht gibt es ja analog zu Stmkey für den Livestream ein Pendant für die Aufnahmen. Habe jetzt nicht die API dazu durchforstet.

Mit der API-Doku bin ich momentan nicht zufrieden. Hier gibt es auch mit der Version 2.4 wieder fehlerhafte bzw. nicht vorhandene Beschreibungen zu den Änderungen an den API's (z.B. SYNO.SurveillanceStation.ExternalRecording: 2 -> 3 ; SYNO.SurveillanceStation.PTZ:  4    ->  5  ) bzw. einer geänderten Aufrufsyntax. Die Methode getstmkey steht in der 2.4 Doku übrigends auch nicht drin. Das sind so Sachen ....

Mittlerweile hat sich ein guter Kontakt zum Product Manager Video Surveillance Station (in D) entwickelt. Er unterstützt mich sehr engagiert in Richtung "seiner" Entwickler in Taiwan. Die letzte Anfrage bzgl. der API Doku hängt aber nun auch schon 14 Tage in der Luft. Ist also auch nicht ganz so einfach  ;)

Schaue mir dein Log heute Abend wieder an.

Schönen Tag und bis später.
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 12:35:04
Hallo Heiko,

super dass die Möglichkeit  mit dem Webserver auf der DS so gut umzusetzen ist !  :)
Die Lösung würde ich gern auch ins Wiki übertragen, vielleicht ein wenig gestrafft. Willst du es selbst tun ? Sonst würde ich es mit meinen Worten erledigen sobald ich diese Variante mal nachgebaut habe oder einen Link zu deinem Beitrag setzen. 

Du kannst die Lösung gerne im Wiki beschreiben, ich habe derzeit kein Account.

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 18:32:25
Hallo Heiko,

Mittlerweile hat sich ein guter Kontakt zum Product Manager Video Surveillance Station (in D) entwickelt. Er unterstützt mich sehr engagiert in Richtung "seiner" Entwickler in Taiwan. Die letzte Anfrage bzgl. der API Doku hängt aber nun auch schon 14 Tage in der Luft. Ist also auch nicht ganz so einfach  ;)

Schaue mir dein Log heute Abend wieder an.

ich habe weiter getestet:
Die besagte Kamera aus FHEM geschmissen und wieder aufgenommen, Werksreset auf der Kamera und Konfiguration, Kamera in SVS gelöscht und wieder eingebunden, equivalentes Model (FOSCAM) in SVS eingetragen und zurück auf INSTAR IN-2905...

Nichts davon führte zum Erfolg. Es bleibt bei dem Errorcode 400.

Dann habe ich mal in der Synology App DS cam bei der Kamera auf Screenshot gedrückt.. und siehe da: Es kommt die Meldung "Aktion nicht ausgeführt". Also hat die App das gleiche Problem mit der Kamera. Also eine weitere IN-2905 ausgegraben und an den Start gebracht.. Selbes Ergebnis! Bei alle anderen Kameras (IN-3001, Axis M1031-W, Vivotek IB8369) funktioniert es.

Obwohl die Meldung "Aktion nicht ausgeführt" in der App angezeigt wird und FHEM bei "snap" ein Error 400 schmeisst, werden die Snapschüsse angelegt! Hier scheint etwas nicht mit der Rückmeldung Kamara <-> API zu funktionieren. Ich glaube Du suchst Dir hier einen Wolf. Der Fehler liegt wohl klar bei Synology oder INSTAR.

Mumpls.. Vorher hatte ich ja mein eigenes FHEM Modul 49_IPCAM.pm für die Schnappschüsse genutzt. Das ging auf jeden Fall, da ich die direkte URL der Kamera genutzt hatte.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 August 2016, 18:45:30
Hallo Martin,

dein Log hatte ich vor ein paar Minuten runtergeladen und suche seitdem in der Syno rum. Auch in /var/log/ war nichts brauchbares zu finden.
Ich hatte im Log auch gesehen dass FHEM/Modul die Fehlerinfo definitiv von der Syno zurückbekommt.
Und nach deinen Testergebnis sehe ich es genauso wie du. Da können wir aufhören mit rumsuchen

Ich schlage vor ich mache eine Meldung an meinen Kontakt bei Synology mit der Bitte sich das mal genauer anzuschauen. Die relevanten Logauszüge mit dem Request und der fehlerhaften API-Antwort schicke ich mit. Ich hoffe damit kommen wir weiter.

Ich würde mich dann eher darauf konzentrieren die strmkey-Funtion ins Modul einzubauen. Die Mitteilung an Synology mache ich heute oder morgen fertig.

Etwas würde ich an deiner Stelle noch probieren ... schau doch mal ob es eine neue Firmware für diese Kamera gibt. Vielleicht ist da was geändert worden.

Gruß,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 August 2016, 19:20:50
Hallo Martin,

bin gerade dabei die Meldung zu formulieren... es betrifft NUR die Schnappschußfunktion ? Ein Aufnahme triggern geht, oder ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 21:05:43
Hallo Heiko,

bin gerade dabei die Meldung zu formulieren... es betrifft NUR die Schnappschußfunktion ? Ein Aufnahme triggern geht, oder ?

ja, es betrifft nur die Schnappschüsse. Und wie bereits erwähnt auch in der DS cam App. Solltest Du unbedingt erwähnen, da es dann vielleicht etwas schneller geht ;)

Gruß Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 21:10:49
Hallo Heiko,

[...]
Und nach deinen Testergebnis sehe ich es genauso wie du. Da können wir aufhören mit rumsuchen
[...]
Ich würde mich dann eher darauf konzentrieren die strmkey-Funtion ins Modul einzubauen. Die Mitteilung an Synology mache ich heute oder morgen fertig.

Ich denke, das macht Sinn.

Etwas würde ich an deiner Stelle noch probieren ... schau doch mal ob es eine neue Firmware für diese Kamera gibt. Vielleicht ist da was geändert worden.

Ja, Firmware hatte ich auch geprüft. Ist auf dem aktuellen Stand.

Noch etwas was mir - unabhängig von diesem Fall - aufgefallen ist:
Wird ein Schnappschuss ausgelöst, dann treten bei mir immer zwei Events auf:
2016-08-18 21:00:49 SSCam GR.ho.CAM.SSS.01 LastSnapId:
2016-08-18 21:00:49 SSCam GR.ho.CAM.SSS.01 LastSnapId: 135
2016-08-18 21:02:01 SSCam GR.ho.CAM.SSS.01 LastSnapId:
2016-08-18 21:02:02 SSCam GR.ho.CAM.SSS.01 LastSnapId: 136

Der "leere" Counter ist hier überflüssig und löst ein notify aus, wenn man nur auf "LastSnapId" filtert ohne zu prüfen ob dahinter noch ein Counter kommt. Ist das nur bei mir so? Tritt bei allen Kameras auf.

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 August 2016, 21:22:14
Hallo Martin,

Zitat
Und wie bereits erwähnt auch in der DS cam App. Solltest Du unbedingt erwähnen, da es dann vielleicht etwas schneller geht ;)

Ja klar, mache ich.

Zitat
Wird ein Schnappschuss ausgelöst, dann treten bei mir immer zwei Events auf:

Das ist so nicht gewollt. Da war ein readingsSingleUpdate mit einem Trigger versehen. Habe ich gleich korrigiert.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 18 August 2016, 21:59:27
Top! Danke Dir, Heiko.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 August 2016, 10:44:38
Hallo Martin,

Meldung ist raus und ich habe auch schon eine Antwort:

Zitat
..vielen Dank, dass Sie mir die umfassende Beschreibung zu diesem Problem mitgeteilt haben.

Ich werde die Infos direkt an die Entwickler weiterleiten und um einen Fix bitten. Da ich ab kommender Woche für zwei Monate nicht im Unternehmen bin, wird Ihnen mein Kollege Herr Cimen (cc) alle weiteren Informationen weiterleiten.
....

Warten wir es mal ab ...

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 19 August 2016, 16:05:12
Danke Heiko.. na dann lassen wir uns mal überraschen ;)

Sollte man ja auch mitbekommen, wenn es en Update für die DS cam App gibt ;)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 21 August 2016, 10:03:14
Hallo Martin, hallo SSCam-Gemeinde,

in der angehängten neuen Version sind die StreamKeys eingebunden.
Hinzugekommen sind die Readings CamForceEnableMulticast (Info), StmKeyUnicst (rtsp) und StmKeymjpegHttp (http).  Die Information kann manuell über "get ... getStmUrlPath" abgerufen werden. Die Readings werden aber auch über Polling erzeugt/aktualisiert sofern es verwendet wird.
Bei mir habe ich inzwischen jede Kamera mit dem pollcaminfoall-Attribut (ca. 200s) am Start.
Falls das Attr livestreamprefix gesetzt ist, wird ebenfalls eine Adaption dieser Readings vorgenommen um sie für den externen Zugriff zu variieren.

Die commandref ist auch angepasst und für den neuen Style (https://forum.fhem.de/index.php/topic,56865.0.html) fit gemacht.

Etwas unschön ist dass durch die langen Strings der neuen Stm-Readings die gesamte Detailseite so umfangreich und aufgebläht erscheint. Vielleicht macht es langsam Sinn ein Attribut (detail-level) einzuführen welches z.B. diese umfangreichen Stm-Readings anzeigt/erzeugen lässt oder es vermeidet. Ich denke noch darüber nach ....
Probiert es bitte mal aus.

Ich habe noch SVS 7.1 und es funktioniert prima. Martin, schau mal bitte wie es mit deiner 7.2 klappt.

viele Grüße,
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 21 August 2016, 12:13:27
Hallo Heiko,

Etwas unschön ist dass durch die langen Strings der neuen Stm-Readings die gesamte Detailseite so umfangreich und aufgebläht erscheint. Vielleicht macht es langsam Sinn ein Attribut (detail-level) einzuführen welches z.B. diese umfangreichen Stm-Readings anzeigt/erzeugen lässt oder es vermeidet. Ich denke noch darüber nach ....
Probiert es bitte mal aus.

Ich habe noch SVS 7.1 und es funktioniert prima. Martin, schau mal bitte wie es mit deiner 7.2 klappt.

Danke dafür! Klappt soweit. Bei der Umsetzung bist Du einen Schritt weiter gegangen in dem Du den ganzen Pfad direkt in die Readings aufgenommen hast. Daher auch die "Zitat" aufgeblähte Detailseite. Mein Gedanke war, das dort nur der StmKey steht und in der commandref der Aufbau der entsprechenden URLs beschrieben steht ala:
http://<ADDRESS:PORT>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=<FORMAT>&cameraId=<CAMERAID>&StmKey="<STMKEY>"Die, die es nutzen wollen, können sich die URL dann zusammenbauen, da ja nur diese 4 Angaben ggf. verändert werden. Und für Beide, also auch für die Partei, die kein Interesse an den URLs haben, dann halt nur der Stmkey in den Readings steht und die Seite nicht "aufgebläht" wirkt.

Wie es nun final implementiert wird ( (a) keine komplette URL oder (b) komplette URL so wie jetzt ) ist mir persönlich egal ;)  Ist schon prima, das es überhaupt drin ist :)

ABER: Dumm nur, das mein ursprünglicher Plan damit nicht klappt.
Ich wollte nämlich via ReadingsVal in einem weblink den StmKey dynamisch auslesen um dann dort den aktuellen Link stehen zu haben. Ich habe nämlich in einem weblink die Streams aller Kameras in einer Tabelle stehen, so dass man in den Raum "Überwachung" klickt und sofort alle Streams sieht. Bisher hatte ich da einen Link auf die Stream-URL der direkt von der Kamera kommt. Dann hatte ich die StreamingUrl gefunden und die eingebunden. Als ich dann Änderungen an Kameras vorgenommen hatte, änderte sich der Stmkey und es wurde nichts mehr angezeigt.

Daher auch die Idee mit dem Reading "Stmkey". Leider parst FHEM den htmlcode bei einem weblink nicht so wie ich annahm. Vielleicht können wir ja gemeinsam Rudi "motivieren", das entsprechende Parsing bei weblink zu integrieren oder ich muss mir eine eigene Subroutine schreiben, die den weblink aktualisiert. Dazu kann ich dann den Trigger "LastUpdateTime" seitens SSCam.pm nutzen um zu prüfen ob sich der Stmkey verändert hat.

Schöner wäre allerdings für die Varianten:
a)
<td>Hof<br /> <img src='http://192.168.1.9:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=7&StmKey="{ReadingsVal("GR.ho.CAM.SSS.01","StmKeymjpegHttp","")}"' width="320" height="240" /> </td>
</tr>
oder b)
<td>Hof<br /> <img src='{ReadingsVal("GR.ho.CAM.SSS.01","StmKeymjpegHttp","")}"' width="320" height="240" /> </td>
</tr>

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 21 August 2016, 12:16:27
Was mir gerade noch einfällt:

ggf. ist es wichtig die User darauf hinzuweisen, dass das öffentliche posten von den Readings "StmKeyUnicst" und "StmKeymjpegHttp" dazu führen kann, das externe unberechtigt Zugriff auf die Streams bekommen, sofern die URL von extern erreichbar ist.

Das sollte nicht ausser Acht gelassen werden.

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 21 August 2016, 13:01:33
Hallo Martin,

Zitat
Mein Gedanke war, das dort nur der StmKey steht und in der commandref der Aufbau der entsprechenden URLs beschrieben steht ala...

Naja, ich möchte dem Nutzer natürlich ein "Sorglospaket" bieten, zumal Synology immer mal wieder die version und damit verbunden die Aufrufsyntax der Calls ändert. Aber du bringst mich auf eine Idee. Ich werde im Standard nur den StmKey auslesen und als Reading ausgeben und mit einem Attribut kann man sich den ganzen Satz StmKeyPaths (es gibts ja mehr) ausgeben wenn man es möchte/braucht. 

EDIT: Dem Nutzer der selbst Hand anlegen möchte kann ich ja noch den Hinweis in der Commanref geben ....
http://<ADDRESS:PORT>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=<FORMAT>&cameraId=<CAMERAID>&StmKey="<STMKEY>"
Das gefällt mir  ;)

Bezüglich deiner Weblink-Anwendung hast du Rudi ja schon angetriggert ... mal schauen was er sagt.

Zitat
ggf. ist es wichtig die User darauf hinzuweisen, dass das öffentliche posten von den Readings "StmKeyUnicst" und "StmKeymjpegHttp" dazu führen kann, das externe unberechtigt Zugriff auf die Streams bekommen, sofern die URL von extern erreichbar ist.

Da hast recht. Ich werde einen Hinweis in die commandref schreiben.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 21 August 2016, 14:28:25
Naja, ich möchte dem Nutzer natürlich ein "Sorglospaket" bieten, zumal Synology immer mal wieder die version und damit verbunden die Aufrufsyntax der Calls ändert. Aber du bringst mich auf eine Idee. Ich werde im Standard nur den StmKey auslesen und als Reading ausgeben und mit einem Attribut kann man sich den ganzen Satz StmKeyPaths (es gibts ja mehr) ausgeben wenn man es möchte/braucht. 

Nur mal so als Idee:
Und / oder zu Deinem Vorschlag könntest Du auch die komplette Url zwecks Schutz vor evtuellen Syno API Änderungen in den Internals ablegen und dem User mittels "get StmKeymjpegHttp" bzw. "get StmKeyUnicst" anzeigen lassen. Bzw. in den Internals immer den aktuell gültigen API Aufruf mit Platzhaltern eintragen und bei der Anzeige nur die entsprechenden Attribute in der Url austauschen.

Übrigens:
Vor 'ner guten Stunde in meinem Weblink alle Urls der Kameras eingetragen und lief. Gerade in der Surveillance Station einen(!) Namen anpassen wollen und schwupps, alle Streams weg, da sich der Stmkey mal wieder für alle(!) Urls verändert hat (ist ja auch nur ein Key für alle).

Und genau um dieses (sinnlose?) Verhalten seitens Synology geht es. Ob das so von denen gewollt ist? Das heisst nämlich im Umkehrschluß, dass man auch jedesmal einen neuen Desktoplink anlegen müsste. Diese Funktionalität nutze ich mangels Windows nicht aber sie bieten es ja im Contextmenü an. Also mal so für die Allgemeinheit gesprochen, betrifft das dann ja auch User die mit FHEM nichts am Hut haben.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 21 August 2016, 15:17:55
Habe gerade mal meine Variante aus #472  ausprobiert .... macht einen guten Eindruck, gibt alles her und ist simpel zu handhaben. Muß noch durchtesten und dokumentieren (ist immer das größte "Problem"  ;) ). Deinen Vorschlag sehe ich als sinvolle Ergänzung ... danke Martin  :) und schaue ihn mir auch noch an.

Zitat
Und genau um dieses (sinnlose?) Verhalten seitens Synology geht es. Ob das so von denen gewollt ist? Das heisst nämlich im Umkehrschluß, dass man auch jedesmal einen neuen Desktoplink anlegen müsste.

Ja, diese Möglichkeit ist demzufolge in der Tat dadurch sinnlos. Wäre wieder eine Anfrage an Synology wert. In diesem Fall würde ich aber den offiziellen Meldungsweg gehen.

Schönen Restsonntag noch !
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 21 August 2016, 17:38:08
Hallo Martin,

anbei nun die finale Version für diesen Task. Im Standard wird das Reading StmKey gefüllt. MIt dem Attribut "showStmInfoFull" lässt sich die komplette Stm-Info zuschalten.

viele Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 August 2016, 20:26:26
Hallo Martin, hallo zusammen,

die neue Version ist dokumetiert und eingecheckt. Ich habe "get ... getStmUrlPath" noch umgeändert auf "get ... stmUrlPath".
Das "get ...get.."  war mir dann doch zu doppelt gemoppelt.  ;)

Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 22 August 2016, 22:40:14
Danke Heiko..

schaue ich mir morgen an. Und nachdem mir ja durch Rudi die Augenbinde bzgl. weblink abgenommen wurde, klappt das nun auch.

Allerdings hatte ich mir zwischenzeitlich eine Routine geschrieben, die dynamisch alle "enabled" Devices vom TYPE=SSCam in einem Weblink zusammenstellt.

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 August 2016, 22:56:38
Hallo Martin.

ich schreibe gerade etwas für das Wiki. Beschreibe die Lösung mit DS Webstation unter 5.2 gleich mit Versand zum Beispiel per Telebot.

Habe den Beitrag von Rudi gesehen aber noch nicht nachgestellt.
Kannst du deine Lösung auch noch kundtun ? Wäre super :)

Grüße
Heiko

Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 22 August 2016, 23:13:41
Kannst du deine Lösung auch noch kundtun ? Wäre super :)

FHEM (myhce01)> list camView.01.lnk
Internals:
   CFGFN      /etc/fhem/conf.d/90_controlcenter.cfg
   DEF        htmlCode {SurveillanceMjpegHtml("camView.01.lnk",320,240);}
   LINK       {SurveillanceMjpegHtml("camView.01.lnk",320,240);}
   NAME       camView.01.lnk
   NR         2791
   STATE      initialized
   TYPE       weblink
   WLTYPE     htmlCode
Attributes:
   alias      Livestream
   group      Kameras - Livestream
   htmlattr   width="800" height="600"
   room       Überwachung

sub SurveillanceMjpegHtml(@) {
  my $name = "SurveillanceMjpegHtml";
  my ( $devWeblink, $width, $height ) = @_;
  my $debug = ( AttrVal( $devWeblink, "verbose", 3 ) == 5 ) ? 1 : 0;
  Log3 $name, 1, "DEBUG $name: devWeblink:$devWeblink width:$width height:$height"
      if ($debug);

  my $htmlCode;

  $htmlCode .=
      sprintf( '<div class="makeTable wide"> <a href="/fhem?detail=%s">Livestream</a>',
    $devWeblink );
  $htmlCode .= '<table class="block wide internals">';
  $htmlCode .= '<tbody>';

  $htmlCode .= '<tr class="odd">';
  my @camDevs = devspec2array("TYPE=SSCam");
  my $cell    = 1;
  foreach my $camDev (@camDevs) {
    my $StmKey = ReadingsVal( $camDev, "StmKey", undef );

    if ( defined($StmKey) && ReadingsVal( $camDev, "Availability", "" ) eq "enabled" ) {

      my $webapi = sprintf(
        'http://%s:%d/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=%d&StmKey="%s"',
        $defs{$camDev}{SERVERADDR},
        $defs{$camDev}{SERVERPORT},
        $defs{$camDev}{CAMID}, $StmKey
      );

      my $html = sprintf(
        '<td>%s<br /> <img src=\'%s\' width=%d height=%d /> </td>',
        $defs{$camDev}{CAMNAME},
        $webapi, $width, $height
      );

      Log3 $name, 1, "DEBUG $name: cell:$cell camDev:$camDev StmKey:$StmKey"
          if ($debug);

      $cell++;

      if ( $cell == 3 ) {
        $htmlCode .= $html;
        $htmlCode .= '</tr>';
        $htmlCode .= '<tr class="odd">';
        $cell = 1;
      }
      else {
        $htmlCode .= $html;
      }

      Log3 $name, 1, "DEBUG $name: cell: $cell"
          if ($debug);

    }
  }

  if ( $cell == 2 ) {
    $htmlCode .= '<td>&nbsp;</td>';
  }

  $htmlCode .= '</tr>';

  $htmlCode .= '</tbody>';
  $htmlCode .= '</table>';
  $htmlCode .= '</div>';
  return $htmlCode;
}

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 August 2016, 23:18:21
Danke Martin !!

Gruß,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 23 August 2016, 20:52:00
Hallo Heiko,

die neue Version ist dokumetiert und eingecheckt. Ich habe "get ... getStmUrlPath" noch umgeändert auf "get ... stmUrlPath".
Das "get ...get.."  war mir dann doch zu doppelt gemoppelt.  ;)

so wie ich das im Moment überblicke, lüppt alles rund ;)

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 11 September 2016, 17:00:49
Hallo - Ich habe hier nun auch eine Synology stehen, die den alleinigen Zweck hat, als NVR für die IP Cams zu fungieren. Das klappt, und auf der Suche nach einer Möglichkeit, dies in FHEM einzubinden, bin ich auf dieses tolle Modul gestoßen. Daher zunächst einmal vielen, vielen Dank an Dich, Heiko, für die Arbeit, die Du hier hineingesteckt hast!

Zwei Cams habe ich schonmal eingebunden nach Doku, das funktioniert. Und auch die Web Station habe ich eingerichtet (nach Martins Anleitung - der schnelle Weg über den Link; danke, Martin!) und kann darüber, wenn ich den Link selbst zusammenstöpsel, auf Aufnahmen zugreifen. Auch das ist toll!

Nun würde ich gerne Live-Bilder der Kameras über die Surveillance Station in FHEM anzeigen (die Cams selbst sind in einem separaten Subnetz, auf das nur die Synology Zugriff hat). Ich habe verstanden, dass ich die Livebilder über einen weblink anzeigen könnte, und dass ich die Adresse für den weblink so zusammensetzen muss:

http://<ADDRESS:PORT>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=<FORMAT>&cameraId=<CAMERAID>&StmKey="<STMKEY>"
Nun gibt es ja das Problem, dass sich der StmKey immer mal ändert. Ich habe auch verstanden, dass ich

set <cam> pollcaminfo 60
setzen sollte, damit die Readings der Cam möglichst immer einen aktuellen StmKey haben.

Das alleine führt aber noch nicht zum Ziel. Damit weblinks funktionieren, müssen diese ja bei geändertem StmKey angepasst werden. Muss ich dann jetzt noch ein notify auf die Cams laufen lassen und bei Änderung des StmKeys den jeweiligen Weblink ändern?

Also weblink definieren (natürlich mit kamerapassend ergänzten Werten):

define wl_CamGarten weblink link http://<ADDRESS:PORT>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=<FORMAT>&cameraId=<CAMERAID>&StmKey="<STMKEY>"
und dann im notify einen modify auf den wl?
modify wl_CamGarten link http://<ADDRESS:PORT>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=<FORMAT>&cameraId=<CAMERAID>&StmKey="<STMKEY>"
?

Oder geht das auch einfacher? Und kann ich irgendwie beim Weblink die Größe einstellen, in der das Video angezeigt wird, oder ist das Fix die Größe des Streams von der Surveillance Station?

Danke!
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 September 2016, 09:13:06
Hallo Motivierte linke Hände,

es freut mich zunächst dass auch bei dir alles soweit gut funktioniert.  :)

Du hast es wahrscheinlich  bereits richtig gemacht die Cam-Informationen über setzen des Attributs "pollcaminfoall" aktuell zu halten bzw. abzurufen (NICHT "set ...").
Bei mir lasse ich alle Cams mit einem Pollintervall von 200s +-20s laufen. Das hat sich als durchaus ausreichend erwiesen.

Um dir Livebilder deiner Cams einzubinden gibt es inzwischen zwei Varianten um es so zu umschreiben.

Variante 1:


Du verwendest
set <cam> runView image   # oder link, link_open
In diesem Fall brauchst du den StmKey nicht. Das Livebild kann mit einem Notify, z.B. wenn ein Melder eine Person am Hauseingang signalisiert, damit aufgerufen werden.  Ein Beispiel (Alermcenter_mit_cam) ist im Anhang. In diesem Beispiel habe ich für die Cam eine Readingsgroup erstellt und in ein Dashbord eingebunden. Das kann man mit allen Cams tun und so frei über die Desktopoberfläche anordnen.

die Definition (aus fhem.cfg) der RG in dem Besipiel sieht so aus:
define RG.CamHE1.Status readingsGroup <%it_camera>,<Verfügbar>,< >,<Status>,< >,<Image>\
CamHE1:Availability,<&nbsp;;&nbsp;;&nbsp;;>,state,<&nbsp;;&nbsp;;&nbsp;;>,<%Start>,<%Stop>
attr RG.CamHE1.Status alias Kamera Hauseingang
attr RG.CamHE1.Status commands { 'Availability.enabled' => 'set $DEVICE disable',\
'Availability.disabled' => 'set $DEVICE enable',\
'RG.CamHE1.Status.Start' => 'set %DEVICE runView image',\
'RG.CamHE1.Status.Stop' => 'set %DEVICE stopView',\
}
attr RG.CamHE1.Status group Kamera Hauseingang
attr RG.CamHE1.Status nameStyle style="color:black;;font-weight:bold"
attr RG.CamHE1.Status sortDevices 1
attr RG.CamHE1.Status sortby 1
attr RG.CamHE1.Status valueColumns { 'Image' => 'colspan="2"'}
attr RG.CamHE1.Status valueIcon {'Availability.enabled' => 'remotecontrol/black_btn_GREEN',\
'Availability.disabled' => 'remotecontrol/black_btn_RED',\
'state.inactive' => 'StandBy',\
'state' => '%devStateIcon'}

Das Notify zum Start/Stop des Livebildes könnte so aussehen:
define N.MelderHE1.CamHE1.LiveView NOTIFY MelderHE1:on.* set CamHE1 runView image; defmod camhe1stopview at +00:05:00 set CamHE1 stopView

Die Größe des Cam-Bildes kannst du in der Kameradefinition mit dem Attribut "htmlattr" festlegen,z.B.:


width=500,height=325,top=200,left=300

Variante 2

Diese Variante verwendet den StmKey und ist dafür geeignet die Livebilder der Cams dauerhaft darzustellen. Martin (danke Martin! ) hat diese Variante im Beitrag https://forum.fhem.de/index.php/topic,45671.msg484124.html#msg484124 (https://forum.fhem.de/index.php/topic,45671.msg484124.html#msg484124) beschrieben.
Ich gebe dir hier das Beipiel mit meinen Worten wieder so wie ich es auch bei mir umgesetzt habe.

Zunächst baust du in deine 99_MyUtils.pm eine Subfunktion ein:

##############################################################################
########    Weblink WBL.sscamview Livestreamübersicht             ############
##############################################################################
sub SurveillanceMjpegHtml(@) {
  my $name = "SurveillanceMjpegHtml";
  my ( $devWeblink, $width, $height ) = @_;
  my $debug = ( AttrVal( $devWeblink, "verbose", 3 ) == 5 ) ? 1 : 0;
  Log3 $name, 1, "DEBUG $name: devWeblink:$devWeblink width:$width height:$height"
      if ($debug);

  my $htmlCode;

  $htmlCode .=
      sprintf( '<div class="makeTable wide"> <a href="/fhem?detail=%s">Livestream</a>',
    $devWeblink );
  $htmlCode .= '<table class="block wide internals">';
  $htmlCode .= '<tbody>';

  $htmlCode .= '<tr class="odd">';
  my @camDevs = devspec2array("TYPE=SSCam");
  my $cell    = 1;
  foreach my $camDev (@camDevs) {
    my $StmKey = ReadingsVal( $camDev, "StmKey", undef );

    if ( defined($StmKey) && ReadingsVal( $camDev, "Availability", "" ) eq "enabled" ) {

      my $webapi = sprintf(
        'http://%s:%d/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=%d&StmKey="%s"',
        $defs{$camDev}{SERVERADDR},
        $defs{$camDev}{SERVERPORT},
        $defs{$camDev}{CAMID}, $StmKey
      );

      my $html = sprintf(
        '<td>%s<br /> <img src=\'%s\' width=%d height=%d /> </td>',
        $defs{$camDev}{CAMNAME},
        $webapi, $width, $height
      );

      Log3 $name, 1, "DEBUG $name: cell:$cell camDev:$camDev StmKey:$StmKey"
          if ($debug);

      $cell++;

      if ( $cell == 4 ) {
        $htmlCode .= $html;
        $htmlCode .= '</tr>';
        $htmlCode .= '<tr class="odd">';
        $cell = 1;
      }
      else {
        $htmlCode .= $html;
      }

      Log3 $name, 1, "DEBUG $name: cell: $cell"
          if ($debug);

    }
  }

  if ( $cell == 2 ) {
    $htmlCode .= '<td> </td>';
  }

  $htmlCode .= '</tr>';

  $htmlCode .= '</tbody>';
  $htmlCode .= '</table>';
  $htmlCode .= '</div>';
  return $htmlCode;
}

Die Funktion generiert eine Tabelle in deren Spalten und Zeilen die Livestreams aller mit SSCAM eingebundenen Cams dargestellt werden.
Mit der Zeile " if ( $cell == 4 ) ..." kannst du die Anzahl der Livebilder in einer Zeile bestimmen.
Nun legst du noch die Weblink-Def an (aus fhem.cfg) :

#############################################
## Liveview aller Kameras
#############################################
define WBL.sscamview weblink htmlCode {SurveillanceMjpegHtml("WBL.sscamview",500,375)}
attr WBL.sscamview alias Livestream
attr WBL.sscamview group Kameras - Livestream
attr WBL.sscamview htmlattr width="800" height="600"
attr WBL.sscamview room Livestream

Hier legst dir die Bildgröße mit den Übergabewerten beim Aufruf der Subfunktion "{SurveillanceMjpegHtml("WBL.sscamview",500,375)}" fest.
Der StmKey wir immer aktuell aus dem Gerätehash ermittelt.
Du brauchst kein weiteres Notify o.ä. zu bauen. Es reicht über pollcaminfoall (Attribut!) die Werte aktuell zu halten.

Ich hoffe dir helfen diese Hinweise etwas weiter.

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 12 September 2016, 13:59:06
Danke, Heiko. Das sind alles schon sehr ausgefeilte Lösungen. Ich hatte erstmal eine ganz banale Lösung gesucht, überhaupt das Bild einer Kamera anzuzeigen, ohne Readingsgroup oder irgendwas.

Was da funktionieren scheint (nur, falls sonst noch jemand mal über diese Frage stolpern sollte), ist, die jeweilige Kamera auf dem Floorplan zu platzieren. Dann zeigt er das Icon an, bis man über set cam runView Image die Wiedergabe startet. Bei Wiedergabestart wird aus dem Icon das Livebild der Kamera. Platzieren kann man das Icon frei auf dem Floorplan, die Größe der Wiedergabe nimmt fhem aus dem htmladdr Attribut.

Das ist schonmal schön. Das könnte man, wie in Deinem Beispiel, mit einem Playknopf kombinieren und hätte was, was funktioniert.

Lieber wäre mir dass die Wiedergabe des jeweiligen Livestreams automatisch startet, wenn man den jeweiligen Floorplan aufruft. Bei einem Floorplan, der nur das Livebild anzeigen soll, ist ein Playknopf oder Ähnliches ja eigentlich überflüssig. Ein notify auf den Aufruf eines Floorplans scheint nicht möglich zu sein, und die FHEMWEB-Objekte haben keine Readings, auf die man ein notify laufen lassen könnte... Hast Du dazu noch eine gute Idee? Sonst werde ich das wohl doch erstmal mit Play-Button umsetzen.

(Das mit dem notify und Abspielen bei Bewegung habe ich verstanden, das könnte ich umsetzen. Da könnte man auch automatisch auf den richtigen Floorplan mit Anzeige umschalten. Mir geht es aktuell um das Livebild, auch wenn gerade keine Bewegung wahrgenommen wird.)

Danke, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 12 September 2016, 22:51:09
Hallo Christian,
Momentan bin ich unterwegs und kann schlecht etwas ausprobieren. Aber die umfangreiche Variante 2 von Martin lässt sich sicherlich für nur eine Kamera adaptieren bzw. über diesen Weg nur einen Kamerastream anzeigen.
Rudi König hat in diesem Beitrag https://forum.fhem.de/index.php/topic,56882.msg483819.html#msg483819
einen Weg zur zur Anzeige der Livestreams aufgezeigt.
Kannst ja mal versuchen das umzusetzen. Ich glaube das ist eher das was du suchst. Bei Gelegenheit schaue ich es !ir auch mal an.

Grüsse,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 13 September 2016, 00:24:45
########################################
#
sub SurveillanceMjpegHtmlSingle(@) {
  my $name = "SurveillanceMjpegHtmlSingle";
  my ( $devWeblink, $devCam, $width, $height ) = @_;
  my $debug = ( AttrVal( $devWeblink, "verbose", 3 ) == 5 ) ? 1 : 0;
  Log3 $name, 1,
      "DEBUG $name: devWeblink:$devWeblink devCam:$devCam width:$width height:$height"
      if ($debug);

  my $StmKey = ReadingsVal($devCam,"StmKey",undef);

  my $htmlCode;

  $htmlCode .= sprintf('<div class="makeTable wide"> <a href="/fhem?detail=%s">Livestream</a>',$devWeblink);
  $htmlCode .= '<table class="block wide internals">';
  $htmlCode .= '<tbody>';
  $htmlCode .= '<tr class="odd">';

  if(defined($StmKey) && ReadingsVal($devCam, "Availability", "") eq "enabled") {

    my $webapi = sprintf('http://%s:%d/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=%d&StmKey="%s"',
      $defs{$devCam}{SERVERADDR},
      $defs{$devCam}{SERVERPORT},
      $defs{$devCam}{CAMID},
      $StmKey);

    my $html = sprintf('<td>%s<br /> <img src=\'%s\' width=%d height=%d /> </td>',
      $defs{$devCam}{CAMNAME},
      $webapi,
      $width,
      $height);

    Log3 $name, 1,
        "DEBUG $name: camDev:$devCam StmKey:$StmKey"
        if($debug);

    $htmlCode .= $html;

  }

  $htmlCode .= '</tr>';
  $htmlCode .= '</tbody>';
  $htmlCode .= '</table>';
  $htmlCode .= '</div>';

  return $htmlCode;
}

Internals:
   CFGFN      /etc/fhem/conf.d/locations/GR.ga.cfg
   DEF        htmlCode { SurveillanceMjpegHtmlSingle("GR.ga.CAM.SSS.01.lnk","GR.ga.CAM.SSS.01",320,240) }

   LINK       { SurveillanceMjpegHtmlSingle("GR.ga.CAM.SSS.01.lnk","GR.ga.CAM.SSS.01",320,240) }

   NAME       GR.ga.CAM.SSS.01.lnk
   NR         1771
   STATE      initialized
   TYPE       weblink
   WLTYPE     htmlCode
Attributes:
   alias      IPCam Garten Livestream
   group      Kamera
   htmlattr   width="320" height="240"
   room       GR Garten
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Baerli34 am 13 September 2016, 12:22:19
Moinsen,

bekomme seit kurzem ein "Message for Errorcode "407" not found. Please turn to Synology Web API-Guide" zurück und verstehe nicht ganz woran es liegt.
Habe auch schon die Surveillance-Station neu installiert und bekomme es trotzdem wieder.
Im Browser testweise die API aufgerufen und es funtzt:
webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=1&account=cam&passwd=xxxx&session=SurveillanceStation
webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=1
Wobei hier mitterweile ohne StmKey? Bin gerade etwas verwirrt wie ihr sicherlich merkt^^ Die API sagt übrigens sowas wie CMS closed??
ein webapi/entry.cgi?api="SYNO.SurveillanceStation.CMS"&camId=1&version="1"&method="GetCMSStatus"  bringt aber
{"data":{"CMSEnabled":true},"success":true}

Wer kann mich mal etwas erhellen  ;D

Danke, lg Jörg
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 September 2016, 13:47:45
Moin Jörg,
So sieht man noch nicht viel.
Schalte für eine Cam mal verbose 4 ein und führe eine Funktion aus. Welche ist erstmal egal.
Wichtig ist dann der Auszug aus dem Log der mit "getapisites" beginnt und mit dem Logout endet.
Das siehst du dann schon.
Poste bitte den Auszug (kann viel sein) und bitte auch ein "list <cam>".

Dann sind wir sicherlich schlauer.

Viele Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 13 September 2016, 15:37:35
Nochmal vielen Dank an Heiko und Martin! Mit diesen Tipps habe ich einen Weblink zusammenbasteln können, der dann bei Auswahl der jeweiligen Kamera aus einem Dummy das Livebild der ausgewählten Kamera anzeigt. Im Prinzip muss man dazu nur ein notify auf den state des Dummies machen, der dann den Weblink ändert:

modify wl_Camview htmlCode { SurveillanceMjpegHtmlSingle("wl_Camview",$EVENT, 320, 240) }';
Eine andere Frage, mehr zurück zu den Interna des Moduls habe ich noch: Ich habe Zoom-Kameras, d.h. keine "vollwertigen" PTZ Kameras, sondern sie können nur zoomen. Das führt regelmäßig zu Fehlern im Log:

2016.09.13 15:13:44 3: Cam_Garten - Polling now: 15:13:44 , next Polling: 15:16:44
2016.09.13 15:13:47 3: Cam_Garten - Query event list of Garten successfully done
2016.09.13 15:13:51 3: Cam_Garten - Camera-Informations of Garten retrieved
2016.09.13 15:13:54 3: Cam_Garten - Enumerate motion detection parameters of Garten successfully done
2016.09.13 15:13:56 3: Cam_Garten - Capabilities of Camera Garten retrieved
2016.09.13 15:13:59 1: Cam_Garten - ERROR - Operation Getptzlistpreset of Camera Garten was not successful. Errorcode: 400 - Execution failed

Falls es hilft, noch ein list auf die Kamera:

Internals:
   CAMID      1
   CAMNAME    Garten
   CFGFN
   CREDENTIALS Set
   DEF        Garten 192.168.x.x
   NAME       Cam_Garten
   NR         3411
   OPMODE     Getcapabilities
   SERVERADDR 192.168.x.x
   SERVERPORT 5000
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     on
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 6
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISTMMAXVER 2
     APISTMPATH SurveillanceStation/streaming.cgi
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 6
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CAMLASTRECID 1160
     CREDENTIALS vorhanden
     OLDVALPOLL 180
     OLDVALPOLLNOLOGGING 0
     OPENWINDOW 0
     RECTIME_DEF 15
     WLTYPE     image
     Svsversion:
       BUILD      4664
       MAJOR      7
       MINOR      2
   Readings:
     2016-09-13 15:34:51   Availability    enabled
     2016-09-13 15:34:48   CamEventNum     33
     2016-09-13 15:34:51   CamExposureControl Auto
     2016-09-13 15:34:51   CamExposureMode Auto
     2016-09-13 15:32:11   CamForceEnableMulticast 0
     2016-09-13 15:34:51   CamIP           192.168.x.x
     2016-09-13 15:34:48   CamLastRec      20160913PM/Garten20160913-152535-1473773135.mp4
     2016-09-13 15:34:48   CamLastRecTime  13.09.2016 / 15:25:35 - 15:26:03
     2016-09-13 15:34:51   CamLiveMode     Liveview from DS
     2016-09-13 15:34:51   CamModel        P3225-LVE
     2016-09-13 15:34:55   CamMotDetSc     SVS, sensitivity: 92, threshold: 3
     2016-09-13 15:34:51   CamPort         80
     2016-09-13 15:34:51   CamPreRecTime   5
     2016-09-13 15:34:51   CamPtSpeed      3
     2016-09-13 15:34:51   CamRecShare     surveillance
     2016-09-13 15:34:51   CamRecVolume    /volume1
     2016-09-13 15:34:51   CamVendor       AXIS
     2016-09-13 15:34:51   CamVideoFlip    0
     2016-09-13 15:34:51   CamVideoMirror  1
     2016-09-13 15:34:51   CamblPresetSpeed 0
     2016-09-13 15:32:00   CapAudioOut     0
     2016-09-13 15:32:00   CapChangeSpeed  0
     2016-09-13 15:32:00   CapPTZAbs       0
     2016-09-13 15:32:00   CapPTZAutoFocus 1
     2016-09-13 15:32:00   CapPTZDirections 0
     2016-09-13 15:32:00   CapPTZFocus     support step operation
     2016-09-13 15:32:00   CapPTZHome      0
     2016-09-13 15:32:00   CapPTZIris      false
     2016-09-13 15:32:00   CapPTZPan       false
     2016-09-13 15:32:00   CapPTZTilt      false
     2016-09-13 15:32:00   CapPTZZoom      support step operation
     2016-09-13 15:34:51   DeviceType      PTZ
     2016-09-13 15:34:57   Error           none
     2016-09-13 15:34:57   Errorcode       none
     2016-09-13 15:34:51   LastUpdateTime  13.09.2016 / 15:34:51
     2016-09-12 12:04:43   PollState       Active
     2016-09-13 15:34:51   Record          Stop
     2016-09-11 15:00:41   SVSlicenseNumber 2
     2016-09-11 15:00:41   SVSuserPriv     Admin
     2016-09-11 15:00:41   SVSversion      7.2-4664
     2016-09-13 15:32:11   StmKey          3e984addc05d422a5320da3a0dbce10a
     2016-09-13 15:34:51   UsedSpaceMB     0.543
     2016-09-13 15:34:51   VideoFolder     http://Adresse/svs/Garten/
     2016-09-13 15:34:51   state           off
Attributes:
   htmlattr   width=250,height=140,top=100,left=100
   pollcaminfoall 180
   room       Cfg_Cam
   videofolderMap http://Adresse/svs/Garten/
   webCmd     on:off:snap:enable:disable

Kann man diese Fehlermeldung irgendwie loswerden?

Danke, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 September 2016, 17:15:24
Hi Christian,

Zitat
Kann man diese Fehlermeldung irgendwie loswerden?

Wenn du verbose = 0 für diese Cam setzt sollte Ruhe sein.
Und wenn du das Attribut "pollnologging" setzt werden diese allgemeinen Polling-Informationen nicht in das Log geschrieben. Wenn alles funktioniert braucht man die üblicherweise nicht im Log.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 13 September 2016, 18:25:28
Hallo Martin,
Synology hat sich übrigens zu unserem Problem noch nicht zurück gemeldet.
Wenn ich wieder zu Hause und wieder voll "supportfähig" bin frage ich bei meinem Kontakt mal nach dem Stand.

Grüsse,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 13 September 2016, 19:29:49
Hallo Heiko,

Synology hat sich übrigens zu unserem Problem noch nicht zurück gemeldet.
Wenn ich wieder zu Hause und wieder voll "supportfähig" bin frage ich bei meinem Kontakt mal nach dem Stand.

ja, ich beobache auch ob es seitens Synology Updates gibt. Bisher hat sich da jedoch auch noch nichts getan.

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Baerli34 am 14 September 2016, 06:57:11
Moinsen,

so....hier mal ein Auszug des Logs
2016.09.14 06:44:56 4: scam1 - Credentials read from RAM: cam ********
2016.09.14 06:44:56 4: scam1 - Call-Out now: http://192.168.0.36:5000/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=Login&account=cam&passwd=*****&format="sid"
2016.09.14 06:44:56 4: scam1 - Credentials read from RAM: cam ********
2016.09.14 06:44:56 4: scam1 - JSON decoded: $VAR1 = {
          'success' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ),
          'error' => {
                       'code' => 407
                     }
        };

2016.09.14 06:44:56 1: scam1 - ERROR - Login of User cam unsuccessful. Errorcode: 407 - Message for Errorcode "407" not found. Please turn to Synology Web API-Guide.

Der Query vorher funktioniert einwandfrei deswegen spare ich mir den hier mal- Witzigerweise kann ich den Auth ohne Probleme von Hand ausführen und bekomme dann ein {"data":{"is_portal_port":false,"sid":"xxxxxgr0jmHOw1650O6N954500"},"success":true} - ein Problem mit dem Pass würde doch aber eine andere Fehlermeldung provozieren?  ??? :o

Hier noch der List:
Internals:
   CAMNAME    FOSCAM
   CREDENTIALS Set
   DEF        FOSCAM 192.168.0.36
   NAME       scam1
   NR         603
   OPMODE     geteventlist
   SERVERADDR 192.168.0.36
   SERVERPORT 5000
   STATE      off
   TYPE       SSCam
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 6
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMEVENT SYNO.SurveillanceStation.Camera.Event
     APICAMEVENTMAXVER 1
     APICAMEVENTPATH entry.cgi
     APICAMMAXVER 8
     APICAMPATH entry.cgi
     APIEVENT   SYNO.SurveillanceStation.Event
     APIEVENTMAXVER 5
     APIEVENTPATH entry.cgi
     APIEXTEVT  SYNO.SurveillanceStation.ExternalEvent
     APIEXTEVTMAXVER 1
     APIEXTEVTPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 3
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 5
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APISTM     SYNO.SurveillanceStation.Streaming
     APISTMMAXVER 2
     APISTMPATH SurveillanceStation/streaming.cgi
     APISVSINFO SYNO.SurveillanceStation.Info
     APISVSINFOMAXVER 6
     APISVSINFOPATH entry.cgi
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     APIVIDEOSTM SYNO.SurveillanceStation.VideoStreaming
     APIVIDEOSTMMAXVER 1
     APIVIDEOSTMPATH entry.cgi
     CREDENTIALS \6KzRpOxZZV{j}K5
     OLDVALPOLLNOLOGGING 0
     RECTIME_DEF 15
     Svsversion:
   Readings:
     2016-09-13 16:35:30   Availability    ???
     2016-09-14 06:44:56   Error           Message for Errorcode "407" not found. Please turn to Synology Web API-Guide.
     2016-09-14 06:44:56   Errorcode       407
     2016-09-13 16:35:30   PollState       Inactive
     2016-09-13 16:35:30   state           off
Attributes:
   room       test
   verbose    4
   webCmd     on:off:snap:enable:disable

Surveillance Station 7.2.3-4664

danke vg, Jörg
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 September 2016, 09:17:45
Hallo Jörg,
Ja du hast Recht, ein falsches PW würde eine andere Meldung bringen. Habe eine Vermutung dass das Problem mit der Apiauth-Version zusammenhängt.
Stelle dir in Kürze mal eine Version zum Test zur Verfügung.
Seit wann hast du das Problem ? Hast du DSM oder SVS upgedated ? Deine Inst mit SSCam lief ja schon wenn ich das richtig gelesen habe.
Ist schon eigenartig dass du das Login manuell erfolgreich durchführen kannst.
Ist es exakt der gleiche Aufruf den du auch im Log siehst oder ist er in einem winzigen Detail anders ?

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Baerli34 am 14 September 2016, 09:34:08
Hiho,

ist exakt der gleiche Aufruf - natürlich mit dem Pass. Und ja - ein DSM Update wurde durchgeführt sowie leider einige Änderungen
mehr die aber eigentlich nichts mit dem Surveillance Modul zu tun hatten (hab das nas relativ neu). Habe leider auch
wohl zu vorschnell in FHEM die Kams rausgeworfen und versucht neu zu initialisieren  ::) Wobei mir einfällt dass das Passwort auch geändert wurde -
aber wie du ja auch schon sagtest - würde eine andere Fehlermeldung provozieren! Und ich habe es mehrfach neu gesetzt und fhem auch neu gestartet
sowie sogar den pi  :-[

Kurzes Update: ein  curl 'http://192.168.0.36:5000/webapi/auth.cgi' -d api=SYNO.API.Auth -d version=6 -d method=Login -d account=cam -d passwd=xxxx -d format=sid bringt mir auch den 407er auf dem Pi  ::) Ergo werde ich jetzt erst mal da weiterforschen - wie gesagt ein Browseraufruf mit den Get-Params hatte funktioniert...  >:(


grüsse, Jörg
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 September 2016, 10:27:18
Das Hauptproblem wird vermutlich das DSM Update sein. Synology ändert gern einmal die internen Versionen seiner API und dokumentiert leider die dazu gehörigen Syntaxänderungen nicht konsequent.
Komisch ist allerdings wieso der manuelle Login mit exakt dem gleichen Aufruf funktioniert.
Das verstehe ich momentan noch nicht.
Bitte ein bisschen Geduld .... Bin noch unterwegs und melde mich wieder.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 September 2016, 10:53:00
Ich glaube ein anderer User hatte ein ähnliches Problem einige Seiten zuvor. Wir haben dann herausbekommen dass der FHEM-Host im DSM gesperrt war. In der Security Einstellung des DSM .. blockiere IP-Adresse wenn Login ein paar Mal falsch o.ä. Ich hab die genaue Stelle nicht im Kopf.
Firewall auf DSM ist auch eine heisse Spur.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Baerli34 am 14 September 2016, 11:28:14
Sehr ärgerlich und tut mir gerade ein wenig leid deine Zeit verschwendet zu haben  8)
Dachte mir auch gerade sowas nachdem es überall funktionierte nur nicht auf dem PI  ::)
Und siehe da - in der Automatischen Blockierung hatte ich die Liste übersehen und da stand der Pi - jetzt in
die Whiteliste aufgenommen und alles schön - danke für deine Geduld. Werde mich demnächst hoffentlich hier mal
revanchieren können (komme aus der Entwicklung)...

lg, Jörg
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 14 September 2016, 11:39:59
Hi Jörg,
Kein Problem. Dadurch lernen wir alle.
Werde den unbekannten 407er mit einem Text versehen und so vielleicht zukünftig die Fehlersuche erleichtern.
Hoffe das er dann nicht in die Irre führt  ;)

Würde mich freuen wenn du mithilfst das Modul oder Lösungen damit und drumherum zu verbesern.
Wenn du Berechtigung hast kannst du auch einen Hinweis im Wiki hinterlassen. Es gibt dort eine Seite für SScam.

Grüsse,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 15 September 2016, 17:45:05
Hallo zusammen,

können bitte mal ein oder gern auch mehrere Nutzer (vor allem mit SVS Version 7.2)  die angehängte Version testen !?

Ich habe neben einem Fehlertext für den error 407 ( @Jörg, vllt. kannst du das nochmal bei dir simulieren ) die Funktion Start/Stop einer Aufnahme auf die neue Syntax für SVS 7.2 erweitert.
Neu ist ebenfalls die Möglichkeit mit dem Attribut simu_SVSVersion die Version 7.1 zu simulieren (wenn man eine SVS 7.2 hat). Der Funktionsumfang ändert sich dadurch nicht. Sowohl mit als auch ohne dieses Attrbut sollte alles normal funktionieren. Gedacht ist diese Möglichkeit vor allem zur Fehlersuche bzw. werden in Zukunft vllt. auch Unterschiede im Funktionsumfang spürbar.

Freue mich auf eure Rückmeldungen !

viele Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 15 September 2016, 22:48:19
Hi Heiko,

ich habe hier SVS 7.2. Habe die Testversion eingespielt. Bisher keine Auffälligkeiten. Wenn ich was Spezielles machen soll, sag gerne bescheid.

Grüße
Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 September 2016, 07:56:32
Hi Christian,

danke für die Rückmeldung. Aufnahmetest hast du sicher schon gemacht.
Auch mit und ohne dem Attribut simu_SVSVersion = 7.1-xxxx ?

Wenn du es versuchen möchtest dann setzte die IP deines FHEM-Servers im DSM -> Sicherheit -> automatische Blockierung auf die Blockierungsliste.
Dann sollte in der Cam ein sinnvoller Fehlertext erscheinen sobald eine Aktion ausgeführt werden soll.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 16 September 2016, 12:29:51
So, hab mal mit simu_SVSVersion herumgespielt.

Ohne gesetztes Attribut funktioniert alles (Aufnahme starten/stoppen), wie es soll.
Mit Attribut auf 7.1 funktioniert alles, wie es soll.
Mit Attribut 7.2 ist irgendwas im Argen:

Man könnte meinen, ich hätte SVS 7.1 statt 7.2. Allerdings sagen die Kamera-Readings:

SVSversion 7.2-4664
Und auch auf der Syno auf der Weboberfläche der SS steht 7.2.  :)
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 September 2016, 13:03:29
Die 7.2 glaube ich dir  :)

Kannst du mir bitte einen Log 4 Auszug machen wo auch das (fehlgeschlagene) Stopkommando mit drin ist ?

Dann finde ich den Fehler sicherlich schneller ...

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 16 September 2016, 13:34:45
Das ist länger... :-)

(edit: Nachdem das Format auch beim Nacheditieren immer zerschossen wurde, habe ich den Text nun gelöscht, er hat seinen Zweck ja wohl erfüllt. :) )
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 September 2016, 14:21:15
Jo danke ... das war ein typischer Copy & Paste - Fehler.  ???
Kannst du das alles bitte wieder mit der angehängten Version testen !?

Danke und Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 16 September 2016, 18:16:43
Meinem groben Wahrnehmungsraster zufolge: Löppt!

(Kameras gehen an und gehen aus, bewegungsmeldergesteuert. Mit und ohne Attribut, egal, wie es gesetzt ist.)

Eins ist mir aber doch aufgefallen:

Wenn die Kamera gerade gepollt wird, funktioniert die Aufnahme nicht oder nur sehr verzögert:

2016.09.16 18:08:19 3: Cam_Terrasseneingang - Polling now: 18:08:19 , next Polling: 18:11:19
2016.09.16 18:08:20 3: Cam_Terrasseneingang - Query event list of Terrasseneingang successfully done
2016.09.16 18:08:23 3: Cam_Terrasseneingang - Camera-Informations of Terrasseneingang retrieved
2016.09.16 18:08:24 3: Cam_Terrasseneingang - Enumerate motion detection parameters of Terrasseneingang successfully done
2016.09.16 18:08:26 1: n_Motion: triggered, Device >Motion_Terrasseneingang<, Event >motion<
2016.09.16 18:08:27 3: Cam_Terrasseneingang - Capabilities of Camera Terrasseneingang retrieved
2016.09.16 18:08:28 1: Cam_Terrasseneingang - ERROR - Operation Getptzlistpreset of Camera Terrasseneingang was not successful. Errorcode: 400 - Execution failed
2016.09.16 18:08:30 1: Cam_Terrasseneingang - ERROR - Operation Getptzlistpatrol of Camera Terrasseneingang was not successful. Errorcode: 400 - Execution failed
2016.09.16 18:08:31 1: n_Motion: triggered, Device >Motion_Terrasse<, Event >motion<
2016.09.16 18:08:33 3: Cam_Terrasse - Camera Terrasse Recording with Recordtime 35 s started
2016.09.16 18:08:37 3: Cam_Terrasseneingang - Camera Terrasseneingang Recording with Recordtime 35 s started
2016.09.16 18:08:52 3: Cam_Terrasse - Polling now: 18:08:52 , next Polling: 18:11:52
2016.09.16 18:08:54 3: Cam_Terrasse - Query event list of Terrasse successfully done
2016.09.16 18:08:56 3: Cam_Terrasse - Camera-Informations of Terrasse retrieved
2016.09.16 18:08:59 3: Cam_Terrasse - Enumerate motion detection parameters of Terrasse successfully done

Wie zu sehen: Bewegungsmelder Terrasseneingang (ich kam raus) sprach an, Aufnahme startete in diesem Fall, aber erst 7s später. Bei einem anderen Test startete sie nicht.

Normal ist, was Bewegungsmelder Terrasse (dahin wanderte ich weiter) macht: Er meldet, und 2s später startet die Aufnahme.

Nun kann man sagen, 180s Pollzeit ist zu wenig, ich sollte das hochsetzen. Das verringert aber nur das statistische Risiko, dass das Problem auftritt. Ich würde es gerne lösen...

Auf "pollcaminfo" ganz verzichten und manuell ein "get <cam> caminfoall", wenn der Readingstimestamp zu alt ist und der StmKey oder etwas Ähnliches benötigt wird?

Grübelnd,
Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 September 2016, 19:02:14
Hi Christian,

Fehler ist beseitigt ... sieht gut aus.

Zu deinem Problem.
Das Polling erzeugt natürlich eine gehörige "Abfragelast". Synology stellt leider die Informationen nicht in einer einzelnen Abfrage zur Verfügung. Vielmehr muss ich eine ganze Reihe von Calls absetzen um alle Infos zu bekommen.
Ein Ziel meiner Weiterentwicklung am Modul ist es die Anzahl der Calls gegen die SVS zu verringern um das Zeitverhalten zu verbessern.
Ich habe mir zwar vorgenommen im Herbst weiterzumachen, aber ich werde dir nachher eine Version zur Verfügung stellen, in der ich das interne Zeitregime weiter gestrafft habe.
Vielleicht hilft dir das schon weiter (es kommt auch etwas darauf an wie performant dein FHEM-Host mit der SVS zusammenspielt).

Kannst du bitte noch die Sache mit der Blockingliste testen ? Bis dahin bin ich auch mit deiner Testversion fertig.  ;)

EDIT: Das aber die Aufnahme garnicht startet darf nicht passieren ! Dann stimmt etwas nicht. Die Befehle gehen nicht verloren. Es sei denn dein FHEM blockiert hervorgerufen durch andere/äußere Umstände.

Gruß,
Heiko
 

 
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 September 2016, 19:42:33
Hallo Christian,

schau mal ob du in deinem Zeitverhalten mit der angehängten Version eine Verbesserung erzielst.
Falls du in deiner Umgebung auf das komplette Polling verzichten musst/willst kannst du dir auch ein AT bauen mit dem du nur "get <cam> StmUrlPath"  aufrufst. Damit wird lediglich der StmKey neu geholt und dadurch die Anzahl der Calls zur SVS minimiert.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 16 September 2016, 21:06:59
Hi Heiko,

Kannst du bitte noch die Sache mit der Blockingliste testen ?

Wenn ich die fhem VM auf die Blocklist der Synology setze, kommt im Log eine passende Fehlermeldung:

2016.09.16 21:02:53 1: Cam_Terrasse - ERROR - Login of User ***** unsuccessful. Errorcode: 407 - Permission denied - make sure FHEM-Server IP won't be blocked in DSM automated blocking list
Passt, oder?

Danke für die Testversion. Versuche ich, morgen im Laufe des Tages mal zu testen.
Alternativ würde ich nicht mit einem at arbeiten, sondern einfach das get ausführen, wenn ich den StmKey tatsächlich brauche, um den Liveview in einem Weblink anzuzeigen.

Einen schönen Abend,
Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 16 September 2016, 21:13:13
Jo, die Fehlermeldung passt.
Dann checke ich die Version ein ... danke für deine Hilfe !

Lass mich morgen mal wissen ob du eine Verbesserung mit der Testversion erzielen konntest.

Dir auch einen schönen Abend.

Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 18 September 2016, 08:14:41
Hallo Heiko,

schau mal ob du in deinem Zeitverhalten mit der angehängten Version eine Verbesserung erzielst.
Falls du in deiner Umgebung auf das komplette Polling verzichten musst/willst kannst du dir auch ein AT bauen mit dem du nur "get <cam> StmUrlPath"  aufrufst. Damit wird lediglich der StmKey neu geholt und dadurch die Anzahl der Calls zur SVS minimiert.

Die Version macht hier keinen merklbaren Unterschied, die Verzögerung für das Anspringen der Aufnahme lag immer noch bei 7 Sekunden. Ich werde jetzt erstmal die Polltime der Kameras von alle 3 Minuten auf alle Stunde hochsetzen. :)

Grüße, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 September 2016, 09:00:46
Morgen Christian,

Hmm ... ich habe in der angehängten Version das interne Zeitregime noch etwas verändert.
Kannst es damit auch nochmal bitte probieren.

Was du auch noch tun könntest damit dir keine Situation entgeht wäre die prerectime in der SVS selbst auf z.B. 15 Sekunden zu setzen. Damit würde die Zeispanne von 15 s vor dem eigentlichen Event mit aufgezeichnet und du würdst deine Delay von 7 s mit ausgleichen.
Bei mir habe ich 10s eingestellt. Vllt. merke ich deswegen auch keinen Unterschied wenn ich mit Komplettpolling arbeite was bei mir Standard für alle Cams ist.

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 18 September 2016, 10:48:29
Hi Heiko,

nochmal zu einem älteren Thema:
Wenn du verbose = 0 für diese Cam setzt sollte Ruhe sein.
Und wenn du das Attribut "pollnologging" setzt werden diese allgemeinen Polling-Informationen nicht in das Log geschrieben. Wenn alles funktioniert braucht man die üblicherweise nicht im Log.

Ich habe "pollnologging" mal getestet. Das verhindert die Logeinträge beim Pollen, aber nicht die "Fehler", die hier kommen, weil ich keine vollwertige PTZ-Kamera habe, sondern nur eine Z-Kamera:

2016.09.18 10:17:16 1: Cam_Garten - ERROR - Operation Getptzlistpreset of Camera Garten was not successful. Errorcode: 400 - Execution failed
2016.09.18 10:17:18 1: Cam_Garten - ERROR - Operation Getptzlistpatrol of Camera Garten was not successful. Errorcode: 400 - Execution failed

Nur zur Info, weil ich nicht weiß, ob es beabsichtigt war, dass diese Fehler trotz pollnologging ausgeworfen werden. Ich werde mal verbose = 0 setzen.

Grüße, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 September 2016, 11:02:21
Zitat
Ich habe "pollnologging" mal getestet. Das verhindert die Logeinträge beim Pollen, aber nicht die "Fehler", die hier kommen, weil ich keine vollwertige PTZ-Kamera habe, sondern nur eine Z-Kamera

Ja, das ist so richtig. Die SVS bringt als DeviceType=PTZ obwohl deine Cam keine vollwertige PTZ ist. Aussteuern könnte ich es wenn die SVS in so einem Fall nur DeviceType=Z bringen würde (Kannst ja nochmal checken was im Reading steht).
Deswegen kannst du nur verbose=0 setzen damit du diese Ausgabe nicht bekommst.

Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 18 September 2016, 12:25:50
Hi Heiko,

was mir gerade noch aufgefallen ist: Die DS Cam App zeigt als "PTZ"-Typ "Z" an. SSCam hingegen

DeviceType PTZ
Vielleicht kann man da noch irgendwo irgendwas auslesen?

Gruß, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 September 2016, 12:33:36
Hi Christian,

dann mach mal bitte ein verbose=5 Log wenn du die Funktion "get ... caminfoall" ausführst.
Das wird mit Sicherheit ziemlich viel Lesestoff ... am Besten packst du es in ein File und hängst es hier an.
Vielleicht kann ich etwas aus den JSON-Daten herausfiltern was dienlich ist und mit in das Modul einarbeiten.

Mal schauen .... schön wäre ja  :)

Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 18 September 2016, 12:46:00
Hi Heiko,

bevor ich die ganzen 500k hier irgendwie verfügbar mache: Hilft das weiter?

2016.09.18 12:34:44 4: Cam_Terrasse - Call-Out now: http://192.168.x.x:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=8&method=GetCapabilityByCamId&cameraId=4&_sid="bR3Iwd7pq3MUo1630N1N051602"
2016.09.18 12:34:45 4: Cam_Terrasse - JSON returned: $VAR1 = {
          'data' => {
                      'ptzHasObjTracking' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                      'ptzPan' => 0,
                      'ptzDirection' => 0,
                      'ptzTilt' => 0,
                      'fisheyeParam' => {},
                      'ptzHome' => $VAR1->{'data'}{'ptzHasObjTracking'},
                      'ptzPresetNumber' => 0,
                      'ptzAutoFocus' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                      'ptzAutoPanType' => 0,
                      'ptzFocus' => 1,
                      'ptzZoom' => 1,
                      'ptzSpeed' => $VAR1->{'data'}{'ptzHasObjTracking'},
                      'ptzAbs' => $VAR1->{'data'}{'ptzHasObjTracking'},
                      'ptzIris' => 0,
                      'audioOut' => $VAR1->{'data'}{'ptzHasObjTracking'}
                    },
          'success' => $VAR1->{'data'}{'ptzAutoFocus'}
        };

Das sieht zumindest nach passenden Daten aus (Focus und Zoom auf 1, Pan und Tilt auf 0).

Gruß, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 September 2016, 13:03:44
Sieht zwar erstmal nicht schlecht aus, aber ich suche ein Datenfeld "deviceType". Es wird mit der Methode "GetInfo" abgefragt.
Dort wird ein Zahlencode ausgegeben.
Vielleicht findest du es.
Ansonsten gib mir mal was zum Lesen  ;)

Grüße
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 18 September 2016, 14:21:55
Hi Heiko,

Hmm ... ich habe in der angehängten Version das interne Zeitregime noch etwas verändert.

Interessant. Was Du gemacht hast, hat die Abläufe für das Testszenario deutlich beschleunigt:

2016.09.18 14:04:00 3: Cam_Terrasse - Polling now: 14:04:00 , next Polling: 14:07:00
2016.09.18 14:04:01 3: Cam_Terrasse - Query event list of Terrasse successfully done
2016.09.18 14:04:02 1: activateCam (Cam_Terrasseneingang): Aufnahme
2016.09.18 14:04:03 1: Cam_Terrasse - ERROR - Operation Getptzlistpreset of Camera Terrasse was not successful. Errorcode: 400 - Execution failed
2016.09.18 14:04:05 3: Cam_Terrasseneingang - Camera Terrasseneingang Recording with Recordtime 40 s started
2016.09.18 14:04:06 1: Cam_Terrasse - ERROR - Operation Getptzlistpatrol of Camera Terrasse was not successful. Errorcode: 400 - Execution failed
2016.09.18 14:04:09 3: Cam_Terrasseneingang - Snapshot of Camera Terrasseneingang has been done successfully

Zwischen Auslösen der Kamera (activateCam) und dem entsprechenden Befehl von SSCam liegen jetzt, trotz parallelem Polling, nur noch zwei Sekunden.

Nicht schlecht!!!

Sieht zwar erstmal nicht schlecht aus, aber ich suche ein Datenfeld "deviceType". Es wird mit der Methode "GetInfo" abgefragt.
Dort wird ein Zahlencode ausgegeben.
Vielleicht findest du es.

Edit: Schon das war zu viel für das Board. Habe mal die ganzen Zahlen ausgefiltert:

2016.09.18 12:34:39 4: Cam_Terrasse - Call-Out now: http://192.168.x.x:5000/webapi/entry.cgi?api="SYNO.SurveillanceStation.Camera"&version="8"&method="GetInfo"&cameraIds="4"&deviceOutCap="true"&streamInfo="true"&ptz="true"&basic="true"&camAppInfo="true"&optimize="true"&fisheye="true"&eventDetection="true"&_sid=".zUdjGGFXy1eM1630N1N051602"
2016.09.18 12:34:40 4: Cam_Terrasse - JSON returned: $VAR1 = {
          'data' => {
                      'cameras' => [
                                     {
                                       'camMountType' => 0,
                                       'model' => 'P3225-LVE',
                                       'mute' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                                       'camPath' => 'cnRzcDovL3Jvb3Q6MUJNMUJNMUJNQDE5Mi4xNjguMy44NTo1NTQvYXhpcy1tZWRpYS9tZWRpYS5hbXA/Y2FtZXJhPTEmdmlkZW9jb2RlYz1oMjY0JnJlc29sdXRpb249NjQweDM2MCZmcHM9NSZ2aWRlb2tleWZyYW1laW50ZXJ2YWw9NSZjb21wcmVzc2lvbj0yMA==',
                                       'video_mirror' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                                       'status_flags' => 0,
                                       'imageEnhancement' => {
                                                               'contrast' => 0,
                                                               'sharpness' => 0,
                                                               'brightness' => 0,
                                                               'saturation' => 0
                                                             },
                                       'blAudioDisableRec' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'time_server' => 'Surveillance Station',
                                       'param_chklist' => 65,
                                       'camLiveMode' => 0,
                                       'camIdOnRecServer' => 0,
                                       'status' => 0,
                                       'ownerDsId' => 0,
                                       'osd_format' => 7,
                                       'folder' => '/volume1/surveillance/Terrasse',
                                       'privilege' => 15,
                                       'stm_info' => [
                                                       {
                                                         'quality' => '5',
                                                         'fps' => 25,
                                                         'type' => 0,
                                                         'resolution' => '1920x1080'
                                                       },
                                                       {
                                                         'resolution' => '640x360',
                                                         'quality' => '5',
                                                         'type' => 1,
                                                         'fps' => 5
                                                       },
                                                       {
                                                         'quality' => '5',
                                                         'type' => 2,
                                                         'fps' => 5,
                                                         'resolution' => '640x360'
                                                       }
                                                     ],
                                       'singleStream' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'is_rotated_by_space' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'ptzCap' => 100,
                                       'blLiveviewPriv' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'deviceType' => 4,
                                       'video_rotation' => 0,
                                       'audioCap' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'camRecStorageStatus' => 0,
                                       'ptzSpeedKeepOrigin' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'autoPanInitPos' => -2,
                                       'camRecSharePath' => '/volume1/surveillance',
                                       'recCbrBitrate' => 0,
                                       'ptzContinuous' => 0,
                                       'resolution' => '1920x1080',
                                       'fisheyeDispMode' => '',
                                       'setDICap' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'ptSpeed' => 3,
                                       'ADCap' => 0,
                                       'snapshot_path' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId=4×tamp=1474194880&preview=true',
                                       'DONum' => 0,
                                       'camFov' => '1080p 1920x1080 (16:9) @ 25/30 fps (WDR)',
                                       'quality' => '5',
                                       'isStatusUnrecognized' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'camRecShare' => 'surveillance',
                                       'tvStandard' => 0,
                                       'TDCap' => 5,
                                       'deleted' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'osd_status' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'autoPanPreSleepTime' => 10,
                                       'rotation_option' => 0,
                                       'uiStmNoList' => '1,2,2',
                                       'port' => 80,
                                       'ptzSpeedConfig' => 0,
                                       'host' => '192.168.3.85',
                                       'objTrack' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'detailInfo' => {
                                                         'camIsRotByDate' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                                         'custom1Detect' => 3,
                                                         'camApplyKeyFrameInterval' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camChannel' => '1',
                                                         'camPassWord' => "\x{ff03}\x{ff03}\x{ff03}\x{ff03}\x{ff03}\x{ff03}\x{ff03}\x{ff03}",
                                                         'camIP' => '192.168.3.85',
                                                         'edgeStgRecMode' => 2,
                                                         'camRtspProtocol' => 4,
                                                         'camRecStorageStatus' => 0,
                                                         'camAudioType' => 0,
                                                         'camRecTime' => 30,
                                                         'camRecSharePath' => '/volume1/surveillance',
                                                         'camFps' => 25,
                                                         'camPrefix' => 'Terrasse',
                                                         'edgeStgRecDays' => 127,
                                                         'camMobileFps' => 5,
                                                         'camMountType' => 0,
                                                         'camLiveFps' => 5,
                                                         'camRecStreamNo' => 0,
                                                         'camServer' => 0,
                                                         'blAudioDisableRec' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camLiveMode' => 0,
                                                         'camMobileStreamNo' => 0,
                                                         'camRtspKeepAlive' => 1,
                                                         'extDIPorts' => 0,
                                                         'camRecBitrateCtrl' => 1,
                                                         'camCodecOptimization' => 1,
                                                         'camMobileBitrateCtrl' => 1,
                                                         'camLiveCbrBitrate' => 0,
                                                         'camLiveResolution' => '640x360',
                                                         'edgeStgRecStopTime' => '23:59',
                                                         'camRecShare' => 'surveillance',
                                                         'custom2DIDetect' => 0,
                                                         'edgeStgRetrieveAction' => 2,
                                                         'camFov' => '1080p 1920x1080 (16:9) @ 25/30 fps (WDR)',
                                                         'camIsSetRecFolder' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camLiveStreamNo' => 0,
                                                         'camPreRecTime' => 5,
                                                         'camMobileLiveMode' => 0,
                                                         'camIsSetEvtPrefix' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'custom1DIDetect' => 0,
                                                         'camRotOption' => 0,
                                                         'camRotBySpace' => 10,
                                                         'edgeStgEnabled' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camKeyFrameInterval' => -1,
                                                         'camLiveQuality' => '5',
                                                         'camQuality' => '5',
                                                         'camMobileCbrBitrate' => 0,
                                                         'edgeStgDownloadSch' => [
                                                                                   [
                                                                                     1, (...)
                                                                                   ],
                                                                                   [
                                                                                     1, (...)
                                                                                   ],
                                                                                   [
                                                                                     1, (...)
                                                                                   ],
                                                                                   [
                                                                                     1, (...)
                                                                                   ],
                                                                                   [
                                                                                     1, (...)
                                                                                   ],
                                                                                   [
                                                                                     1, (...)
                                                                                   ],
                                                                                   [
                                                                                     1, (...)
                                                                                   ]
                                                                                 ],
                                                         'camLiveBitrateCtrl' => 1,
                                                         'camSchedule' => [
                                                                            [
                                                                              2, (...)
                                                                            ],
                                                                            [
                                                                              2, (...)
                                                                            ],
                                                                            [
                                                                              2, (...)
                                                                            ],
                                                                            [
                                                                              2, (...)
                                                                            ],
                                                                            [
                                                                              2, (...)
                                                                            ],
                                                                            [
                                                                              2, (...)
                                                                            ],
                                                                            [
                                                                              2, (...)
                                                                            ]
                                                                          ],
                                                         'camVendor' => 'AXIS',
                                                         'camPostRecTime' => 5,
                                                         'edgeStgRecStartTime' => '00:00',
                                                         'camIsRotBySpace' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camFolder' => 'Terrasse',
                                                         'camMobileResolution' => '640x360',
                                                         'blDisableRec' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'custom2Detect' => 3,
                                                         'camPort' => 80,
                                                         'camUserName' => 'root',
                                                         'camRecCbrBitrate' => 0,
                                                         'camRotByDate' => 7,
                                                         'camMobileQuality' => '5',
                                                         'blEnableExtDI' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camTvStandard' => 0,
                                                         'camApplyCodecOptimization' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camName' => 'Terrasse',
                                                         'extDIDev' => 0,
                                                         'camResolution' => '1920x1080',
                                                         'camVideoType' => 'H.264',
                                                         'camDynamicGop' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                                         'camModel' => 'P3225-LVE'
                                                       },
                                       'extDIPorts' => 0,
                                       'blReceivePocZero' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'dayend' => 18,
                                       'multiDI' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'recBitrateCtrl' => 1,
                                       'fisheyeParam' => {},
                                       'volume_space' => '0',
                                       'camRecShareMountType' => 0,
                                       'exposure_mode' => 0,
                                       'blDisableRec' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'DINum' => 0,
                                       'autoFocus' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'vendor' => 'AXIS',
                                       'volume' => 0,
                                       'MDCap' => 5,
                                       'channel_id' => '1',
                                       'update_time' => 7822,
                                       'rotation_by_space' => '10',
                                       'zoomSpeed' => 3,
                                       'osd_position' => 0,
                                       'blPresetSpeed' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'camRecVolume' => '/volume1',
                                       'audioType' => 0,
                                       'is_rotated_by_date' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'setDOCap' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'dsPort' => 5000,
                                       'exposure_control' => 0,
                                       'camMobileLiveMode' => 0,
                                       'ptzHomeType' => 0,
                                       'camRotOption' => 0,
                                       'camVideoType' => 'H.264',
                                       'video_flip' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'ptzDirection' => 0,
                                       'period_sync_time_hour' => 24,
                                       'feRegionList' => [],
                                       'blPtzShowIcon' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'dsIp' => '',
                                       'videoCapList' => [
                                                           {
                                                             'vt' => 'H.264',
                                                             'stList' => [
                                                                           'RTSP'
                                                                         ]
                                                           },
                                                           {
                                                             'vt' => 'MJPEG',
                                                             'stList' => [
                                                                           'HTTP'
                                                                         ]
                                                           }
                                                         ],
                                       'id' => 4,
                                       'presetNum' => 0,
                                       'forceMjpeg' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'camStatus' => 1,
                                       'extDIDev' => 0,
                                       'autoPan' => 0,
                                       'daybegin' => 8,
                                       'hasCamParam' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'name' => 'Terrasse',
                                       'recStatus' => 0,
                                       'rotation_by_date' => 7,
                                       'fps' => 25,
                                       'stmFisheyeType' => 0,
                                       'blEnableExtDI' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'blAudioPriv' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'type' => 3,
                                       'restart_day' => 0,
                                       'audioOut' => $VAR1->{'data'}{'cameras'}[0]{'mute'},
                                       'enabled' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'}
                                     }
                                   ]
                    },
          'success' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'}
        };

2016.09.18 12:34:40 4: Cam_Terrasse - Camera-Informations of Terrasse retrieved

Keine Ahnung, ob da was dabei ist. "GetCapabilities" sieht für mich vielversprechender aus.

Wenn Du mehr zum Lesen möchtest, kannst Du es unter http://pastebin.com/LhYimHB0 (http://pastebin.com/LhYimHB0) finden.

Grüße, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 September 2016, 19:04:18
Hi Christian,

super , freut mich  :)  Ich teste auch bei mir noch etwas dann checke ich die Version mit dem veränderten Zeitregime auch ein.
Danke für die vielen Daten.
Ich sichte das und baue dir eine Version zum weiteren Test für dein Problem.
Das kriegen wir bestimmt hin.

Melde mich wieder.

Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 18 September 2016, 21:24:08
Hi Christian, @all,

in der angehängten Version habe ich das Problem eliminiert, dass bei Z-Cams (ohne pan/tilt) versucht wird beim Polling bzw. der Funktion "get ... caminfoall" die Presets / Patrols abzurufen.
PTZ-Cams mit pan/tilt funktionieren so wie bisher gewohnt.

Bitte teste(t) diese Version mal ... bei mir klappts . Allerdings habe ich keine nur Z-Cams.

Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 19 September 2016, 19:35:01
Hallo Martin,

ich habe heute eine Mitteilung zu dem INSTAR-Problem bekommen.

Zitat
.......

vielen Dank für Ihr Geduld.

Soeben habe ich eine Rückmeldung von unseren Entwickler bekommen, dass das Problem bekannt ist und mit der SVS 8 behoben sein wird, unter anderem für die DS cam applikation.

.......

Hmm ... SVS 8. Ich habe noch zurückgefragt ob es schon eine Aussage über den Zeithorizont für SVS 8 gibt.
Mal schauen...

EDIT: Die Antwort kam umgehend  :)

Zitat
Die SVS 8 und SVS Client , werden höchstwahrscheinlich als Beta-Version schon im Oktober vorgestellt und als Vollversion in Q4/2016.

Sobald ich etwas neues höre, kann ich mich bei Ihnen melden.

Grüße,
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Martin Fischer am 19 September 2016, 20:48:14
Hallo Heiko,

ich habe heute eine Mitteilung zu dem INSTAR-Problem bekommen.

prima, danke für die Rückmeldung. Na dann haben wir doch was erreicht.. Ich als Bughunter und Du mit Deinem Kontakt ;)

Viele Grüße
Martin
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 22 September 2016, 09:53:52
Guten Morgen.


Es ist bestimmt hier im Thread zu finden, gefunden habe ich es aber nicht.

Ich habe meine Klingel in Fhem angebunden und möchte, sobald diese gedrückt wird, das Livebild der Kamera als Stream auf meinem Tablet darstellen.
Das Tablet ist per Amad2 an Fhem angebunden.

Wie erzeuge ich den Link den ich dann öffnen kann?
Ich muss doch "set CAM runView link" ausführen. Das erzeugt mir aber kein Reading mit dem Link.
Geht das mit dem Weg, den Martin aufgezeigt hat?

Das Livebild werde ich dann als "urlopen" über AMAD an das Tablet senden, ausser ihr habt eine bessere Idee ;)

Danke für die Hilfe.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 22 September 2016, 11:58:41
Hi, Du könntest mit Martins Methode den Link zum Livestream erzeugen, und diesen Link dann wahlweise direkt auf dem Tablet anzeigen (ggf. in einem iFrame), oder auf dem Tablet einen Floorplan anzeigen, der den Link als Weblink enthält und dazu ggf. noch weitere Links, um komfortabel von der Seite wieder wegnavigieren zu können.

Grüße, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: oli82 am 22 September 2016, 12:18:40
Martins Methode erzeugt aber einen Link zur letzen Aufzeichnung oder habe ich das falsch verstanden?
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 22 September 2016, 12:54:04
Martin kann vieles!  :)

In diesem Beitrag https://forum.fhem.de/index.php/topic,45671.msg490502.html#msg490502 (https://forum.fhem.de/index.php/topic,45671.msg490502.html#msg490502) hat er ein sub und einen Weblink gepostet, um das Live-Bild einer Kamera in einem Weblink anzuzeigen.
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: DS_Starter am 22 September 2016, 13:35:12
Hallo zusammen,

@Oli der Aufruf
Zitat
set CAM runView link

Erzeugt kein Reading mit einem Link, sondern den Status mit einem Link.
Um den Stream Event abhängig zu öffnen/ schließen kannst du auch

set CAM runView Image

Verwenden.

@Christian , hast du mal die Testversion probiert die dein Problem beheben soll ?

Gruß
Heiko
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: Motivierte linke Hände am 22 September 2016, 14:03:38
Hi Heiko,

@Christian , hast du mal die Testversion probiert die dein Problem beheben soll ?

Sorry, es ist schon ein wenig her, seit ich zu Hause war und die Familie nicht schon oder noch schlief. Ist für morgen oder das WoE geplant!

Gruß, Christian
Titel: Antw:49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul
Beitrag von: ol