";
$ret .= "";
if($arg && $arg =~ /[\d]+/) {
- if(AttrVal("global","language","EN") eq "DE") {
- %hs = ( $arg => $SSCam_vHintsExt_de{$arg} );
- } else {
- %hs = ( $arg => $SSCam_vHintsExt_en{$arg} );
- }
+ my @hints = split(",",$arg);
+ foreach (@hints) {
+ if(AttrVal("global","language","EN") eq "DE") {
+ $hs{$_} = $SSCam_vHintsExt_de{$_};
+ } else {
+ $hs{$_} = $SSCam_vHintsExt_en{$_};
+ }
+ }
} else {
if(AttrVal("global","language","EN") eq "DE") {
%hs = %SSCam_vHintsExt_de;
@@ -3892,9 +3989,15 @@ sub SSCam_camop ($) {
my $limit = $hash->{HELPER}{SNAPLIMIT};
my $imgsize = $hash->{HELPER}{SNAPIMGSIZE};
my $keyword = $hash->{HELPER}{KEYWORD};
- Log3($name,4, "$name - Call getsnapinfo with params: Image numbers => $limit, Image size => $imgsize, Keyword => $keyword");
- $url = "$proto://$serveraddr:$serverport/webapi/$apitakesnappath?api=\"$apitakesnap\"&method=\"List\"&version=\"$apitakesnapmaxver\"&keyword=\"$keyword\"&imgSize=\"$imgsize\"&limit=\"$limit\"&_sid=\"$sid\"";
-
+ my $snapid = ReadingsVal("$name", "LastSnapId", " ");
+ if($OpMode eq "getsnapinfo") {
+ Log3($name,4, "$name - Call getsnapinfo with params: Image numbers => $limit, Image size => $imgsize, Id => $snapid");
+ $url = "$proto://$serveraddr:$serverport/webapi/$apitakesnappath?api=\"$apitakesnap\"&method=\"List\"&version=\"$apitakesnapmaxver\"&idList =\"$snapid\"&keyword=\"$keyword\"&imgSize=\"$imgsize\"&limit=\"$limit\"&_sid=\"$sid\"";
+ } else {
+ Log3($name,4, "$name - Call getsnapinfo with params: Image numbers => $limit, Image size => $imgsize, Keyword => $keyword");
+ $url = "$proto://$serveraddr:$serverport/webapi/$apitakesnappath?api=\"$apitakesnap\"&method=\"List\"&version=\"$apitakesnapmaxver\"&keyword=\"$keyword\"&imgSize=\"$imgsize\"&limit=\"$limit\"&_sid=\"$sid\"";
+ }
+
} elsif ($OpMode eq "getsnapfilename") {
# der Filename der aktuellen Schnappschuß-ID wird ermittelt
$snapid = ReadingsVal("$name", "LastSnapId", " ");
@@ -4549,9 +4652,10 @@ sub SSCam_camop_parse ($) {
} elsif ($OpMode eq "Snap") {
# ein Schnapschuß wurde aufgenommen
# falls Aufnahme noch läuft -> state = on setzen
- SSCam_refresh($hash,0,0,0); # kein Room-Refresh, kein SSCam-state-Event, kein SSCamSTRM-Event
+ SSCam_refresh($hash,0,1,0); # kein Room-Refresh, SSCam-state-Event, kein SSCamSTRM-Event
$snapid = $data->{data}{'id'};
+ readingsSingleUpdate($hash,"LastSnapId",$snapid, 0) if($snapid);
readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Errorcode","none");
@@ -4887,7 +4991,7 @@ sub SSCam_camop_parse ($) {
}
# Kompatibilitätscheck
- my $avsc = $major.$minor.(($small=~/\d/)?$small:0);
+ my $avsc = $major.$minor;
my $avcomp = $hash->{COMPATIBILITY};
$avcomp =~ s/\.//g;
@@ -6529,6 +6633,7 @@ sub SSCam_experror {
provides a panel for camera control (at PTZ-cameras)
create different types of discrete Streaming-Devices (createStreamDev)
Activation / Deactivation of a camera integrated PIR sensor
+ Creation of a readingsGroup device to display an overview of all defined SSCam devices (createReadingsGroup)
@@ -6677,8 +6782,8 @@ sub SSCam_experror {
set ... off | session: ServeillanceStation - observer with enhanced privilege "manual recording" |
set ... snap | session: ServeillanceStation - observer |
set ... delPreset | session: ServeillanceStation - observer |
- set ... disable | session: ServeillanceStation - manager |
- set ... enable | session: ServeillanceStation - manager |
+ set ... disable | session: ServeillanceStation - manager with edit camera right |
+ set ... enable | session: ServeillanceStation - manager with edit camera right |
set ... expmode | session: ServeillanceStation - manager |
set ... extevent | session: DSM - user as member of admin-group |
set ... goPreset | session: ServeillanceStation - observer with privilege objective control of camera |
@@ -6778,13 +6883,28 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
+
+ - set <name> createReadingsGroup [<name of readingsGroup>] (valid for CAM/SVS)
+
+ This command creates a readingsGroup device to display an overview of all defined SSCam devices.
+ A name for the new readingsGroup device can be specified. Is no own name specified, the readingsGroup device will be
+ created with name "RG.SSCam".
+
+
+
+
- set <name> createSnapGallery (valid for CAM)
A snapshot gallery will be created as a separate device (type SSCamSTRM). The device will be provided in
room "SnapGallery".
With the "snapGallery..."-attributes respectively the specific attributes of the SSCamSTRM-device
- you are able to manipulate the properties of the new snapshot gallery device.
+ you are able to manipulate the properties of the new snapshot gallery device.
+
+
+ Note
+ The camera names in Synology SVS should not be very similar, otherwise the retrieval of snapshots could come to inaccuracies.
+
@@ -7235,6 +7355,11 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
command.
If you want create a snapgallery output by triggering, e.g. with an "at" or "notify", you should use the
"get <name> snapGallery" command instead of "set".
+
+
+ Note
+ The camera names in Synology SVS should not be very similar, otherwise the retrieval of snapshots could come to inaccuracies.
+
@@ -7369,7 +7494,8 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
Note:
Depended from quantity and resolution (quality) of the snapshot images adequate CPU and/or main memory
- ressources are needed.
+ ressources are needed. The camera names in Synology SVS should not be very similar, otherwise the retrieval of
+ snapshots could come to inaccuracies.
@@ -7586,7 +7712,9 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
ptzPanel_iconPath
Path for icons used in PTZ-control panel, default is "www/images/sscam".
- The attribute value will be used for all icon-files except *.svg.
+ The attribute value will be used for all icon-files except *.svg.
+ For further information execute "get <name> versionNotes 2,6".
+
ptzPanel_iconPrefix
@@ -7845,6 +7973,7 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
erstellen eines Paneels zur Kamera-Steuerung. (bei PTZ-Kameras)
erzeugen unterschiedlicher Typen von separaten Streaming-Devices (createStreamDev)
Aktivierung / Deaktivierung eines kamerainternen PIR-Sensors
+ Erzeugung einer readingsGroup zur Anzeige aller definierten SSCam-Devices (createReadingsGroup)
@@ -7997,8 +8126,8 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
set ... credentials | - |
set ... delPreset | session: ServeillanceStation - Betrachter |
- set ... disable | session: ServeillanceStation - Manager |
- set ... enable | session: ServeillanceStation - Manager |
+ set ... disable | session: ServeillanceStation - Manager mit dem Kamera bearbeiten Recht |
+ set ... enable | session: ServeillanceStation - Manager mit dem Kamera bearbeiten Recht |
set ... expmode | session: ServeillanceStation - Manager |
set ... extevent | session: DSM - Nutzer Mitglied von Admin-Gruppe |
set ... goPreset | session: ServeillanceStation - Betrachter mit Privileg Objektivsteuerung der Kamera |
@@ -8099,6 +8228,15 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
SSCamSTRM-Devices können die Eigenschaften des PTZ-Paneels beeinflusst werden.
+
+
+ - set <name> createReadingsGroup [<Name der readingsGroup>] (gilt für CAM/SVS)
+
+ Es wird ein readingsGroup-Device zur Übersicht aller vorhandenen SSCam-Devices erstellt. Es kann ein eigener Name angegeben
+ werden. Ist kein Name angegeben, wird eine readingsGroup mit dem Namen "RG.SSCam" erzeugt.
+
+
+
- set <name> createSnapGallery (gilt für CAM)
@@ -8106,7 +8244,14 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
Es wird eine Schnappschußgallerie als separates Device (Type SSCamSTRM) erzeugt. Das Device wird im Raum
"SnapGallery" erstellt.
Mit den "snapGallery..."-Attributen bzw. den spezifischen Attributen des erzeugten SSCamSTRM-Devices
- können die Eigenschaften der Schnappschußgallerie beeinflusst werden.
+ können die Eigenschaften der Schnappschußgallerie beeinflusst werden.
+
+
+ Hinweis
+ Die Namen der Kameras in der SVS sollten sich nicht stark ähneln, da es ansonsten zu Ungenauigkeiten beim Abruf der
+ Schnappschußgallerie kommen kann.
+
+
@@ -8562,6 +8707,12 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
dargestellt. Alle weiteren Funktionen und Attribute entsprechen dem "get <name> snapGallery" Kommando.
Wenn die Ausgabe einer Schnappschußgalerie, z.B. über ein "at oder "notify", getriggert wird, sollte besser das
"get <name> snapGallery" Kommando anstatt "set" verwendet werden.
+
+
+ Hinweis
+ Die Namen der Kameras in der SVS sollten sich nicht stark ähneln, da es ansonsten zu Ungenauigkeiten beim Abruf der
+ Schnappschußgallerie kommen kann.
+
@@ -8702,7 +8853,8 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
Hinweis:
Abhängig von der Anzahl und Auflösung (Qualität) der Schnappschuß-Images werden entsprechend ausreichende CPU und/oder
- RAM-Ressourcen benötigt.
+ RAM-Ressourcen benötigt. Die Namen der Kameras in der SVS sollten sich nicht stark ähneln, da es ansonsten zu
+ Ungnauigkeiten beim Abruf der Schnappschußgallerie kommen kann.
@@ -8932,7 +9084,9 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
ptzPanel_iconPath
Pfad für Icons im PTZ-Steuerungspaneel, default ist "www/images/sscam".
- Der Attribut-Wert wird für alle Icon-Dateien außer *.svg verwendet.
+ Der Attribut-Wert wird für alle Icon-Dateien außer *.svg verwendet.
+ Für weitere Information bitte "get <name> versionNotes 2,6" ausführen.
+
ptzPanel_iconPrefix