49_SSCam: contrib 9.3.0
git-svn-id: https://svn.fhem.de/fhem/trunk@22259 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -360,9 +360,9 @@ my %SSCAM_imc = ( # di
|
|||||||
|
|
||||||
my %zd = ( # Hash der Zoomsteuerung
|
my %zd = ( # Hash der Zoomsteuerung
|
||||||
".++" => {dir => "in", sttime => 6, moveType => "Start", panimg => "CAMLEFTFAST.png", },
|
".++" => {dir => "in", sttime => 6, moveType => "Start", panimg => "CAMLEFTFAST.png", },
|
||||||
"+" => {dir => "in", sttime => 0.1, moveType => "Start", panimg => "CAMLEFT.png", },
|
"+" => {dir => "in", sttime => 0.5, moveType => "Start", panimg => "CAMLEFT.png", },
|
||||||
"stop" => {dir => undef, sttime => undef, moveType => "Stop" , panimg => undef, },
|
"stop" => {dir => undef, sttime => undef, moveType => "Stop" , panimg => undef, },
|
||||||
"-" => {dir => "out", sttime => 0.1, moveType => "Start", panimg => "CAMRIGHT.png", },
|
"-" => {dir => "out", sttime => 0.5, moveType => "Start", panimg => "CAMRIGHT.png", },
|
||||||
"--." => {dir => "out", sttime => 6, moveType => "Start", panimg => "CAMRIGHTFAST.png", }
|
"--." => {dir => "out", sttime => 6, moveType => "Start", panimg => "CAMRIGHTFAST.png", }
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -370,7 +370,7 @@ my %zd = ( # Ha
|
|||||||
my $SSCam_slim = 3; # default Anzahl der abzurufenden Schnappschüsse mit snapGallery
|
my $SSCam_slim = 3; # default Anzahl der abzurufenden Schnappschüsse mit snapGallery
|
||||||
my $SSCAM_snum = "1,2,3,4,5,6,7,8,9,10"; # mögliche Anzahl der abzurufenden Schnappschüsse mit snapGallery
|
my $SSCAM_snum = "1,2,3,4,5,6,7,8,9,10"; # mögliche Anzahl der abzurufenden Schnappschüsse mit snapGallery
|
||||||
my $SSCam_compstat = "8.2.7"; # getestete SVS-Version
|
my $SSCam_compstat = "8.2.7"; # getestete SVS-Version
|
||||||
my $SSCam_valZoom = "uzsuSelectRadio,.++,+,stop,-,--."; # Inhalt des Setters "setZoom"
|
my $SSCam_valZoom = ".++,+,stop,-,--."; # Inhalt des Setters "setZoom"
|
||||||
|
|
||||||
use vars qw($FW_ME); # webname (default is fhem), used by 97_GROUP/weblink
|
use vars qw($FW_ME); # webname (default is fhem), used by 97_GROUP/weblink
|
||||||
use vars qw($FW_subdir); # Sub-path in URL, used by FLOORPLAN/weblink
|
use vars qw($FW_subdir); # Sub-path in URL, used by FLOORPLAN/weblink
|
||||||
@@ -881,7 +881,7 @@ sub SSCam_Set {
|
|||||||
;
|
;
|
||||||
} elsif(SSCam_IsModelCam($hash)) {
|
} elsif(SSCam_IsModelCam($hash)) {
|
||||||
# selist für Cams
|
# selist für Cams
|
||||||
my $hlslfw = SSCam_IsCapHLS($hash)?",live_fw_hls,":",";
|
my $hlslfw = SSCam_IsCapHLS($hash) ? ",live_fw_hls," : ",";
|
||||||
$setlist = "Unknown argument $opt, choose one of ".
|
$setlist = "Unknown argument $opt, choose one of ".
|
||||||
"credentials ".
|
"credentials ".
|
||||||
"smtpcredentials ".
|
"smtpcredentials ".
|
||||||
@@ -894,24 +894,23 @@ sub SSCam_Set {
|
|||||||
"createReadingsGroup ".
|
"createReadingsGroup ".
|
||||||
"createSnapGallery:noArg ".
|
"createSnapGallery:noArg ".
|
||||||
"createStreamDev:generic,hls,lastsnap,mjpeg,switched ".
|
"createStreamDev:generic,hls,lastsnap,mjpeg,switched ".
|
||||||
(SSCam_IsCapPTZPan($hash) ? "createPTZcontrol:noArg " : "").
|
|
||||||
"enable:noArg ".
|
"enable:noArg ".
|
||||||
"disable:noArg ".
|
"disable:noArg ".
|
||||||
"optimizeParams ".
|
"optimizeParams ".
|
||||||
((ReadingsVal("$name", "CapPIR", "false") ne "false") ? "pirSensor:activate,deactivate " : "").
|
|
||||||
"runView:live_fw".$hlslfw."live_link,live_open,lastrec_fw,lastrec_fw_MJPEG,lastrec_fw_MPEG4/H.264,lastrec_open,lastsnap_fw ".
|
"runView:live_fw".$hlslfw."live_link,live_open,lastrec_fw,lastrec_fw_MJPEG,lastrec_fw_MPEG4/H.264,lastrec_open,lastsnap_fw ".
|
||||||
(SSCam_IsCapPTZPan($hash) ? "setPreset ": "").
|
|
||||||
(SSCam_IsCapPTZPan($hash) ? "setHome:---currentPosition---,".ReadingsVal("$name","Presets","")." " : "").
|
|
||||||
(SSCam_IsCapPTZPan($hash) ? "delPreset:".ReadingsVal("$name","Presets","")." " : "").
|
|
||||||
"stopView:noArg ".
|
"stopView:noArg ".
|
||||||
(SSCam_IsCapPTZObjTrack($hash) ? "startTracking:noArg " : "").
|
(SSCam_IsCapPTZObjTrack($hash) ? "startTracking:noArg " : "").
|
||||||
(SSCam_IsCapPTZObjTrack($hash) ? "stopTracking:noArg " : "").
|
(SSCam_IsCapPTZObjTrack($hash) ? "stopTracking:noArg " : "").
|
||||||
(SSCam_IsCapPTZDir($hash) ? "move"." " : "").
|
(SSCam_IsCapPTZPan($hash) ? "setPreset ": "").
|
||||||
(SSCam_IsCapPTZPan($hash) ? "runPatrol:".ReadingsVal("$name", "Patrols", "")." " : "").
|
(SSCam_IsCapPTZPan($hash) ? "setHome:---currentPosition---,".ReadingsVal("$name","Presets","")." " : "").
|
||||||
(SSCam_IsCapPTZPan($hash) ? "goPreset:".ReadingsVal("$name", "Presets", "")." " : "").
|
(SSCam_IsCapPTZPan($hash) ? "delPreset:".ReadingsVal("$name","Presets","")." " : "").
|
||||||
(SSCam_IsCapPTZAbs($hash) ? "goAbsPTZ"." " : "").
|
(SSCam_IsCapPTZPan($hash) ? "runPatrol:".ReadingsVal("$name", "Patrols", "")." " : "").
|
||||||
(SSCam_IsCapPTZDir($hash) ? "move"." " : "").
|
(SSCam_IsCapPTZPan($hash) ? "goPreset:".ReadingsVal("$name", "Presets", "")." " : "").
|
||||||
(SSCam_IsCapZoom($hash) ? "setZoom:$SSCam_valZoom " : "").
|
(SSCam_IsCapPTZPan($hash) ? "createPTZcontrol:noArg " : "").
|
||||||
|
(SSCam_IsCapPTZAbs($hash) ? "goAbsPTZ"." " : "").
|
||||||
|
(SSCam_IsCapPTZDir($hash) ? "move"." " : "").
|
||||||
|
(SSCam_IsCapPIR($hash) ? "pirSensor:activate,deactivate " : "").
|
||||||
|
(SSCam_IsCapZoom($hash) ? "setZoom:$SSCam_valZoom " : "").
|
||||||
"";
|
"";
|
||||||
} else {
|
} else {
|
||||||
# setlist für SVS Devices
|
# setlist für SVS Devices
|
||||||
@@ -1893,7 +1892,7 @@ sub SSCam_FWsummaryFn {
|
|||||||
return if(!$hash->{HELPER}{LINK} || ReadingsVal($d, "state", "") =~ /^dis.*/ || IsDisabled($name));
|
return if(!$hash->{HELPER}{LINK} || ReadingsVal($d, "state", "") =~ /^dis.*/ || IsDisabled($name));
|
||||||
|
|
||||||
# Definition Tasten
|
# Definition Tasten
|
||||||
my $imgblank = "<img src=\"$FW_ME/www/images/sscam/black_btn_CAMBLANK.png\">"; # nicht sichtbare Leertaste
|
my $imgblank = "<img src=\"$FW_ME/www/images/sscam/black_btn_CAMBLANK.png\">"; # nicht sichtbare Leertaste
|
||||||
my $cmdstop = "cmd=set $d stopView"; # Stream deaktivieren
|
my $cmdstop = "cmd=set $d stopView"; # Stream deaktivieren
|
||||||
my $imgstop = "<img src=\"$FW_ME/www/images/default/remotecontrol/black_btn_POWEROFF3.png\">";
|
my $imgstop = "<img src=\"$FW_ME/www/images/default/remotecontrol/black_btn_POWEROFF3.png\">";
|
||||||
my $cmdhlsreact = "cmd=set $d hlsreactivate"; # HLS Stream reaktivieren
|
my $cmdhlsreact = "cmd=set $d hlsreactivate"; # HLS Stream reaktivieren
|
||||||
@@ -1926,15 +1925,15 @@ sub SSCam_FWsummaryFn {
|
|||||||
my ($ttrefresh, $ttrecstart, $ttrecstop, $ttsnap, $ttcmdstop, $tthlsreact, $ttmjpegrun, $tthlsrun, $ttlrrun, $tth264run, $ttlmjpegrun, $ttlsnaprun);
|
my ($ttrefresh, $ttrecstart, $ttrecstop, $ttsnap, $ttcmdstop, $tthlsreact, $ttmjpegrun, $tthlsrun, $ttlrrun, $tth264run, $ttlmjpegrun, $ttlsnaprun);
|
||||||
if(AttrVal("global","language","EN") =~ /EN/) {
|
if(AttrVal("global","language","EN") =~ /EN/) {
|
||||||
$ttrecstart = $SSCam_ttips_en{"ttrecstart"}; $ttrecstart =~ s/§NAME§/$calias/g;
|
$ttrecstart = $SSCam_ttips_en{"ttrecstart"}; $ttrecstart =~ s/§NAME§/$calias/g;
|
||||||
$ttrecstop = $SSCam_ttips_en{"ttrecstop"}; $ttrecstop =~ s/§NAME§/$calias/g;
|
$ttrecstop = $SSCam_ttips_en{"ttrecstop"}; $ttrecstop =~ s/§NAME§/$calias/g;
|
||||||
$ttsnap = $SSCam_ttips_en{"ttsnap"}; $ttsnap =~ s/§NAME§/$calias/g;
|
$ttsnap = $SSCam_ttips_en{"ttsnap"}; $ttsnap =~ s/§NAME§/$calias/g;
|
||||||
$ttcmdstop = $SSCam_ttips_en{"ttcmdstop"}; $ttcmdstop =~ s/§NAME§/$calias/g;
|
$ttcmdstop = $SSCam_ttips_en{"ttcmdstop"}; $ttcmdstop =~ s/§NAME§/$calias/g;
|
||||||
$tthlsreact = $SSCam_ttips_en{"tthlsreact"}; $tthlsreact =~ s/§NAME§/$calias/g;
|
$tthlsreact = $SSCam_ttips_en{"tthlsreact"}; $tthlsreact =~ s/§NAME§/$calias/g;
|
||||||
} else {
|
} else {
|
||||||
$ttrecstart = $SSCam_ttips_de{"ttrecstart"}; $ttrecstart =~ s/§NAME§/$calias/g;
|
$ttrecstart = $SSCam_ttips_de{"ttrecstart"}; $ttrecstart =~ s/§NAME§/$calias/g;
|
||||||
$ttrecstop = $SSCam_ttips_de{"ttrecstop"}; $ttrecstop =~ s/§NAME§/$calias/g;
|
$ttrecstop = $SSCam_ttips_de{"ttrecstop"}; $ttrecstop =~ s/§NAME§/$calias/g;
|
||||||
$ttsnap = $SSCam_ttips_de{"ttsnap"}; $ttsnap =~ s/§NAME§/$calias/g;
|
$ttsnap = $SSCam_ttips_de{"ttsnap"}; $ttsnap =~ s/§NAME§/$calias/g;
|
||||||
$ttcmdstop = $SSCam_ttips_de{"ttcmdstop"}; $ttcmdstop =~ s/§NAME§/$calias/g;
|
$ttcmdstop = $SSCam_ttips_de{"ttcmdstop"}; $ttcmdstop =~ s/§NAME§/$calias/g;
|
||||||
$tthlsreact = $SSCam_ttips_de{"tthlsreact"}; $tthlsreact =~ s/§NAME§/$calias/g;
|
$tthlsreact = $SSCam_ttips_de{"tthlsreact"}; $tthlsreact =~ s/§NAME§/$calias/g;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2037,21 +2036,23 @@ return $ret;
|
|||||||
}
|
}
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
# PTZ-Steuerpanel in Detailanzeige darstellen
|
# Detailanzeige
|
||||||
######################################################################################
|
######################################################################################
|
||||||
sub SSCam_FWdetailFn {
|
sub SSCam_FWdetailFn {
|
||||||
my ($FW_wname, $d, $room, $pageHash) = @_; # pageHash is set for summaryFn.
|
my ($FW_wname, $name, $room, $pageHash) = @_; # pageHash is set for summaryFn.
|
||||||
my $hash = $defs{$d};
|
my $hash = $defs{$name};
|
||||||
my $ret = "";
|
my $ret = "";
|
||||||
|
|
||||||
$hash->{".setup"} = SSCam_FWconfCam($d,$room);
|
SSCam_checkIconpath ($name, $FW_wname);
|
||||||
|
|
||||||
|
$hash->{".setup"} = SSCam_FWconfCam($name,$room);
|
||||||
if($hash->{".setup"} ne "") {
|
if($hash->{".setup"} ne "") {
|
||||||
$ret .= $hash->{".setup"};
|
$ret .= $hash->{".setup"};
|
||||||
}
|
}
|
||||||
|
|
||||||
$hash->{".ptzhtml"} = SSCam_ptzpanel($d,$d) if($hash->{".ptzhtml"} eq "");
|
$hash->{".ptzhtml"} = SSCam_ptzpanel($name,$name) if($hash->{".ptzhtml"} eq "");
|
||||||
|
|
||||||
if($hash->{".ptzhtml"} ne "" && AttrVal($d,"ptzPanel_use",1)) {
|
if($hash->{".ptzhtml"} ne "" && AttrVal($name,"ptzPanel_use",1)) {
|
||||||
$ret .= $hash->{".ptzhtml"};
|
$ret .= $hash->{".ptzhtml"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7219,6 +7220,15 @@ sub SSCam_IsCapPTZDir { #
|
|||||||
return $cap;
|
return $cap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub SSCam_IsCapPIR { # hat Kamera einen PIR
|
||||||
|
my $hash = shift;
|
||||||
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
|
my $cap = ReadingsVal($name, "CapPIR", "false") ne "false" ? 1 : 0;
|
||||||
|
|
||||||
|
return $cap;
|
||||||
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# JSON Boolean Test und Mapping
|
# JSON Boolean Test und Mapping
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -10235,6 +10245,21 @@ sub SSCam_trim {
|
|||||||
return ($str);
|
return ($str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# Check ob "sscam" im iconpath des FHEMWEB Devices enthalten ist
|
||||||
|
#############################################################################################
|
||||||
|
sub SSCam_checkIconpath {
|
||||||
|
my $name = shift;
|
||||||
|
my $FW_wname = shift // return;
|
||||||
|
|
||||||
|
my $icpa = AttrVal($FW_wname, "iconPath", "");
|
||||||
|
if ($icpa !~ /sscam/x) {
|
||||||
|
Log3 ($name, 2, qq{$name - WARNING - add "sscam" to attribute "iconpath" of FHEMWEB device "$FW_wname" to get the SSCam control icons} );
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
#############################################################################################
|
#############################################################################################
|
||||||
# Cache Handling
|
# Cache Handling
|
||||||
# SSCam_cache ($name, <opcode> [, <Key>, <data>])
|
# SSCam_cache ($name, <opcode> [, <Key>, <data>])
|
||||||
@@ -10935,7 +10960,7 @@ return;
|
|||||||
They can be selected in the drop-down-menu of the particular device. <br><br>
|
They can be selected in the drop-down-menu of the particular device. <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> autocreateCams </b> (valid for SVS)</li> <br>
|
<li><b> autocreateCams </b> (valid for SVS)</li> <br>
|
||||||
|
|
||||||
If a SVS device is defined, all in SVS integrated cameras are able to be created automatically in FHEM by this command. If the camera is already defined,
|
If a SVS device is defined, all in SVS integrated cameras are able to be created automatically in FHEM by this command. If the camera is already defined,
|
||||||
it is overleaped.
|
it is overleaped.
|
||||||
@@ -10945,7 +10970,7 @@ return;
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="SSCamcreateStreamDev"></a>
|
<a name="SSCamcreateStreamDev"></a>
|
||||||
<li><b> set <name> createStreamDev [generic | hls | lastsnap | mjpeg | switched] </b> (valid for CAM)</li> <br>
|
<li><b> createStreamDev [generic | hls | lastsnap | mjpeg | switched] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
A separate Streaming-Device (type SSCamSTRM) will be created. This device can be used as a discrete device in a dashboard
|
A separate Streaming-Device (type SSCamSTRM) will be created. This device can be used as a discrete device in a dashboard
|
||||||
for example.
|
for example.
|
||||||
@@ -11020,7 +11045,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> createPTZcontrol </b> (valid for PTZ-CAM)</li> <br>
|
<li><b> createPTZcontrol </b> (valid for PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
A separate PTZ control panel will be created (type SSCamSTRM). The current room of the parent camera device is
|
A separate PTZ control panel will be created (type SSCamSTRM). The current room of the parent camera device is
|
||||||
assigned if it is set there (default "SSCam").
|
assigned if it is set there (default "SSCam").
|
||||||
@@ -11030,7 +11055,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> createReadingsGroup [<name of readingsGroup>]</b> (valid for CAM/SVS)</li> <br>
|
<li><b> createReadingsGroup [<name of readingsGroup>]</b> (valid for CAM/SVS)</li> <br>
|
||||||
|
|
||||||
This command creates a readingsGroup device to display an overview of all defined SSCam devices.
|
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
|
A name for the new readingsGroup device can be specified. Is no own name specified, the readingsGroup device will be
|
||||||
@@ -11040,7 +11065,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> createSnapGallery </b> (valid for CAM)</li> <br>
|
<li><b> createSnapGallery </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
A snapshot gallery will be created as a separate device (type SSCamSTRM). The device will be provided in
|
A snapshot gallery will be created as a separate device (type SSCamSTRM). The device will be provided in
|
||||||
room "SSCam".
|
room "SSCam".
|
||||||
@@ -11055,7 +11080,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> credentials <username> <password> </b> (valid for CAM/SVS)</li> <br>
|
<li><b> credentials <username> <password> </b> (valid for CAM/SVS)</li> <br>
|
||||||
|
|
||||||
set username / password combination for access the Synology Surveillance Station.
|
set username / password combination for access the Synology Surveillance Station.
|
||||||
See <a href="#SSCam_Credentials">Credentials</a><br> for further informations.
|
See <a href="#SSCam_Credentials">Credentials</a><br> for further informations.
|
||||||
@@ -11064,7 +11089,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> delPreset <PresetName> </b> (valid for PTZ-CAM)</li> <br>
|
<li><b> delPreset <PresetName> </b> (valid for PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Deletes a preset "<PresetName>". In FHEMWEB a drop-down list with current available presets is provieded.
|
Deletes a preset "<PresetName>". In FHEMWEB a drop-down list with current available presets is provieded.
|
||||||
|
|
||||||
@@ -11072,7 +11097,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> [enable|disable] </b> (valid for CAM)</li> <br>
|
<li><b> enable | disable </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
For <b>deactivating / activating</b> a list of cameras or all cameras by Regex-expression, subsequent two
|
For <b>deactivating / activating</b> a list of cameras or all cameras by Regex-expression, subsequent two
|
||||||
examples using "at":
|
examples using "at":
|
||||||
@@ -11102,7 +11127,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> expmode [day|night|auto] </b> (valid for CAM)</li> <br>
|
<li><b> expmode [day|night|auto] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
With this command you are able to control the exposure mode and can set it to day, night or automatic mode.
|
With this command you are able to control the exposure mode and can set it to day, night or automatic mode.
|
||||||
Thereby, for example, the behavior of camera LED's will be suitable controlled.
|
Thereby, for example, the behavior of camera LED's will be suitable controlled.
|
||||||
@@ -11115,7 +11140,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> extevent [ 1-10 ] </b> (valid for SVS)</li> <br>
|
<li><b> extevent [ 1-10 ] </b> (valid for SVS)</li> <br>
|
||||||
|
|
||||||
This command triggers an external event (1-10) in SVS.
|
This command triggers an external event (1-10) in SVS.
|
||||||
The actions which will are used have to be defined in the actionrule editor of SVS at first. There are the events 1-10 possible.
|
The actions which will are used have to be defined in the actionrule editor of SVS at first. There are the events 1-10 possible.
|
||||||
@@ -11126,7 +11151,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> goAbsPTZ [ X Y | up | down | left | right ] </b> (valid for CAM)</li> <br>
|
<li><b> goAbsPTZ [ X Y | up | down | left | right ] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
This command can be used to move a PTZ-camera to an arbitrary absolute X/Y-coordinate, or to absolute position using up/down/left/right.
|
This command can be used to move a PTZ-camera to an arbitrary absolute X/Y-coordinate, or to absolute position using up/down/left/right.
|
||||||
The option is only available for cameras which are having the Reading "CapPTZAbs=true". The property of a camera can be requested with "get <name> caminfoall" .
|
The option is only available for cameras which are having the Reading "CapPTZAbs=true". The property of a camera can be requested with "get <name> caminfoall" .
|
||||||
@@ -11161,7 +11186,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> goPreset <Preset> </b> (valid for CAM)</li> <br>
|
<li><b> goPreset <Preset> </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
Using this command you can move PTZ-cameras to a predefined position. <br>
|
Using this command you can move PTZ-cameras to a predefined position. <br>
|
||||||
The Preset-positions have to be defined first of all in the Synology Surveillance Station. This usually happens in the PTZ-control of IP-camera setup in SVS.
|
The Preset-positions have to be defined first of all in the Synology Surveillance Station. This usually happens in the PTZ-control of IP-camera setup in SVS.
|
||||||
@@ -11197,7 +11222,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> homeMode [on|off] </b> (valid for SVS)</li> <br>
|
<li><b> homeMode [on|off] </b> (valid for SVS)</li> <br>
|
||||||
|
|
||||||
Switch the HomeMode of the Surveillance Station on or off.
|
Switch the HomeMode of the Surveillance Station on or off.
|
||||||
Further informations about HomeMode you can find in the <a href="https://www.synology.com/en-global/knowledgebase/Surveillance/help/SurveillanceStation/home_mode">Synology Onlinehelp</a>.
|
Further informations about HomeMode you can find in the <a href="https://www.synology.com/en-global/knowledgebase/Surveillance/help/SurveillanceStation/home_mode">Synology Onlinehelp</a>.
|
||||||
@@ -11205,7 +11230,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> motdetsc [camera|SVS|disable] </b> (valid for CAM)</li> <br>
|
<li><b> motdetsc [camera|SVS|disable] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
The command "motdetsc" (stands for "motion detection source") switchover the motion detection to the desired mode.
|
The command "motdetsc" (stands for "motion detection source") switchover the motion detection to the desired mode.
|
||||||
If motion detection will be done by camera / SVS without any parameters, the original camera motion detection settings are kept.
|
If motion detection will be done by camera / SVS without any parameters, the original camera motion detection settings are kept.
|
||||||
@@ -11254,8 +11279,8 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> move [ right | up | down | left | dir_X ] [Sekunden] </b> (valid for CAM up to SVS version 7.1)</li>
|
<li><b> move [ right | up | down | left | dir_X ] [Sekunden] </b> (valid for CAM up to SVS version 7.1)</li>
|
||||||
<b> set <name> move [ right | upright | up | upleft | left | downleft | down | downright ] [Sekunden] </b> (valid for CAM and SVS Version 7.2 and above) <br><br>
|
<b> move [ right | upright | up | upleft | left | downleft | down | downright ] [Sekunden] </b> (valid for CAM and SVS Version 7.2 and above) <br><br>
|
||||||
|
|
||||||
With this command a continuous move of a PTZ-camera will be started. In addition to the four basic directions up/down/left/right is it possible to use angular dimensions
|
With this command a continuous move of a PTZ-camera will be started. In addition to the four basic directions up/down/left/right is it possible to use angular dimensions
|
||||||
"dir_X". The grain size of graduation depends on properties of the camera and can be identified by the Reading "CapPTZDirections". <br><br>
|
"dir_X". The grain size of graduation depends on properties of the camera and can be identified by the Reading "CapPTZDirections". <br><br>
|
||||||
@@ -11278,7 +11303,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> off </b> (valid for CAM)</li><br>
|
<li><b> off </b> (valid for CAM)</li><br>
|
||||||
|
|
||||||
Stops the current recording.
|
Stops the current recording.
|
||||||
</ul>
|
</ul>
|
||||||
@@ -11357,7 +11382,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> optimizeParams [mirror:<value>] [flip:<value>] [rotate:<value>] [ntp:<value>]</b> (gilt für CAM)</li> <br>
|
<li><b> optimizeParams [mirror:<value>] [flip:<value>] [rotate:<value>] [ntp:<value>]</b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Set one or several properties of the camera. The video can be mirrored (mirror), turned upside down (flip) or
|
Set one or several properties of the camera. The video can be mirrored (mirror), turned upside down (flip) or
|
||||||
rotated (rotate). Specified properties must be supported by the camera type. With "ntp" you can set a time server the camera
|
rotated (rotate). Specified properties must be supported by the camera type. With "ntp" you can set a time server the camera
|
||||||
@@ -11382,14 +11407,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> pirSensor [activate | deactivate] </b> (valid for CAM)</li> <br>
|
<li><b> pirSensor [activate | deactivate] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
Activates / deactivates the infrared sensor of the camera (only posible if the camera has got a PIR sensor).
|
Activates / deactivates the infrared sensor of the camera (only posible if the camera has got a PIR sensor).
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> runPatrol <Patrolname> </b> (valid for CAM)</li> <br>
|
<li><b> runPatrol <Patrolname> </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
This commans starts a predefined patrol (tour) of a PTZ-camera. <br>
|
This commans starts a predefined patrol (tour) of a PTZ-camera. <br>
|
||||||
At first the patrol has to be predefined in the Synology Surveillance Station. It can be done in the PTZ-control of IP-Kamera Setup -> PTZ-control -> patrol.
|
At first the patrol has to be predefined in the Synology Surveillance Station. It can be done in the PTZ-control of IP-Kamera Setup -> PTZ-control -> patrol.
|
||||||
@@ -11401,7 +11426,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> runView [live_fw | live_link | live_open [<room>] | lastrec_fw | lastrec_fw_MJPEG | lastrec_fw_MPEG4/H.264 | lastrec_open [<room>] | lastsnap_fw] </b> (valid for CAM)</li> <br>
|
<li><b> runView [live_fw | live_link | live_open [<room>] | lastrec_fw | lastrec_fw_MJPEG | lastrec_fw_MPEG4/H.264 | lastrec_open [<room>] | lastsnap_fw] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<table>
|
<table>
|
||||||
@@ -11486,7 +11511,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> setHome <PresetName> </b> (valid for PTZ-CAM)</li> <br>
|
<li><b> setHome <PresetName> </b> (valid for PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Set the Home-preset to a predefined preset name "<PresetName>" or the current position of the camera.
|
Set the Home-preset to a predefined preset name "<PresetName>" or the current position of the camera.
|
||||||
|
|
||||||
@@ -11494,7 +11519,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> setPreset <PresetNumber> [<PresetName>] [<Speed>] </b> (valid for PTZ-CAM)</li> <br>
|
<li><b> setPreset <PresetNumber> [<PresetName>] [<Speed>] </b> (valid for PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Sets a Preset with name "<PresetName>" to the current postion of the camera. The speed can be defined
|
Sets a Preset with name "<PresetName>" to the current postion of the camera. The speed can be defined
|
||||||
optionally (<Speed>). If no PresetName is specified, the PresetNummer is used as name.
|
optionally (<Speed>). If no PresetName is specified, the PresetNummer is used as name.
|
||||||
@@ -11504,7 +11529,15 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> snap [<number>] [<time difference>] <br>
|
<li><b> setZoom < .++ | + | stop | - | --. > </b> (valid for PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
|
Provides controls for zoom functions if the camera supports this feature.
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><b> snap [<number>] [<time difference>] <br>
|
||||||
|
|
||||||
[snapEmailTxt:"subject => <subject text>, body => <message text>"] <br>
|
[snapEmailTxt:"subject => <subject text>, body => <message text>"] <br>
|
||||||
[snapTelegramTxt:"tbot => <TelegramBot device>, peers => [<peer1 peer2 ...>], subject => [<subject text>]"] <br>
|
[snapTelegramTxt:"tbot => <TelegramBot device>, peers => [<peer1 peer2 ...>], subject => [<subject text>]"] <br>
|
||||||
@@ -11554,7 +11587,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> snapCams [<number>] [<time difference>] [CAM:"<camera>, <camera>, ..."]</b> (valid for SVS)</li> <br>
|
<li><b> snapCams [<number>] [<time difference>] [CAM:"<camera>, <camera>, ..."]</b> (valid for SVS)</li> <br>
|
||||||
|
|
||||||
One or multiple snapshots of denoted cameras are triggered. If no cameras are denoted, the snapshots are triggered in all
|
One or multiple snapshots of denoted cameras are triggered. If no cameras are denoted, the snapshots are triggered in all
|
||||||
of the defined cameras in FHEM.
|
of the defined cameras in FHEM.
|
||||||
@@ -11579,7 +11612,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> snapGallery [1-10] </b> (valid for CAM)</li> <br>
|
<li><b> snapGallery [1-10] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
The command is only available if the attribute "snapGalleryBoost=1" is set. <br>
|
The command is only available if the attribute "snapGalleryBoost=1" is set. <br>
|
||||||
It creates an output of the last [x] snapshots as well as "get ... snapGallery". But differing from "get" with
|
It creates an output of the last [x] snapshots as well as "get ... snapGallery". But differing from "get" with
|
||||||
@@ -11597,7 +11630,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> startTracking </b> (valid for CAM with tracking capability)</li> <br>
|
<li><b> startTracking </b> (valid for CAM with tracking capability)</li> <br>
|
||||||
|
|
||||||
Starts object tracking of camera.
|
Starts object tracking of camera.
|
||||||
The command is only available if surveillance station has recognised the object tracking capability of camera
|
The command is only available if surveillance station has recognised the object tracking capability of camera
|
||||||
@@ -11606,7 +11639,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> stopTracking </b> (valid for CAM with tracking capability)</li> <br>
|
<li><b> stopTracking </b> (valid for CAM with tracking capability)</li> <br>
|
||||||
|
|
||||||
Stops object tracking of camera.
|
Stops object tracking of camera.
|
||||||
The command is only available if surveillance station has recognised the object tracking capability of camera
|
The command is only available if surveillance station has recognised the object tracking capability of camera
|
||||||
@@ -11627,8 +11660,8 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
They can be selected in the drop-down-menu of the particular device. <br><br>
|
They can be selected in the drop-down-menu of the particular device. <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> caminfoall </b> (valid for CAM/SVS)</li>
|
<li><b> caminfoall </b> (valid for CAM/SVS)</li>
|
||||||
<b> get <name> caminfo </b> (valid for CAM) <br><br>
|
<b> caminfo </b> (valid for CAM) <br><br>
|
||||||
|
|
||||||
Dependend of the type of camera (e.g. Fix- or PTZ-Camera) the available properties are retrieved and provided as Readings.<br>
|
Dependend of the type of camera (e.g. Fix- or PTZ-Camera) the available properties are retrieved and provided as Readings.<br>
|
||||||
For example the Reading "Availability" will be set to "disconnected" if the camera would be disconnected from Synology
|
For example the Reading "Availability" will be set to "disconnected" if the camera would be disconnected from Synology
|
||||||
@@ -11638,7 +11671,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> eventlist </b> (valid for CAM)</li> <br>
|
<li><b> eventlist </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
The <a href="#SSCamreadings">Reading</a> "CamEventNum" and "CamLastRecord" will be refreshed which containes the total number
|
The <a href="#SSCamreadings">Reading</a> "CamEventNum" and "CamLastRecord" will be refreshed which containes the total number
|
||||||
of in SVS registered camera events and the path/name of the last recording.
|
of in SVS registered camera events and the path/name of the last recording.
|
||||||
@@ -11649,14 +11682,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> homeModeState </b> (valid for SVS)</li> <br>
|
<li><b> homeModeState </b> (valid for SVS)</li> <br>
|
||||||
|
|
||||||
HomeMode-state of the Surveillance Station will be retrieved.
|
HomeMode-state of the Surveillance Station will be retrieved.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> listLog [severity:<Loglevel>] [limit:<Number of lines>] [match:<Searchstring>] </b> (valid for SVS)</li> <br>
|
<li><b> listLog [severity:<Loglevel>] [limit:<Number of lines>] [match:<Searchstring>] </b> (valid for SVS)</li> <br>
|
||||||
|
|
||||||
Fetches the Surveillance Station Log from Synology server. Without any further options the whole log will be retrieved. <br>
|
Fetches the Surveillance Station Log from Synology server. Without any further options the whole log will be retrieved. <br>
|
||||||
You can specify all or any of the following options: <br><br>
|
You can specify all or any of the following options: <br><br>
|
||||||
@@ -11687,14 +11720,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> listPresets </b> (valid for PTZ-CAM)</li> <br>
|
<li><b> listPresets </b> (valid for PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Get a popup with a lists of presets saved for the camera.
|
Get a popup with a lists of presets saved for the camera.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> saveRecording [<path>] </b> (valid for CAM)</li> <br>
|
<li><b> saveRecording [<path>] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
The current recording present in Reading "CamLastRec" is saved lcally as a MP4 file. Optionally you can specify the path
|
The current recording present in Reading "CamLastRec" is saved lcally as a MP4 file. Optionally you can specify the path
|
||||||
for the file to save (default: modpath in global device). <br>
|
for the file to save (default: modpath in global device). <br>
|
||||||
@@ -11709,7 +11742,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> scanVirgin </b> (valid for CAM/SVS)</li> <br>
|
<li><b> scanVirgin </b> (valid for CAM/SVS)</li> <br>
|
||||||
|
|
||||||
This command is similar to get caminfoall, informations relating to SVS and the camera will be retrieved.
|
This command is similar to get caminfoall, informations relating to SVS and the camera will be retrieved.
|
||||||
In difference to caminfoall in either case a new session ID will be generated (do a new login), the camera ID will be
|
In difference to caminfoall in either case a new session ID will be generated (do a new login), the camera ID will be
|
||||||
@@ -11718,7 +11751,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> snapGallery [1-10] </b> (valid for CAM)</li> <br>
|
<li><b> snapGallery [1-10] </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
A popup with the last [x] snapshots will be created. If the <a href="#SSCamattr">attribute</a> "snapGalleryBoost" is set,
|
A popup with the last [x] snapshots will be created. If the <a href="#SSCamattr">attribute</a> "snapGalleryBoost" is set,
|
||||||
the last snapshots (default 3) are requested by polling and they will be stored in the FHEM-servers main memory.
|
the last snapshots (default 3) are requested by polling and they will be stored in the FHEM-servers main memory.
|
||||||
@@ -11748,7 +11781,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> snapfileinfo </b> (valid for CAM)</li> <br>
|
<li><b> snapfileinfo </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
The filename of the last snapshot will be retrieved. This command will be executed with <b>"get <name> snap"</b>
|
The filename of the last snapshot will be retrieved. This command will be executed with <b>"get <name> snap"</b>
|
||||||
automatically.
|
automatically.
|
||||||
@@ -11756,7 +11789,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> snapinfo </b> (valid for CAM)</li> <br>
|
<li><b> snapinfo </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
Informations about snapshots will be retrieved. Heplful if snapshots are not triggerd by SSCam, but by motion detection of the camera or surveillance
|
Informations about snapshots will be retrieved. Heplful if snapshots are not triggerd by SSCam, but by motion detection of the camera or surveillance
|
||||||
station instead.
|
station instead.
|
||||||
@@ -11764,7 +11797,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> stmUrlPath </b> (valid for CAM)</li> <br>
|
<li><b> stmUrlPath </b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
This command is to fetch the streamkey information and streamurl using that streamkey. The reading "StmKey" will be filled when this command will be executed and can be used
|
This command is to fetch the streamkey information and streamurl using that streamkey. The reading "StmKey" will be filled when this command will be executed and can be used
|
||||||
to send it and run by your own application like a browser (see example).
|
to send it and run by your own application like a browser (see example).
|
||||||
@@ -11776,7 +11809,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
Example to create an http-call to a livestream using StmKey: <br>
|
Example to create an http-call to a livestream using StmKey: <br>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=5&StmKey="31fd87279976d89bb98409728cced890"
|
http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceStation.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=5&StmKey="31fd87279976d89bb98409728cced890"
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
cameraId (Internal CAMID) and StmKey has to be replaced by valid values. <br><br>
|
cameraId (Internal CAMID) and StmKey has to be replaced by valid values. <br><br>
|
||||||
@@ -11789,21 +11822,21 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> storedCredentials </b> (valid for CAM/SVS)</li> <br>
|
<li><b> storedCredentials </b> (valid for CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Shows the stored login credentials in a popup as plain text.
|
Shows the stored login credentials in a popup as plain text.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> svsinfo </b> (valid for CAM/SVS)</li> <br>
|
<li><b> svsinfo </b> (valid for CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Determines common informations about the installed SVS-version and other properties. <br>
|
Determines common informations about the installed SVS-version and other properties. <br>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> versionNotes [hints | rel | <key>] </b> (valid for CAM/SVS)</li> <br>
|
<li><b> versionNotes [hints | rel | <key>] </b> (valid for CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Shows realease informations and/or hints about the module. It contains only main release informations for module users. <br>
|
Shows realease informations and/or hints about the module. It contains only main release informations for module users. <br>
|
||||||
If no options are specified, both release informations and hints will be shown. "rel" shows only release informations and
|
If no options are specified, both release informations and hints will be shown. "rel" shows only release informations and
|
||||||
@@ -12856,7 +12889,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
Drop-Down-Menü des jeweiligen Devices zur Auswahl zur Verfügung. <br><br>
|
Drop-Down-Menü des jeweiligen Devices zur Auswahl zur Verfügung. <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> autocreateCams </b> (gilt für SVS)</li> <br>
|
<li><b> autocreateCams </b> (gilt für SVS)</li> <br>
|
||||||
|
|
||||||
Ist ein SVS-Device definiert, können mit diesem Befehl alle in der SVS integrierten Kameras automatisiert angelegt werden. Bereits definierte
|
Ist ein SVS-Device definiert, können mit diesem Befehl alle in der SVS integrierten Kameras automatisiert angelegt werden. Bereits definierte
|
||||||
Kameradevices werden übersprungen.
|
Kameradevices werden übersprungen.
|
||||||
@@ -12867,7 +12900,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="SSCamcreateStreamDev"></a>
|
<a name="SSCamcreateStreamDev"></a>
|
||||||
<li><b> set <name> createStreamDev [generic | hls | lastsnap | mjpeg | switched] </b> (gilt für CAM)</li> <br>
|
<li><b> createStreamDev [generic | hls | lastsnap | mjpeg | switched] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Es wird ein separates Streaming-Device (Typ SSCamSTRM) erstellt. Dieses Device kann z.B. als separates Device
|
Es wird ein separates Streaming-Device (Typ SSCamSTRM) erstellt. Dieses Device kann z.B. als separates Device
|
||||||
in einem Dashboard genutzt werden.
|
in einem Dashboard genutzt werden.
|
||||||
@@ -12941,7 +12974,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> createPTZcontrol </b> (gilt für PTZ-CAM)</li> <br>
|
<li><b> createPTZcontrol </b> (gilt für PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Es wird ein separates PTZ-Steuerungspaneel (Type SSCamSTRM) erstellt. Es wird der aktuelle Raum des Kameradevice
|
Es wird ein separates PTZ-Steuerungspaneel (Type SSCamSTRM) erstellt. Es wird der aktuelle Raum des Kameradevice
|
||||||
zugewiesen sofern dort gesetzt (default "SSCam").
|
zugewiesen sofern dort gesetzt (default "SSCam").
|
||||||
@@ -12951,7 +12984,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> createReadingsGroup [<Name der readingsGroup>]</b> (gilt für CAM/SVS)</li> <br>
|
<li><b> createReadingsGroup [<Name der readingsGroup>]</b> (gilt für CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Es wird ein readingsGroup-Device zur Übersicht aller vorhandenen SSCam-Devices erstellt. Es kann ein eigener Name angegeben
|
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.
|
werden. Ist kein Name angegeben, wird eine readingsGroup mit dem Namen "RG.SSCam" erzeugt.
|
||||||
@@ -12960,7 +12993,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> createSnapGallery </b> (gilt für CAM)</li> <br>
|
<li><b> createSnapGallery </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Es wird eine Schnappschußgallerie als separates Device (Type SSCamSTRM) erzeugt. Das Device wird im Raum
|
Es wird eine Schnappschußgallerie als separates Device (Type SSCamSTRM) erzeugt. Das Device wird im Raum
|
||||||
"SSCam" erstellt.
|
"SSCam" erstellt.
|
||||||
@@ -12977,7 +13010,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> credentials <username> <password> </b> (gilt für CAM/SVS)</li> <br>
|
<li><b> credentials <username> <password> </b> (gilt für CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Setzt Username / Passwort für den Zugriff auf die Synology Surveillance Station.
|
Setzt Username / Passwort für den Zugriff auf die Synology Surveillance Station.
|
||||||
Siehe <a href="#SSCam_Credentials">Credentials</a><br>
|
Siehe <a href="#SSCam_Credentials">Credentials</a><br>
|
||||||
@@ -12986,7 +13019,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> delPreset <PresetName> </b> (gilt für PTZ-CAM)</li> <br>
|
<li><b> delPreset <PresetName> </b> (gilt für PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Löscht einen Preset "<PresetName>". Im FHEMWEB wird eine Drop-Down Liste der aktuell vorhandenen
|
Löscht einen Preset "<PresetName>". Im FHEMWEB wird eine Drop-Down Liste der aktuell vorhandenen
|
||||||
Presets angeboten.
|
Presets angeboten.
|
||||||
@@ -12995,7 +13028,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> [enable|disable] </b> (gilt für CAM)</li> <br>
|
<li><b> enable | disable </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Aktviviert / deaktiviert eine Kamera. <br>
|
Aktviviert / deaktiviert eine Kamera. <br>
|
||||||
Um eine Liste von Kameras oder alle Kameras (mit Regex) zum Beispiel um 21:46 zu <b>deaktivieren</b> / zu <b>aktivieren</b> zwei Beispiele mit at:
|
Um eine Liste von Kameras oder alle Kameras (mit Regex) zum Beispiel um 21:46 zu <b>deaktivieren</b> / zu <b>aktivieren</b> zwei Beispiele mit at:
|
||||||
@@ -13024,7 +13057,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> expmode [day|night|auto] </b> (gilt für CAM)</li> <br>
|
<li><b> expmode [day|night|auto] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Mit diesem Befehl kann der Belichtungsmodus der Kameras gesetzt werden. Dadurch wird z.B. das Verhalten der Kamera-LED's entsprechend gesteuert.
|
Mit diesem Befehl kann der Belichtungsmodus der Kameras gesetzt werden. Dadurch wird z.B. das Verhalten der Kamera-LED's entsprechend gesteuert.
|
||||||
Die erfolgreiche Umschaltung wird durch das Reading CamExposureMode ("get ... caminfoall") reportet. <br><br>
|
Die erfolgreiche Umschaltung wird durch das Reading CamExposureMode ("get ... caminfoall") reportet. <br><br>
|
||||||
@@ -13037,7 +13070,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> extevent [ 1-10 ] </b> (gilt für SVS)</li> <br>
|
<li><b> extevent [ 1-10 ] </b> (gilt für SVS)</li> <br>
|
||||||
|
|
||||||
Dieses Kommando triggert ein externes Ereignis (1-10) in der SVS.
|
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
|
Die Aktionen, die dieses Ereignis auslöst, sind zuvor in dem Aktionsregeleditor der SVS einzustellen. Es stehen die Ereignisse
|
||||||
@@ -13050,7 +13083,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> goAbsPTZ [ X Y | up | down | left | right ] </b> (gilt für CAM)</li> <br>
|
<li><b> goAbsPTZ [ X Y | up | down | left | right ] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Mit diesem Kommando wird eine PTZ-Kamera in Richtung einer wählbaren absoluten X/Y-Koordinate bewegt, oder zur maximalen Absolutposition in Richtung up/down/left/right.
|
Mit diesem Kommando wird eine PTZ-Kamera in Richtung einer wählbaren absoluten X/Y-Koordinate bewegt, oder zur maximalen Absolutposition in Richtung up/down/left/right.
|
||||||
Die Option ist nur für Kameras verfügbar die das Reading "CapPTZAbs=true" (die Fähigkeit für PTZAbs-Aktionen) besitzen. Die Eigenschaften der Kamera kann mit "get <name> caminfoall" abgefragt werden.
|
Die Option ist nur für Kameras verfügbar die das Reading "CapPTZAbs=true" (die Fähigkeit für PTZAbs-Aktionen) besitzen. Die Eigenschaften der Kamera kann mit "get <name> caminfoall" abgefragt werden.
|
||||||
@@ -13085,7 +13118,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> goPreset <Preset> </b> (gilt für CAM)</li> <br>
|
<li><b> goPreset <Preset> </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Mit diesem Kommando können PTZ-Kameras in eine vordefininierte Position bewegt werden. <br>
|
Mit diesem Kommando können PTZ-Kameras in eine vordefininierte Position bewegt werden. <br>
|
||||||
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 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.
|
||||||
@@ -13120,7 +13153,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> homeMode [on|off] </b> (gilt für SVS)</li> <br>
|
<li><b> homeMode [on|off] </b> (gilt für SVS)</li> <br>
|
||||||
|
|
||||||
Schaltet den HomeMode der Surveillance Station ein bzw. aus.
|
Schaltet den HomeMode der Surveillance Station ein bzw. aus.
|
||||||
Informationen zum HomeMode sind in der <a href="https://www.synology.com/de-de/knowledgebase/Surveillance/help/SurveillanceStation/home_mode">Synology Onlinehilfe</a>
|
Informationen zum HomeMode sind in der <a href="https://www.synology.com/de-de/knowledgebase/Surveillance/help/SurveillanceStation/home_mode">Synology Onlinehilfe</a>
|
||||||
@@ -13129,7 +13162,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> motdetsc [camera|SVS|disable] </b> (gilt für CAM)</li> <br>
|
<li><b> motdetsc [camera|SVS|disable] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Der Befehl "motdetsc" (steht für motion detection source) schaltet die Bewegungserkennung in den gewünschten Modus.
|
Der Befehl "motdetsc" (steht für motion detection source) schaltet die Bewegungserkennung in den gewünschten Modus.
|
||||||
Wird die Bewegungserkennung durch die Kamera / SVS ohne weitere Optionen eingestellt, werden die momentan gültigen Bewegungserkennungsparameter der
|
Wird die Bewegungserkennung durch die Kamera / SVS ohne weitere Optionen eingestellt, werden die momentan gültigen Bewegungserkennungsparameter der
|
||||||
@@ -13177,8 +13210,8 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> move [ right | up | down | left | dir_X ] [Sekunden] </b> (gilt für CAM bis SVS Version 7.1)</li>
|
<li><b> move [ right | up | down | left | dir_X ] [Sekunden] </b> (gilt für CAM bis SVS Version 7.1)</li>
|
||||||
<b> set <name> move [ right | upright | up | upleft | left | downleft | down | downright ] [Sekunden] </b> (gilt für CAM ab SVS Version 7.2) <br><br>
|
<b> move [ right | upright | up | upleft | left | downleft | down | downright ] [Sekunden] </b> (gilt für CAM ab SVS Version 7.2) <br><br>
|
||||||
|
|
||||||
Mit diesem Kommando wird eine kontinuierliche Bewegung der PTZ-Kamera gestartet. Neben den vier Grundrichtungen up/down/left/right stehen auch
|
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. <br><br>
|
Zwischenwinkelmaße "dir_X" zur Verfügung. Die Feinheit dieser Graduierung ist von der Kamera abhängig und kann dem Reading "CapPTZDirections" entnommen werden. <br><br>
|
||||||
@@ -13201,14 +13234,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> off </b> (gilt für CAM)</li><br>
|
<li><b> off </b> (gilt für CAM)</li><br>
|
||||||
|
|
||||||
Stoppt eine laufende Aufnahme.
|
Stoppt eine laufende Aufnahme.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> on [<rectime>] <br>
|
<li><b> on [<rectime>] <br>
|
||||||
[recEmailTxt:"subject => <Betreff-Text>, body => <Mitteilung-Text>"] <br>
|
[recEmailTxt:"subject => <Betreff-Text>, body => <Mitteilung-Text>"] <br>
|
||||||
[recTelegramTxt:"tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br>
|
[recTelegramTxt:"tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br>
|
||||||
[recChatTxt:"chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br> </b>
|
[recChatTxt:"chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br> </b>
|
||||||
@@ -13282,7 +13315,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> optimizeParams [mirror:<value>] [flip:<value>] [rotate:<value>] [ntp:<value>]</b> (gilt für CAM)</li> <br>
|
<li><b> optimizeParams [mirror:<value>] [flip:<value>] [rotate:<value>] [ntp:<value>]</b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Setzt eine oder mehrere Eigenschaften für die Kamera. Das Video kann gespiegelt (mirror), auf den Kopf gestellt (flip) oder
|
Setzt eine oder mehrere Eigenschaften für die Kamera. Das Video kann gespiegelt (mirror), auf den Kopf gestellt (flip) oder
|
||||||
gedreht (rotate) werden. Die jeweiligen Eigenschaften müssen von der Kamera unterstützt werden. Mit "ntp" wird der Zeitserver
|
gedreht (rotate) werden. Die jeweiligen Eigenschaften müssen von der Kamera unterstützt werden. Mit "ntp" wird der Zeitserver
|
||||||
@@ -13307,14 +13340,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> pirSensor [activate | deactivate] </b> (gilt für CAM)</li> <br>
|
<li><b> pirSensor [activate | deactivate] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Aktiviert / deaktiviert den Infrarot-Sensor der Kamera (sofern die Kamera einen PIR-Sensor enthält).
|
Aktiviert / deaktiviert den Infrarot-Sensor der Kamera (sofern die Kamera einen PIR-Sensor enthält).
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> runPatrol <Patrolname> </b> (gilt für CAM)</li> <br>
|
<li><b> runPatrol <Patrolname> </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Dieses Kommando startet die vordefinierterte Überwachungstour einer PTZ-Kamera. <br>
|
Dieses Kommando startet die vordefinierterte Überwachungstour einer PTZ-Kamera. <br>
|
||||||
Die Überwachungstouren müssen dazu zunächst in der Synology Surveillance Station angelegt worden sein.
|
Die Überwachungstouren müssen dazu zunächst in der Synology Surveillance Station angelegt worden sein.
|
||||||
@@ -13327,7 +13360,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> runView [live_fw | live_fw_hls | live_link | live_open [<room>] | lastrec_fw | lastrec_fw_MJPEG | lastrec_fw_MPEG4/H.264 | lastrec_open [<room>] | lastsnap_fw] </b> (gilt für CAM)</li> <br>
|
<li><b> runView [live_fw | live_fw_hls | live_link | live_open [<room>] | lastrec_fw | lastrec_fw_MJPEG | lastrec_fw_MPEG4/H.264 | lastrec_open [<room>] | lastsnap_fw] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<table>
|
<table>
|
||||||
@@ -13415,7 +13448,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> setHome <PresetName> </b> (gilt für PTZ-CAM)</li> <br>
|
<li><b> setHome <PresetName> </b> (gilt für PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Setzt die Home-Position der Kamera auf einen vordefinierten Preset "<PresetName>" oder auf die aktuell angefahrene
|
Setzt die Home-Position der Kamera auf einen vordefinierten Preset "<PresetName>" oder auf die aktuell angefahrene
|
||||||
Position.
|
Position.
|
||||||
@@ -13424,7 +13457,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> setPreset <PresetNummer> [<PresetName>] [<Speed>] </b> (gilt für PTZ-CAM)</li> <br>
|
<li><b> setPreset <PresetNummer> [<PresetName>] [<Speed>] </b> (gilt für PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Setzt einen Preset mit dem Namen "<PresetName>" auf die aktuell angefahrene Position der Kamera. Optional kann die
|
Setzt einen Preset mit dem Namen "<PresetName>" auf die aktuell angefahrene Position der Kamera. Optional kann die
|
||||||
Geschwindigkeit angegeben werden (<Speed>). Ist kein PresetName angegeben, wird die PresetNummer als Name verwendet.
|
Geschwindigkeit angegeben werden (<Speed>). Ist kein PresetName angegeben, wird die PresetNummer als Name verwendet.
|
||||||
@@ -13434,7 +13467,15 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> smtpcredentials <user> <password> </b> (gilt für CAM)</li> <br>
|
<li><b> setZoom < .++ | + | stop | - | --. > </b> (gilt für PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
|
Stellt Bedienelemte für Zoomfunktionen zur Verfügung sofern die Kamera dieses Merkmal unterstützt.
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><b> smtpcredentials <user> <password> </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Setzt die Credentials für den Zugang zum Postausgangsserver wenn Email-Versand genutzt wird.
|
Setzt die Credentials für den Zugang zum Postausgangsserver wenn Email-Versand genutzt wird.
|
||||||
|
|
||||||
@@ -13442,7 +13483,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> snap [<Anzahl>] [<Zeitabstand>] <br>
|
<li><b> snap [<Anzahl>] [<Zeitabstand>] <br>
|
||||||
[snapEmailTxt:"subject => <Betreff-Text>, body => <Mitteilung-Text>"] <br>
|
[snapEmailTxt:"subject => <Betreff-Text>, body => <Mitteilung-Text>"] <br>
|
||||||
[snapTelegramTxt:"tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br>
|
[snapTelegramTxt:"tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br>
|
||||||
[snapChatTxt:"chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br>
|
[snapChatTxt:"chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]"] <br>
|
||||||
@@ -13491,7 +13532,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> snapCams [<Anzahl>] [<Zeitabstand>] [CAM:"<Kamera>, <Kamera>, ..."]</b> (gilt für SVS)</li> <br>
|
<li><b> snapCams [<Anzahl>] [<Zeitabstand>] [CAM:"<Kamera>, <Kamera>, ..."]</b> (gilt für SVS)</li> <br>
|
||||||
|
|
||||||
Ein oder mehrere Schnappschüsse der angegebenen Kamera-Devices werden ausgelöst. Sind keine Kamera-Devices angegeben,
|
Ein oder mehrere Schnappschüsse der angegebenen Kamera-Devices werden ausgelöst. Sind keine Kamera-Devices angegeben,
|
||||||
werden die Schnappschüsse bei allen in FHEM definierten Kamera-Devices getriggert.
|
werden die Schnappschüsse bei allen in FHEM definierten Kamera-Devices getriggert.
|
||||||
@@ -13517,7 +13558,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> snapGallery [1-10] </b> (gilt für CAM)</li> <br>
|
<li><b> snapGallery [1-10] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Der Befehl ist nur vorhanden wenn das Attribut "snapGalleryBoost=1" gesetzt wurde.
|
Der Befehl ist nur vorhanden wenn das Attribut "snapGalleryBoost=1" gesetzt wurde.
|
||||||
Er erzeugt eine Ausgabe der letzten [x] Schnappschüsse ebenso wie <a href="#SSCamget">"get <name> snapGallery"</a>. Abweichend von "get" wird mit Attribut
|
Er erzeugt eine Ausgabe der letzten [x] Schnappschüsse ebenso wie <a href="#SSCamget">"get <name> snapGallery"</a>. Abweichend von "get" wird mit Attribut
|
||||||
@@ -13535,7 +13576,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> startTracking </b> (gilt für CAM mit Tracking Fähigkeit)</li> <br>
|
<li><b> startTracking </b> (gilt für CAM mit Tracking Fähigkeit)</li> <br>
|
||||||
|
|
||||||
Startet Objekt Tracking der Kamera.
|
Startet Objekt Tracking der Kamera.
|
||||||
Der Befehl ist nur vorhanden wenn die Surveillance Station die Fähigkeit der Kamera zum Objekt Tracking erkannt hat
|
Der Befehl ist nur vorhanden wenn die Surveillance Station die Fähigkeit der Kamera zum Objekt Tracking erkannt hat
|
||||||
@@ -13544,7 +13585,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> stopTracking </b> (gilt für CAM mit Tracking Fähigkeit)</li> <br>
|
<li><b> stopTracking </b> (gilt für CAM mit Tracking Fähigkeit)</li> <br>
|
||||||
|
|
||||||
Stoppt Objekt Tracking der Kamera.
|
Stoppt Objekt Tracking der Kamera.
|
||||||
Der Befehl ist nur vorhanden wenn die Surveillance Station die Fähigkeit der Kamera zum Objekt Tracking erkannt hat
|
Der Befehl ist nur vorhanden wenn die Surveillance Station die Fähigkeit der Kamera zum Objekt Tracking erkannt hat
|
||||||
@@ -13564,8 +13605,8 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
Drop-Down-Menü des jeweiligen Devices zur Auswahl zur Verfügung. <br><br>
|
Drop-Down-Menü des jeweiligen Devices zur Auswahl zur Verfügung. <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> caminfoall </b> (gilt für CAM/SVS)</li>
|
<li><b> caminfoall </b> (gilt für CAM/SVS)</li>
|
||||||
<b> get <name> caminfo </b> (gilt für CAM) <br><br>
|
<b> caminfo </b> (gilt für CAM) <br><br>
|
||||||
|
|
||||||
Es werden SVS-Parameter und abhängig von der Art der Kamera (z.B. Fix- oder PTZ-Kamera) die verfügbaren Kamera-Eigenschaften
|
Es werden SVS-Parameter und abhängig von der Art der Kamera (z.B. Fix- oder PTZ-Kamera) die verfügbaren Kamera-Eigenschaften
|
||||||
ermittelt und als Readings zur Verfügung gestellt. <br>
|
ermittelt und als Readings zur Verfügung gestellt. <br>
|
||||||
@@ -13576,7 +13617,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> eventlist </b> (gilt für CAM)</li> <br>
|
<li><b> eventlist </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Es wird das <a href="#SSCamreadings">Reading</a> "CamEventNum" und "CamLastRec"
|
Es wird das <a href="#SSCamreadings">Reading</a> "CamEventNum" und "CamLastRec"
|
||||||
aktualisiert, welches die Gesamtanzahl der registrierten Kameraevents und den Pfad / Namen der letzten Aufnahme enthält.
|
aktualisiert, welches die Gesamtanzahl der registrierten Kameraevents und den Pfad / Namen der letzten Aufnahme enthält.
|
||||||
@@ -13594,14 +13635,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> homeModeState </b> (gilt für SVS)</li> <br>
|
<li><b> homeModeState </b> (gilt für SVS)</li> <br>
|
||||||
|
|
||||||
HomeMode-Status der Surveillance Station wird abgerufen.
|
HomeMode-Status der Surveillance Station wird abgerufen.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> listLog [severity:<Loglevel>] [limit:<Zeilenzahl>] [match:<Suchstring>] </b> (gilt für SVS)</li> <br>
|
<li><b> listLog [severity:<Loglevel>] [limit:<Zeilenzahl>] [match:<Suchstring>] </b> (gilt für SVS)</li> <br>
|
||||||
|
|
||||||
Ruft das Surveillance Station Log vom Synology Server ab. Ohne Angabe der optionalen Zusätze wird das gesamte Log abgerufen. <br>
|
Ruft das Surveillance Station Log vom Synology Server ab. Ohne Angabe der optionalen Zusätze wird das gesamte Log abgerufen. <br>
|
||||||
Es können alle oder eine Auswahl der folgenden Optionen angegeben werden: <br><br>
|
Es können alle oder eine Auswahl der folgenden Optionen angegeben werden: <br><br>
|
||||||
@@ -13632,14 +13673,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> listPresets </b> (gilt für PTZ-CAM)</li> <br>
|
<li><b> listPresets </b> (gilt für PTZ-CAM)</li> <br>
|
||||||
|
|
||||||
Die für die Kamera gespeicherten Presets werden in einem Popup ausgegeben.
|
Die für die Kamera gespeicherten Presets werden in einem Popup ausgegeben.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> saveRecording [<Pfad>] </b> (gilt für CAM)</li> <br>
|
<li><b> saveRecording [<Pfad>] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Die aktuell im Reading "CamLastRec" angegebene Aufnahme wird lokal als MP4-File gespeichert. Optional kann der Pfad zur
|
Die aktuell im Reading "CamLastRec" angegebene Aufnahme wird lokal als MP4-File gespeichert. Optional kann der Pfad zur
|
||||||
Speicherung des Files im Befehl angegeben werden (default: modpath im global Device). <br>
|
Speicherung des Files im Befehl angegeben werden (default: modpath im global Device). <br>
|
||||||
@@ -13654,7 +13695,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> scanVirgin </b> (gilt für CAM/SVS)</li> <br>
|
<li><b> scanVirgin </b> (gilt für CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Wie mit get caminfoall werden alle Informationen der SVS und Kamera abgerufen. Allerdings wird in jedem Fall eine
|
Wie mit get caminfoall werden alle Informationen der SVS und Kamera abgerufen. Allerdings wird in jedem Fall eine
|
||||||
neue Session ID generiert (neues Login), die Kamera-ID neu ermittelt und es werden alle notwendigen API-Parameter neu
|
neue Session ID generiert (neues Login), die Kamera-ID neu ermittelt und es werden alle notwendigen API-Parameter neu
|
||||||
@@ -13663,7 +13704,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> snapGallery [1-10] </b> (gilt für CAM)</li> <br>
|
<li><b> snapGallery [1-10] </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Es wird ein Popup mit den letzten [x] Schnapschüssen erzeugt. Ist das <a href="#SSCamattr">Attribut</a> "snapGalleryBoost" gesetzt,
|
Es wird ein Popup mit den letzten [x] Schnapschüssen erzeugt. Ist das <a href="#SSCamattr">Attribut</a> "snapGalleryBoost" gesetzt,
|
||||||
werden die letzten Schnappschüsse (default 3) über Polling abgefragt und im Speicher gehalten. Das Verfahren hilft die Ausgabe zu beschleunigen,
|
werden die letzten Schnappschüsse (default 3) über Polling abgefragt und im Speicher gehalten. Das Verfahren hilft die Ausgabe zu beschleunigen,
|
||||||
@@ -13692,7 +13733,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> snapfileinfo </b> (gilt für CAM)</li> <br>
|
<li><b> snapfileinfo </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Es wird der Filename des letzten Schnapschusses ermittelt. Der Befehl wird implizit mit <b>"get <name> snap"</b>
|
Es wird der Filename des letzten Schnapschusses ermittelt. Der Befehl wird implizit mit <b>"get <name> snap"</b>
|
||||||
ausgeführt.
|
ausgeführt.
|
||||||
@@ -13700,7 +13741,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> snapinfo </b> (gilt für CAM)</li> <br>
|
<li><b> snapinfo </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Es werden Schnappschussinformationen gelesen. Hilfreich wenn Schnappschüsse nicht durch SSCam, sondern durch die Bewegungserkennung der Kamera
|
Es werden Schnappschussinformationen gelesen. Hilfreich wenn Schnappschüsse nicht durch SSCam, sondern durch die Bewegungserkennung der Kamera
|
||||||
oder Surveillance Station erzeugt werden.
|
oder Surveillance Station erzeugt werden.
|
||||||
@@ -13708,7 +13749,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> stmUrlPath </b> (gilt für CAM)</li> <br>
|
<li><b> stmUrlPath </b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Mit diesem Kommando wird der aktuelle Streamkey der Kamera abgerufen und das Reading mit dem Key-Wert gefüllt.
|
Mit diesem Kommando wird der aktuelle Streamkey der Kamera abgerufen und das Reading mit dem Key-Wert gefüllt.
|
||||||
Dieser Streamkey kann verwendet werden um eigene Aufrufe eines Livestreams aufzubauen (siehe Beispiel).
|
Dieser Streamkey kann verwendet werden um eigene Aufrufe eines Livestreams aufzubauen (siehe Beispiel).
|
||||||
@@ -13736,21 +13777,21 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> storedCredentials </b> (gilt für CAM/SVS)</li> <br>
|
<li><b> storedCredentials </b> (gilt für CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Die gespeicherten Anmeldeinformationen (Credentials) werden in einem Popup als Klartext angezeigt.
|
Die gespeicherten Anmeldeinformationen (Credentials) werden in einem Popup als Klartext angezeigt.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> svsinfo </b> (gilt für CAM/SVS)</li> <br>
|
<li><b> svsinfo </b> (gilt für CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Ermittelt allgemeine Informationen zur installierten SVS-Version und andere Eigenschaften. <br>
|
Ermittelt allgemeine Informationen zur installierten SVS-Version und andere Eigenschaften. <br>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> get <name> versionNotes [hints | rel | <key>] </b> (gilt für CAM/SVS)</li> <br>
|
<li><b> versionNotes [hints | rel | <key>] </b> (gilt für CAM/SVS)</li> <br>
|
||||||
|
|
||||||
Zeigt Release Informationen und/oder Hinweise zum Modul an. Es sind nur Release Informationen mit Bedeutung für den
|
Zeigt Release Informationen und/oder Hinweise zum Modul an. Es sind nur Release Informationen mit Bedeutung für den
|
||||||
Modulnutzer enthalten. <br>
|
Modulnutzer enthalten. <br>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
########################################################################################################################
|
########################################################################################################################
|
||||||
# $Id: 49_SSCamSTRM.pm 20198 2019-09-19 17:14:20Z DS_Starter $
|
# $Id: 49_SSCamSTRM.pm 20478 2019-11-08 20:53:30Z DS_Starter $
|
||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
# 49_SSCamSTRM.pm
|
# 49_SSCamSTRM.pm
|
||||||
#
|
#
|
||||||
# (c) 2018-2019 by Heiko Maaz
|
# (c) 2018-2020 by Heiko Maaz
|
||||||
# forked from 98_weblink.pm by Rudolf König
|
# forked from 98_weblink.pm by Rudolf König
|
||||||
# e-mail: Heiko dot Maaz at t-online dot de
|
# e-mail: Heiko dot Maaz at t-online dot de
|
||||||
#
|
#
|
||||||
@@ -27,14 +27,68 @@
|
|||||||
#
|
#
|
||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
|
|
||||||
package main;
|
package FHEM::SSCamSTRM; ## no critic 'package';
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
use GPUtils qw(GP_Import GP_Export); # wird für den Import der FHEM Funktionen aus der fhem.pl benötigt
|
||||||
|
use Time::HiRes qw(gettimeofday);
|
||||||
eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
||||||
|
|
||||||
|
# Run before module compilation
|
||||||
|
BEGIN {
|
||||||
|
# Import from main::
|
||||||
|
GP_Import(
|
||||||
|
qw(
|
||||||
|
AnalyzePerlCommand
|
||||||
|
AttrVal
|
||||||
|
defs
|
||||||
|
devspec2array
|
||||||
|
FmtDateTime
|
||||||
|
InternalTimer
|
||||||
|
IsDisabled
|
||||||
|
Log3
|
||||||
|
modules
|
||||||
|
readingsSingleUpdate
|
||||||
|
readingsBulkUpdate
|
||||||
|
readingsBulkUpdateIfChanged
|
||||||
|
readingsBeginUpdate
|
||||||
|
readingsDelete
|
||||||
|
readingsEndUpdate
|
||||||
|
ReadingsVal
|
||||||
|
RemoveInternalTimer
|
||||||
|
readingFnAttributes
|
||||||
|
sortTopicNum
|
||||||
|
FW_cmd
|
||||||
|
FW_directNotify
|
||||||
|
FW_wname
|
||||||
|
SSCam_ptzpanel
|
||||||
|
SSCam_StreamDev
|
||||||
|
SSCam_getclhash
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
# Export to main context with different name
|
||||||
|
# my $pkg = caller(0);
|
||||||
|
# my $main = $pkg;
|
||||||
|
# $main =~ s/^(?:.+::)?([^:]+)$/main::$1\_/gx;
|
||||||
|
# for (@_) {
|
||||||
|
# *{ $main . $_ } = *{ $pkg . '::' . $_ };
|
||||||
|
# }
|
||||||
|
GP_Export(
|
||||||
|
qw(
|
||||||
|
Initialize
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
our %SSCamSTRM_vNotesIntern = (
|
my %vNotesIntern = (
|
||||||
|
"2.11.0" => "24.06.2020 switch to packages, changes according to PBP ",
|
||||||
|
"2.10.2" => "08.11.2019 undef \$link in FwFn / streamAsHtml to save memory ",
|
||||||
|
"2.10.1" => "18.10.2019 set parentState initial in Define, Forum: https://forum.fhem.de/index.php/topic,45671.msg985136.html#msg985136 ",
|
||||||
"2.10.0" => "21.09.2019 new attribute hideAudio ",
|
"2.10.0" => "21.09.2019 new attribute hideAudio ",
|
||||||
"2.9.0" => "19.09.2019 new attribute noLink ",
|
"2.9.0" => "19.09.2019 new attribute noLink ",
|
||||||
"2.8.0" => "09.09.2019 new attribute hideButtons ",
|
"2.8.0" => "09.09.2019 new attribute hideButtons ",
|
||||||
@@ -42,7 +96,7 @@ our %SSCamSTRM_vNotesIntern = (
|
|||||||
"2.6.0" => "21.06.2019 GetFn -> get <name> html ",
|
"2.6.0" => "21.06.2019 GetFn -> get <name> html ",
|
||||||
"2.5.0" => "27.03.2019 add Meta.pm support ",
|
"2.5.0" => "27.03.2019 add Meta.pm support ",
|
||||||
"2.4.0" => "24.02.2019 support for \"genericStrmHtmlTag\" in streaming device MODEL generic ",
|
"2.4.0" => "24.02.2019 support for \"genericStrmHtmlTag\" in streaming device MODEL generic ",
|
||||||
"2.3.0" => "04.02.2019 SSCamSTRM_Rename / SSCamSTRM_Copy added, Streaming device can now be renamed or copied ",
|
"2.3.0" => "04.02.2019 Rename / Copy added, Streaming device can now be renamed or copied ",
|
||||||
"2.2.1" => "19.12.2018 commandref revised ",
|
"2.2.1" => "19.12.2018 commandref revised ",
|
||||||
"2.2.0" => "13.12.2018 load sscam_hls.js, sscam_tooltip.js from pgm2 for HLS Streaming support and tooltips ",
|
"2.2.0" => "13.12.2018 load sscam_hls.js, sscam_tooltip.js from pgm2 for HLS Streaming support and tooltips ",
|
||||||
"2.1.0" => "11.12.2018 switch \"popupStream\" from get to set ",
|
"2.1.0" => "11.12.2018 switch \"popupStream\" from get to set ",
|
||||||
@@ -65,20 +119,16 @@ our %SSCamSTRM_vNotesIntern = (
|
|||||||
"0.1.0" => "10.06.2018 initial Version "
|
"0.1.0" => "10.06.2018 initial Version "
|
||||||
);
|
);
|
||||||
|
|
||||||
# Standardvariablen und Forward-Declaration
|
|
||||||
sub SSCam_ptzpanel(@);
|
|
||||||
sub SSCam_StreamDev($$$;$);
|
|
||||||
sub SSCam_getclhash($;$$);
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_Initialize($) {
|
sub Initialize {
|
||||||
my ($hash) = @_;
|
my $hash = shift;
|
||||||
|
|
||||||
my $fwd = join(",",devspec2array("TYPE=FHEMWEB:FILTER=STATE=Initialized"));
|
my $fwd = join(",",devspec2array("TYPE=FHEMWEB:FILTER=STATE=Initialized"));
|
||||||
|
|
||||||
$hash->{DefFn} = "SSCamSTRM_Define";
|
$hash->{DefFn} = \&Define;
|
||||||
$hash->{SetFn} = "SSCamSTRM_Set";
|
$hash->{SetFn} = \&Set;
|
||||||
$hash->{GetFn} = "SSCamSTRM_Get";
|
$hash->{GetFn} = \&Get;
|
||||||
$hash->{AttrList} = "autoRefresh:selectnumbers,120,0.2,1800,0,log10 ".
|
$hash->{AttrList} = "autoRefresh:selectnumbers,120,0.2,1800,0,log10 ".
|
||||||
"autoRefreshFW:$fwd ".
|
"autoRefreshFW:$fwd ".
|
||||||
"disable:1,0 ".
|
"disable:1,0 ".
|
||||||
@@ -95,13 +145,13 @@ sub SSCamSTRM_Initialize($) {
|
|||||||
"popupStreamFW:$fwd ".
|
"popupStreamFW:$fwd ".
|
||||||
"popupStreamTo:OK,1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50,60 ".
|
"popupStreamTo:OK,1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50,60 ".
|
||||||
"ptzButtonSize:selectnumbers,50,5,100,0,lin ".
|
"ptzButtonSize:selectnumbers,50,5,100,0,lin ".
|
||||||
"ptzButtonSizeFTUI:selectnumbers,50,5,100,0,lin ".
|
"ptzButtonSizeFTUI:selectnumbers,50,5,200,0,lin ".
|
||||||
$readingFnAttributes;
|
$readingFnAttributes;
|
||||||
$hash->{RenameFn} = "SSCamSTRM_Rename";
|
$hash->{RenameFn} = \&Rename;
|
||||||
$hash->{CopyFn} = "SSCamSTRM_Copy";
|
$hash->{CopyFn} = \&Copy;
|
||||||
$hash->{FW_summaryFn} = "SSCamSTRM_FwFn";
|
$hash->{FW_summaryFn} = \&FwFn;
|
||||||
$hash->{FW_detailFn} = "SSCamSTRM_FwFn";
|
$hash->{FW_detailFn} = \&FwFn;
|
||||||
$hash->{AttrFn} = "SSCamSTRM_Attr";
|
$hash->{AttrFn} = \&Attr;
|
||||||
$hash->{FW_hideDisplayName} = 1; # Forum 88667
|
$hash->{FW_hideDisplayName} = 1; # Forum 88667
|
||||||
# $hash->{FW_addDetailToSummary} = 1;
|
# $hash->{FW_addDetailToSummary} = 1;
|
||||||
# $hash->{FW_atPageEnd} = 1; # wenn 1 -> kein Longpoll ohne informid in HTML-Tag
|
# $hash->{FW_atPageEnd} = 1; # wenn 1 -> kein Longpoll ohne informid in HTML-Tag
|
||||||
@@ -112,7 +162,7 @@ return;
|
|||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_Define($$) {
|
sub Define {
|
||||||
my ($hash, $def) = @_;
|
my ($hash, $def) = @_;
|
||||||
my ($name, $type, $link) = split("[ \t]+", $def, 3);
|
my ($name, $type, $link) = split("[ \t]+", $def, 3);
|
||||||
|
|
||||||
@@ -127,15 +177,16 @@ sub SSCamSTRM_Define($$) {
|
|||||||
$hash->{LINK} = $link;
|
$hash->{LINK} = $link;
|
||||||
|
|
||||||
# Versionsinformationen setzen
|
# Versionsinformationen setzen
|
||||||
SSCamSTRM_setVersionInfo($hash);
|
setVersionInfo($hash);
|
||||||
|
|
||||||
readingsSingleUpdate($hash,"state", "initialized", 1); # Init für "state"
|
readingsSingleUpdate($hash,"state", "initialized", 1); # Init für "state"
|
||||||
|
readingsSingleUpdate($hash,"parentState", "initialized", 1); # Init für "parentState" Forum: https://forum.fhem.de/index.php/topic,45671.msg985136.html#msg985136
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_Rename($$) {
|
sub Rename {
|
||||||
my ($new_name,$old_name) = @_;
|
my ($new_name,$old_name) = @_;
|
||||||
my $hash = $defs{$new_name};
|
my $hash = $defs{$new_name};
|
||||||
|
|
||||||
@@ -149,7 +200,7 @@ return;
|
|||||||
# SSCamSTRM Copy
|
# SSCamSTRM Copy
|
||||||
# passt die Deviceparameter bei kopierten Device an
|
# passt die Deviceparameter bei kopierten Device an
|
||||||
###############################################################
|
###############################################################
|
||||||
sub SSCamSTRM_Copy($$) {
|
sub Copy {
|
||||||
my ($old_name,$new_name) = @_;
|
my ($old_name,$new_name) = @_;
|
||||||
my $hash = $defs{$new_name};
|
my $hash = $defs{$new_name};
|
||||||
|
|
||||||
@@ -159,29 +210,8 @@ sub SSCamSTRM_Copy($$) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################
|
|
||||||
# SSCamSTRM Get
|
|
||||||
###############################################################
|
|
||||||
sub SSCamSTRM_Get($@) {
|
|
||||||
my ($hash, @a) = @_;
|
|
||||||
return "\"get X\" needs at least an argument" if ( @a < 2 );
|
|
||||||
my $name = shift @a;
|
|
||||||
my $cmd = shift @a;
|
|
||||||
|
|
||||||
if ($cmd eq "html") {
|
|
||||||
return SSCamSTRM_AsHtml($hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($cmd eq "ftui") {
|
|
||||||
return SSCamSTRM_AsHtml($hash,"ftui");
|
|
||||||
}
|
|
||||||
|
|
||||||
return undef;
|
|
||||||
return "Unknown argument $cmd, choose one of html:noArg";
|
|
||||||
}
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_Set($@) {
|
sub Set {
|
||||||
my ($hash, @a) = @_;
|
my ($hash, @a) = @_;
|
||||||
return "\"set X\" needs at least an argument" if ( @a < 2 );
|
return "\"set X\" needs at least an argument" if ( @a < 2 );
|
||||||
my $name = $a[0];
|
my $name = $a[0];
|
||||||
@@ -236,8 +266,29 @@ sub SSCamSTRM_Set($@) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# SSCamSTRM Get
|
||||||
|
###############################################################
|
||||||
|
sub Get {
|
||||||
|
my ($hash, @a) = @_;
|
||||||
|
return "\"get X\" needs at least an argument" if ( @a < 2 );
|
||||||
|
my $name = shift @a;
|
||||||
|
my $cmd = shift @a;
|
||||||
|
|
||||||
|
if ($cmd eq "html") {
|
||||||
|
return streamAsHtml($hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($cmd eq "ftui") {
|
||||||
|
return streamAsHtml($hash,"ftui");
|
||||||
|
}
|
||||||
|
|
||||||
|
return undef;
|
||||||
|
return "Unknown argument $cmd, choose one of html:noArg";
|
||||||
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_Attr($$$$) {
|
sub Attr {
|
||||||
my ($cmd,$name,$aName,$aVal) = @_;
|
my ($cmd,$name,$aName,$aVal) = @_;
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
my ($do,$val);
|
my ($do,$val);
|
||||||
@@ -270,9 +321,9 @@ return undef;
|
|||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_FwFn($;$$$) {
|
sub FwFn {
|
||||||
my ($FW_wname, $d, $room, $pageHash) = @_; # pageHash is set for summaryFn.
|
my ($FW_wname, $name, $room, $pageHash) = @_; # pageHash is set for summaryFn.
|
||||||
my $hash = $defs{$d};
|
my $hash = $defs{$name};
|
||||||
my $link = $hash->{LINK};
|
my $link = $hash->{LINK};
|
||||||
|
|
||||||
RemoveInternalTimer($hash);
|
RemoveInternalTimer($hash);
|
||||||
@@ -281,9 +332,9 @@ sub SSCamSTRM_FwFn($;$$$) {
|
|||||||
$link = AnalyzePerlCommand(undef, $link) if($link =~ m/^{(.*)}$/s);
|
$link = AnalyzePerlCommand(undef, $link) if($link =~ m/^{(.*)}$/s);
|
||||||
|
|
||||||
my $ret = "";
|
my $ret = "";
|
||||||
if(IsDisabled($d)) {
|
if(IsDisabled($name)) {
|
||||||
if(AttrVal($d,"hideDisplayName",0)) {
|
if(AttrVal($name,"hideDisplayName",0)) {
|
||||||
$ret .= "Stream-device <a href=\"/fhem?detail=$d\">$d</a> is disabled";
|
$ret .= "Stream-device <a href=\"/fhem?detail=$name\">$name</a> is disabled";
|
||||||
} else {
|
} else {
|
||||||
$ret .= "<html>Stream-device is disabled</html>";
|
$ret .= "<html>Stream-device is disabled</html>";
|
||||||
}
|
}
|
||||||
@@ -292,17 +343,19 @@ sub SSCamSTRM_FwFn($;$$$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Autorefresh nur des aufrufenden FHEMWEB-Devices
|
# Autorefresh nur des aufrufenden FHEMWEB-Devices
|
||||||
my $al = AttrVal($d, "autoRefresh", 0);
|
my $al = AttrVal($name, "autoRefresh", 0);
|
||||||
if($al) {
|
if($al) {
|
||||||
InternalTimer(gettimeofday()+$al, "SSCamSTRM_refresh", $hash, 0);
|
InternalTimer(gettimeofday()+$al, "FHEM::SSCamSTRM::webRefresh", $hash, 0);
|
||||||
Log3($d, 5, "$d - next start of autoRefresh: ".FmtDateTime(gettimeofday()+$al));
|
Log3($name, 5, "$name - next start of autoRefresh: ".FmtDateTime(gettimeofday()+$al));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
undef $link;
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_refresh($) {
|
sub webRefresh {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $d = $hash->{NAME};
|
my $d = $hash->{NAME};
|
||||||
|
|
||||||
@@ -312,7 +365,7 @@ sub SSCamSTRM_refresh($) {
|
|||||||
|
|
||||||
my $al = AttrVal($d, "autoRefresh", 0);
|
my $al = AttrVal($d, "autoRefresh", 0);
|
||||||
if($al) {
|
if($al) {
|
||||||
InternalTimer(gettimeofday()+$al, "SSCamSTRM_refresh", $hash, 0);
|
InternalTimer(gettimeofday()+$al, "FHEM::SSCamSTRM::webRefresh", $hash, 0);
|
||||||
Log3($d, 5, "$d - next start of autoRefresh: ".FmtDateTime(gettimeofday()+$al));
|
Log3($d, 5, "$d - next start of autoRefresh: ".FmtDateTime(gettimeofday()+$al));
|
||||||
} else {
|
} else {
|
||||||
RemoveInternalTimer($hash);
|
RemoveInternalTimer($hash);
|
||||||
@@ -325,28 +378,28 @@ return;
|
|||||||
# Versionierungen des Moduls setzen
|
# Versionierungen des Moduls setzen
|
||||||
# Die Verwendung von Meta.pm und Packages wird berücksichtigt
|
# Die Verwendung von Meta.pm und Packages wird berücksichtigt
|
||||||
#############################################################################################
|
#############################################################################################
|
||||||
sub SSCamSTRM_setVersionInfo($) {
|
sub setVersionInfo {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
my $v = (sortTopicNum("desc",keys %SSCamSTRM_vNotesIntern))[0];
|
my $v = (sortTopicNum("desc",keys %vNotesIntern))[0];
|
||||||
my $type = $hash->{TYPE};
|
my $type = $hash->{TYPE};
|
||||||
$hash->{HELPER}{PACKAGE} = __PACKAGE__;
|
$hash->{HELPER}{PACKAGE} = __PACKAGE__;
|
||||||
$hash->{HELPER}{VERSION} = $v;
|
$hash->{HELPER}{VERSION} = $v;
|
||||||
|
|
||||||
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
||||||
# META-Daten sind vorhanden
|
# META-Daten sind vorhanden
|
||||||
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SSCamSTRM}{META}}
|
||||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 49_SSCamSTRM.pm 20198 2019-09-19 17:14:20Z DS_Starter $ im Kopf komplett! vorhanden )
|
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 49_SSCamSTRM.pm 20478 2019-11-08 20:53:30Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
$modules{$type}{META}{x_version} =~ s/1.1.1/$v/g;
|
$modules{$type}{META}{x_version} =~ s/1\.1\.1/$v/gx;
|
||||||
} else {
|
} else {
|
||||||
$modules{$type}{META}{x_version} = $v;
|
$modules{$type}{META}{x_version} = $v;
|
||||||
}
|
}
|
||||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 49_SSCamSTRM.pm 20198 2019-09-19 17:14:20Z DS_Starter $ im Kopf komplett! vorhanden )
|
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 49_SSCamSTRM.pm 20478 2019-11-08 20:53:30Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
||||||
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
||||||
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
||||||
use version 0.77; our $VERSION = FHEM::Meta::Get( $hash, 'version' );
|
use version 0.77; our $VERSION = FHEM::Meta::Get( $hash, 'version' ); ## no critic 'VERSION'
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
# herkömmliche Modulstruktur
|
# herkömmliche Modulstruktur
|
||||||
@@ -359,7 +412,7 @@ return;
|
|||||||
################################################################
|
################################################################
|
||||||
# Grafik als HTML zurück liefern (z.B. für Widget)
|
# Grafik als HTML zurück liefern (z.B. für Widget)
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCamSTRM_AsHtml($;$) {
|
sub streamAsHtml {
|
||||||
my ($hash,$ftui) = @_;
|
my ($hash,$ftui) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $link = $hash->{LINK};
|
my $link = $hash->{LINK};
|
||||||
@@ -385,6 +438,7 @@ sub SSCamSTRM_AsHtml($;$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$ret .= "</html>";
|
$ret .= "</html>";
|
||||||
|
undef $link;
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user