mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
49_SSCam: 8.5.0, SVS device has "snapCams" command
git-svn-id: https://svn.fhem.de/fhem/trunk@18304 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2cb83def14
commit
125a727712
@ -1,5 +1,8 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- feature: 49_SSCam: 8.5.0, SVS device has "snapCams" command to take
|
||||||
|
snapshots of all cameras and optionally send them
|
||||||
|
alltogether by Email
|
||||||
- change: 59_Weather: Codestyle, add attribut model to API
|
- change: 59_Weather: Codestyle, add attribut model to API
|
||||||
- bugfix: 73_AutoShuttersControl: fix drive up then roommate asleep
|
- bugfix: 73_AutoShuttersControl: fix drive up then roommate asleep
|
||||||
- bugfix: DarkSkyAPI: fix uninitialized value in localtime at line 430
|
- bugfix: DarkSkyAPI: fix uninitialized value in localtime at line 430
|
||||||
|
@ -47,6 +47,7 @@ use Encode;
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
our %SSCam_vNotesIntern = (
|
our %SSCam_vNotesIntern = (
|
||||||
|
"8.5.0" => "17.01.2019 SVS device has \"snapCams\" command ",
|
||||||
"8.4.5" => "15.01.2019 fix event generation after request snapshots ",
|
"8.4.5" => "15.01.2019 fix event generation after request snapshots ",
|
||||||
"8.4.4" => "14.01.2019 change: generate event of every snapfile,id etc. if snap was called with arguments, Forum:#45671 #msg887484 ",
|
"8.4.4" => "14.01.2019 change: generate event of every snapfile,id etc. if snap was called with arguments, Forum:#45671 #msg887484 ",
|
||||||
"8.4.3" => "11.01.2019 fix blocking Active-Token if snap was done with arguments and snapEmailTxt not set, Forum:#45671 #msg885475 ",
|
"8.4.3" => "11.01.2019 fix blocking Active-Token if snap was done with arguments and snapEmailTxt not set, Forum:#45671 #msg885475 ",
|
||||||
@ -117,6 +118,8 @@ our %SSCam_vNotesIntern = (
|
|||||||
|
|
||||||
# Versions History extern
|
# Versions History extern
|
||||||
our %SSCam_vNotesExtern = (
|
our %SSCam_vNotesExtern = (
|
||||||
|
"8.5.0" => "17.01.2019 SVS device has \"snapCams\" command. Now are able to take snapshots of all defined cameras and may ".
|
||||||
|
"optionally send them alltogether by Email.",
|
||||||
"8.4.0" => "07.01.2019 Command snap is extended to syntax \"snap [number] [lag] [snapEmailTxt:\"subject => <Betreff-Text>, body => ".
|
"8.4.0" => "07.01.2019 Command snap is extended to syntax \"snap [number] [lag] [snapEmailTxt:\"subject => <Betreff-Text>, body => ".
|
||||||
"<Mitteilung-Text>\"]\". Now you are able to trigger several number of ".
|
"<Mitteilung-Text>\"]\". Now you are able to trigger several number of ".
|
||||||
"snapshots by only one snap-command. The triggered snapshots can be shipped alltogether with the internal email client. ",
|
"snapshots by only one snap-command. The triggered snapshots can be shipped alltogether with the internal email client. ",
|
||||||
@ -214,42 +217,6 @@ our %SSCam_vNotesExtern = (
|
|||||||
"1.0.0" => "12.12.2015 initial, changed completly to HttpUtils_NonblockingGet "
|
"1.0.0" => "12.12.2015 initial, changed completly to HttpUtils_NonblockingGet "
|
||||||
);
|
);
|
||||||
|
|
||||||
# Hint Hash en
|
|
||||||
our %SSCam_vHintsExt_en = (
|
|
||||||
"6" => "There are some Icons in directory www/images/sscam available for SSCam. Thereby the system can use the icons please do: <br>".
|
|
||||||
"- in FHEMWEB device attribute <b>iconPath</b> complete with \"sscam\", e.g.: attr WEB iconPath default:fhemSVG:openautomation:sscam <br>".
|
|
||||||
"After that execute \"rereadicons\" or restart FHEM. ",
|
|
||||||
"5" => "Find more Informations about manage users and the appropriate privilege profiles in ".
|
|
||||||
"<a href=\"https://www.synology.com/en-global/knowledgebase/Surveillance/help/SurveillanceStation/user\">Surveillance Station online help</a> ",
|
|
||||||
"4" => "The message Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" means that ".
|
|
||||||
"the used SSCam version was currently not tested with the installed version of Synology Surveillance Station (Reading \"SVSversion\"). ".
|
|
||||||
"The compatible SVS-Version is printed out in the Internal COMPATIBILITY.\n".
|
|
||||||
"<b>Actions:</b> At first please update your SSCam version. If the message does appear furthermore, please inform the SSCam Maintainer. ".
|
|
||||||
"To ignore this message temporary, you may reduce the verbose level of your SSCam device. ",
|
|
||||||
"3" => "Link to SSCam <a href=\"https://fhem.de/commandref.html#SSCam\">english commandRef</a> ",
|
|
||||||
"2" => "You can create own PTZ-control icons with a template available in SVN which can be downloaded here: <a href=\"https://svn.fhem.de/trac/browser/trunk/fhem/contrib/sscam\">contrib/sscam/black_btn_CAM_Template.pdn</a>.\n".
|
|
||||||
"This template can be edited with Paint.Net for example. ",
|
|
||||||
"1" => "Some helpful <a href=\"https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station\">FHEM-Wiki</a> notes"
|
|
||||||
);
|
|
||||||
|
|
||||||
# Hint Hash de
|
|
||||||
our %SSCam_vHintsExt_de = (
|
|
||||||
"6" => "Für SSCam wird ein Satz Icons im Verzeichnis www/images/sscam zur Verfügung gestellt. Damit das System sie findet bitte setzen: <br>".
|
|
||||||
"- im FHEMWEB Device Attribut <b>iconPath</b> um \"sscam\" ergänzen, z.B.: attr WEB iconPath default:fhemSVG:openautomation:sscam <br>".
|
|
||||||
"Danach ein \"rereadicons\" bzw. einen FHEM restart ausführen. ",
|
|
||||||
"5" => "Informationen zum Management von Usern und entsprechenden Rechte-Profilen sind in der ".
|
|
||||||
"<a href=\"https://www.synology.com/de-de/knowledgebase/Surveillance/help/SurveillanceStation/user\">Surveillance Station Online-Hilfe</a> zu finden.",
|
|
||||||
"4" => "Die Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" ist ein Hinweis darauf, dass ".
|
|
||||||
"die eingesetzte SSCam Version noch nicht mit der verwendeten Version von Synology Surveillance Station (Reading \"SVSversion\") getestet ".
|
|
||||||
"wurde. Die kompatible SVS-Version ist im Internal COMPATIBILITY ersichtlich.\n".
|
|
||||||
"<b>Maßnahmen:</b> Bitte SSCam zunächst updaten. Sollte die Meldung weiterhin auftreten, bitte den SSCam Maintainer informieren. Zur ".
|
|
||||||
"vorübergehenden Ignorierung kann der verbose Level des SSCam-Devices entsprechend reduziert werden. ",
|
|
||||||
"3" => "Link zur deutschen SSCam <a href=\"https://fhem.de/commandref_DE.html#SSCam\">commandRef</a> ",
|
|
||||||
"2" => "Zur Erstellung eigener PTZ-Steuericons gibt es eine Vorlage im SVN die hier <a href=\"https://svn.fhem.de/trac/browser/trunk/fhem/contrib/sscam\">contrib/sscam/black_btn_CAM_Template.pdn</a> heruntergeladen werden kann.\n".
|
|
||||||
"Diese Vorlage kann zum Beispiel mit Paint.Net bearbeitet werden. ",
|
|
||||||
"1" => "Hilfreiche Hinweise zu SSCam im <a href=\"https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station\">FHEM-Wiki</a>"
|
|
||||||
);
|
|
||||||
|
|
||||||
# getestete SVS-Version
|
# getestete SVS-Version
|
||||||
my $compstat = "8.2";
|
my $compstat = "8.2";
|
||||||
|
|
||||||
@ -333,7 +300,7 @@ our %SSCam_ttips_de = (
|
|||||||
ttlsnaprun => "Wiedergabe des letzten Schnappschusses von Kamera "§NAME§".",
|
ttlsnaprun => "Wiedergabe des letzten Schnappschusses von Kamera "§NAME§".",
|
||||||
);
|
);
|
||||||
|
|
||||||
# Standardvariablen
|
# Standardvariablen und Forward-Deklaration
|
||||||
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
|
||||||
|
|
||||||
@ -343,6 +310,9 @@ use vars qw($FW_room); # currently selected room
|
|||||||
use vars qw($FW_detail); # currently selected device for detail view
|
use vars qw($FW_detail); # currently selected device for detail view
|
||||||
use vars qw($FW_wname); # Web instance
|
use vars qw($FW_wname); # Web instance
|
||||||
sub FW_pH(@); # add href
|
sub FW_pH(@); # add href
|
||||||
|
use vars qw(%SSCam_vHintsExt_en);
|
||||||
|
use vars qw(%SSCam_vHintsExt_de);
|
||||||
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
sub SSCam_Initialize($) {
|
sub SSCam_Initialize($) {
|
||||||
@ -718,6 +688,7 @@ sub SSCam_Set($@) {
|
|||||||
"motdetsc:disable,camera,SVS ".
|
"motdetsc:disable,camera,SVS ".
|
||||||
"snap ".
|
"snap ".
|
||||||
(AttrVal($name, "snapGalleryBoost",0)?(AttrVal($name,"snapGalleryNumber",undef) || AttrVal($name,"snapGalleryBoost",0))?"snapGallery:noArg ":"snapGallery:$SSCAM_snum ":" ").
|
(AttrVal($name, "snapGalleryBoost",0)?(AttrVal($name,"snapGalleryNumber",undef) || AttrVal($name,"snapGalleryBoost",0))?"snapGallery:noArg ":"snapGallery:$SSCAM_snum ":" ").
|
||||||
|
"createReadingsGroup ".
|
||||||
"createSnapGallery:noArg ".
|
"createSnapGallery:noArg ".
|
||||||
"createStreamDev:generic,hls,mjpeg,switched ".
|
"createStreamDev:generic,hls,mjpeg,switched ".
|
||||||
((ReadingsVal("$name", "CapPTZPan", "false") ne "false") ? "createPTZcontrol:noArg ": "").
|
((ReadingsVal("$name", "CapPTZPan", "false") ne "false") ? "createPTZcontrol:noArg ": "").
|
||||||
@ -725,7 +696,6 @@ sub SSCam_Set($@) {
|
|||||||
"disable:noArg ".
|
"disable:noArg ".
|
||||||
"optimizeParams ".
|
"optimizeParams ".
|
||||||
((ReadingsVal("$name", "CapPIR", "false") ne "false") ? "pirSensor:activate,deactivate ": "").
|
((ReadingsVal("$name", "CapPIR", "false") ne "false") ? "pirSensor:activate,deactivate ": "").
|
||||||
"createReadingsGroup ".
|
|
||||||
"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 ".
|
||||||
((ReadingsVal("$name", "CapPTZPan", "false") ne "false") ? "setPreset ": "").
|
((ReadingsVal("$name", "CapPTZPan", "false") ne "false") ? "setPreset ": "").
|
||||||
((ReadingsVal("$name", "CapPTZPan", "false") ne "false") ? "setHome:---currentPosition---,".ReadingsVal("$name","Presets","")." " : "").
|
((ReadingsVal("$name", "CapPTZPan", "false") ne "false") ? "setHome:---currentPosition---,".ReadingsVal("$name","Presets","")." " : "").
|
||||||
@ -742,9 +712,11 @@ sub SSCam_Set($@) {
|
|||||||
$setlist = "Unknown argument $opt, choose one of ".
|
$setlist = "Unknown argument $opt, choose one of ".
|
||||||
"autocreateCams:noArg ".
|
"autocreateCams:noArg ".
|
||||||
"credentials ".
|
"credentials ".
|
||||||
|
"smtpcredentials ".
|
||||||
"createReadingsGroup ".
|
"createReadingsGroup ".
|
||||||
"extevent:1,2,3,4,5,6,7,8,9,10 ".
|
"extevent:1,2,3,4,5,6,7,8,9,10 ".
|
||||||
($hash->{HELPER}{APIHMMAXVER}?"homeMode:on,off ": "");
|
($hash->{HELPER}{APIHMMAXVER}?"homeMode:on,off ": "").
|
||||||
|
"snapCams ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($opt eq "credentials") {
|
if ($opt eq "credentials") {
|
||||||
@ -796,14 +768,15 @@ sub SSCam_Set($@) {
|
|||||||
|
|
||||||
my ($num,$lag,$ncount) = (1,2,1);
|
my ($num,$lag,$ncount) = (1,2,1);
|
||||||
my $emtxt = "";
|
my $emtxt = "";
|
||||||
if($prop && $prop =~ /[\d+]/) { # Anzahl der Schnappschüsse zu triggern (default: 1)
|
if($prop && $prop =~ /^\d+$/) { # Anzahl der Schnappschüsse zu triggern (default: 1)
|
||||||
$num = $prop;
|
$num = $prop;
|
||||||
$ncount = $prop;
|
$ncount = $prop;
|
||||||
}
|
}
|
||||||
if($prop1 && $prop1 =~ /[\d+]/) { # Zeit zwischen zwei Schnappschüssen (default: 2 Sekunden)
|
if($prop1 && $prop1 =~ /^\d+$/) { # Zeit zwischen zwei Schnappschüssen (default: 2 Sekunden)
|
||||||
$lag = $prop1;
|
$lag = $prop1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Log3($name, 4, "$name - Trigger snapshots - Number: $num, Lag: $lag");
|
||||||
$hash->{HELPER}{SNAPBYSTRMDEV} = 1 if ($prop2 && $prop2 =~ /STRM/); # $prop wird mitgegeben durch Snap by SSCamSTRM-Device
|
$hash->{HELPER}{SNAPBYSTRMDEV} = 1 if ($prop2 && $prop2 =~ /STRM/); # $prop wird mitgegeben durch Snap by SSCamSTRM-Device
|
||||||
|
|
||||||
my $at = join(" ",@a);
|
my $at = join(" ",@a);
|
||||||
@ -819,6 +792,62 @@ sub SSCam_Set($@) {
|
|||||||
}
|
}
|
||||||
SSCam_camsnap("$name:$num:$lag:$ncount:$emtxt");
|
SSCam_camsnap("$name:$num:$lag:$ncount:$emtxt");
|
||||||
|
|
||||||
|
} elsif ($opt eq "snapCams" && !SSCam_IsModelCam($hash)) {
|
||||||
|
if (!$hash->{CREDENTIALS}) {return "Credentials of $name are not set - make sure you've set it with \"set $name credentials username password\"";}
|
||||||
|
|
||||||
|
my ($num,$lag,$ncount) = (1,2,1);
|
||||||
|
my $cams = "all";
|
||||||
|
my $emtxt = '';
|
||||||
|
if($prop && $prop =~ /^\d+$/) { # Anzahl der Schnappschüsse zu triggern (default: 1)
|
||||||
|
$num = $prop;
|
||||||
|
$ncount = $prop;
|
||||||
|
}
|
||||||
|
if($prop1 && $prop1 =~ /^\d+$/) { # Zeit zwischen zwei Schnappschüssen (default: 2 Sekunden)
|
||||||
|
$lag = $prop1;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $at = join(" ",@a);
|
||||||
|
if($at =~ /CAM:/i) {
|
||||||
|
$at =~ m/.*CAM:"(.*)".*/i;
|
||||||
|
$cams = $1;
|
||||||
|
$cams =~ s/\s//g;
|
||||||
|
}
|
||||||
|
|
||||||
|
my @camdvs;
|
||||||
|
my %snapac = (); # Schnappschuss Hash für alle Cams -> Schnappschudaten sollen hinein
|
||||||
|
if($cams eq "all") { # alle nicht disabled Kameras auslösen, sonst nur die gewählten
|
||||||
|
@camdvs = devspec2array("TYPE=SSCam:FILTER=MODEL!=SVS");
|
||||||
|
foreach (@camdvs) {
|
||||||
|
if($defs{$_} && !IsDisabled($_)) {
|
||||||
|
$snapac{$_} = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
@camdvs = split(",",$cams);
|
||||||
|
foreach (@camdvs) {
|
||||||
|
if($defs{$_} && !IsDisabled($_)) {
|
||||||
|
$snapac{$_} = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "No valid camera devices are specified for trigger snapshots" if(!%snapac);
|
||||||
|
|
||||||
|
my $asref = \%snapac;
|
||||||
|
$hash->{HELPER}{ALLSNAPREF} = $asref;
|
||||||
|
my ($csnap,$cmail) = ("","");
|
||||||
|
foreach my $key (keys%{$asref}) {
|
||||||
|
if(!AttrVal($key, "snapEmailTxt", "")) {
|
||||||
|
delete $asref->{$key}; # Snap dieser Kamera auslösen aber nicht senden
|
||||||
|
$csnap .= $csnap?", $key":$key;
|
||||||
|
} else {
|
||||||
|
$cmail .= $cmail?", $key":$key;
|
||||||
|
}
|
||||||
|
SSCam_camsnap("$key:$num:$lag:$ncount:$emtxt");
|
||||||
|
}
|
||||||
|
Log3($name, 4, "$name - Trigger snapshots by SVS - Number: $num, Lag: $lag, Snap only: \"$csnap\", Snap and send: \"$cmail\" ");
|
||||||
|
|
||||||
|
|
||||||
} elsif ($opt eq "startTracking" && SSCam_IsModelCam($hash)) {
|
} elsif ($opt eq "startTracking" && SSCam_IsModelCam($hash)) {
|
||||||
if (!$hash->{CREDENTIALS}) {return "Credentials of $name are not set - make sure you've set it with \"set $name credentials username password\"";}
|
if (!$hash->{CREDENTIALS}) {return "Credentials of $name are not set - make sure you've set it with \"set $name credentials username password\"";}
|
||||||
if ($hash->{HELPER}{APIPTZMAXVER} < 5) {return "Function \"$opt\" needs a higher version of Surveillance Station";}
|
if ($hash->{HELPER}{APIPTZMAXVER} < 5) {return "Function \"$opt\" needs a higher version of Surveillance Station";}
|
||||||
@ -5004,7 +5033,7 @@ sub SSCam_camop_parse ($) {
|
|||||||
##### eine Schnapschussgalerie soll angezeigt oder als Bulk versendet werden #####
|
##### eine Schnapschussgalerie soll angezeigt oder als Bulk versendet werden #####
|
||||||
if($OpMode eq "getsnapgallery") {
|
if($OpMode eq "getsnapgallery") {
|
||||||
if($hash->{HELPER}{CANSENDSNAP}) {
|
if($hash->{HELPER}{CANSENDSNAP}) {
|
||||||
# es sollen Schnappschüsse versendet werden
|
# es sollen die Anzahl "$hash->{HELPER}{SNAPNUM}" Schnappschüsse versendet werden
|
||||||
my $i = 0;
|
my $i = 0;
|
||||||
my $sn = 0;
|
my $sn = 0;
|
||||||
my %sendsnaps = (); # Schnappschuss Hash zum Versand wird leer erstellt
|
my %sendsnaps = (); # Schnappschuss Hash zum Versand wird leer erstellt
|
||||||
@ -5025,16 +5054,14 @@ sub SSCam_camop_parse ($) {
|
|||||||
$createdTm = "$d[2].$d[1].$d[0] / $t[1]";
|
$createdTm = "$d[2].$d[1].$d[0] / $t[1]";
|
||||||
$sendsnaps{$sn}{createdTm} = $createdTm;
|
$sendsnaps{$sn}{createdTm} = $createdTm;
|
||||||
$sendsnaps{$sn}{fileName} = $fileName;
|
$sendsnaps{$sn}{fileName} = $fileName;
|
||||||
$sendsnaps{$sn}{imageData} = $imageData;
|
$sendsnaps{$sn}{".imageData"} = $imageData;
|
||||||
Log3($name,4, "$name - Snap '$sn' added to send gallery hash: ID => $sendsnaps{$sn}{snapid}, File => $sendsnaps{$sn}{fileName}, Created => $sendsnaps{$sn}{createdTm}");
|
Log3($name,4, "$name - Snap '$sn' added to send gallery hash: ID => $sendsnaps{$sn}{snapid}, File => $sendsnaps{$sn}{fileName}, Created => $sendsnaps{$sn}{createdTm}");
|
||||||
$sn += 1;
|
$sn += 1;
|
||||||
$i += 1;
|
$i += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Schnappschuß soll als Email versendet werden
|
# prüfen ob Schnappschuß als Email versendet werden soll
|
||||||
if(AttrVal($name, "snapEmailTxt", "")) {
|
|
||||||
SSCam_prepareSendEmail ($hash, $OpMode, \%sendsnaps);
|
SSCam_prepareSendEmail ($hash, $OpMode, \%sendsnaps);
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
# es soll eine Schnappschußgalerie bereitgestellt (Attr snapGalleryBoost=1) bzw. gleich angezeigt
|
# es soll eine Schnappschußgalerie bereitgestellt (Attr snapGalleryBoost=1) bzw. gleich angezeigt
|
||||||
@ -6282,7 +6309,7 @@ return $bool;
|
|||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Schnappschußgalerie abrufen (snapGalleryBoost) o. nur Info des letzten Snaps
|
# Ermittlung Anzahl und Größe der abzurufenden Schnappschußdaten
|
||||||
###############################################################################
|
###############################################################################
|
||||||
sub SSCam_snaplimsize ($) {
|
sub SSCam_snaplimsize ($) {
|
||||||
my ($hash)= @_;
|
my ($hash)= @_;
|
||||||
@ -7209,9 +7236,49 @@ sub SSCam_prepareSendEmail ($$;$) {
|
|||||||
my ($hash, $OpMode, $data) = @_;
|
my ($hash, $OpMode, $data) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $calias = AttrVal($name,"alias",$hash->{CAMNAME}); # Alias der Kamera wenn gesetzt oder Originalname aus SVS
|
my $calias = AttrVal($name,"alias",$hash->{CAMNAME}); # Alias der Kamera wenn gesetzt oder Originalname aus SVS
|
||||||
my ($ret,$sdat,$fname,$snapid,$lsnaptime) = ('','','','','');
|
my ($ret,$sdat,$fname,$snapid,$lsnaptime,$tac) = ('','','','','','');
|
||||||
my $snapnum = 1;
|
|
||||||
|
|
||||||
|
### prüfen ob Schnappschnüsse aller Kameras durch ein SVS-Device angefordert wurde,
|
||||||
|
### Bilddaten werden erst zum Versand weitergeleitet wenn Schnappshußhash komplett gefüllt ist
|
||||||
|
my $asref;
|
||||||
|
my @allsvs = devspec2array("TYPE=SSCam:FILTER=MODEL=SVS");
|
||||||
|
foreach (@allsvs) {
|
||||||
|
next if(!AttrVal($_, "snapEmailTxt", "")); # Schnappschüsse senden NICHT durch SVS ausgelöst -> Snaps der Cams NICHT gemeinsam versenden
|
||||||
|
my $svshash = $defs{$_};
|
||||||
|
if($svshash->{HELPER}{ALLSNAPREF}) {
|
||||||
|
$asref = $svshash->{HELPER}{ALLSNAPREF}; # Hashreferenz zum summarischen Snaphash
|
||||||
|
foreach my $key (keys%{$asref}) {
|
||||||
|
if($key eq $name) { # Kamera Key im Bildhash matcht -> Bilddaten übernehmen
|
||||||
|
foreach my $pkey (keys%{$data}) {
|
||||||
|
my $nkey = time()+int(rand(1000));
|
||||||
|
$asref->{$nkey.$pkey}{createdTm} = $data->{$pkey}{createdTm}; # Aufnahmezeit der Kamera werden im summarischen Snaphash eingefügt
|
||||||
|
$asref->{$nkey.$pkey}{".imageData"} = $data->{$pkey}{".imageData"}; # Bilddaten der Kamera werden im summarischen Snaphash eingefügt
|
||||||
|
$asref->{$nkey.$pkey}{fileName} = $data->{$pkey}{fileName}; # Filenamen der Kamera werden im summarischen Snaphash eingefügt
|
||||||
|
}
|
||||||
|
delete $hash->{HELPER}{CANSENDSNAP};
|
||||||
|
delete $asref->{$key}; # ursprünglichen Key (Kameranamen) löschen
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$asref = $svshash->{HELPER}{ALLSNAPREF}; # Hashreferenz zum summarischen Snaphash
|
||||||
|
foreach my $key (keys%{$asref}) { # prüfen ob Bildhash komplett ?
|
||||||
|
if(!$asref->{$key}) {
|
||||||
|
return; # Bildhash noch nicht komplett
|
||||||
|
}
|
||||||
|
}
|
||||||
|
my %rs = %{$asref};
|
||||||
|
my $rsref = \%rs;
|
||||||
|
delete $svshash->{HELPER}{ALLSNAPREF}; # ALLSNAPREF löschen -> gemeinsamer Versand beendet
|
||||||
|
$hash = $svshash; # Hash durch SVS-Hash ersetzt
|
||||||
|
$name = $svshash->{NAME}; # Name des auslösenden SVS-Devices wird eingesetzt
|
||||||
|
$data = $rsref; # Referenz zum summarischen Hash einsetzen
|
||||||
|
$calias = AttrVal($name,"alias",$hash->{NAME}); # Alias des SVS-Devices
|
||||||
|
$hash->{HELPER}{TRANSACTION} = "multiple_ta"; # fake Transaction im SVS Device setzen
|
||||||
|
last; # Schleife verlassen und mit Senden weiter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
### Bilddaten als Email versenden wenn Attribut "snapEmailTxt" definiert ist
|
||||||
|
if(AttrVal($name, "snapEmailTxt", "")) {
|
||||||
my $sp = AttrVal($name, "smtpPort", 25);
|
my $sp = AttrVal($name, "smtpPort", 25);
|
||||||
my $nousessl = AttrVal($name, "smtpNoUseSSL", 0);
|
my $nousessl = AttrVal($name, "smtpNoUseSSL", 0);
|
||||||
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
|
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
|
||||||
@ -7249,12 +7316,9 @@ sub SSCam_prepareSendEmail ($$;$) {
|
|||||||
$smtpsslport = AttrVal($name,"smtpSSLPort",0);
|
$smtpsslport = AttrVal($name,"smtpSSLPort",0);
|
||||||
}
|
}
|
||||||
|
|
||||||
my $tac = $hash->{HELPER}{TRANSACTION}; # Code der laufenden Transaktion
|
$tac = $hash->{HELPER}{TRANSACTION}; # Code der laufenden Transaktion
|
||||||
|
|
||||||
if($OpMode =~ /^getsnap/) {
|
if($OpMode =~ /^getsnap/) {
|
||||||
$fname = ReadingsVal($name,"LastSnapFilename","");
|
|
||||||
$snapid = ReadingsVal($name,"LastSnapId","");
|
|
||||||
$lsnaptime = ReadingsVal($name,"LastSnapTime","");
|
|
||||||
$sdat = $data;
|
$sdat = $data;
|
||||||
delete $hash->{HELPER}{CANSENDSNAP};
|
delete $hash->{HELPER}{CANSENDSNAP};
|
||||||
delete $hash->{HELPER}{SMTPMSG};
|
delete $hash->{HELPER}{SMTPMSG};
|
||||||
@ -7262,10 +7326,8 @@ sub SSCam_prepareSendEmail ($$;$) {
|
|||||||
$ret = SSCam_sendEmail($hash, {'subject' => $smtpmsg{subject},
|
$ret = SSCam_sendEmail($hash, {'subject' => $smtpmsg{subject},
|
||||||
'part1txt' => $smtpmsg{body},
|
'part1txt' => $smtpmsg{body},
|
||||||
'part2type' => 'image/jpeg',
|
'part2type' => 'image/jpeg',
|
||||||
'fname' => $fname,
|
|
||||||
'smtpport' => $sp,
|
'smtpport' => $sp,
|
||||||
'sdat' => $sdat,
|
'sdat' => $sdat,
|
||||||
'lsnaptime' => $lsnaptime,
|
|
||||||
'opmode' => $OpMode,
|
'opmode' => $OpMode,
|
||||||
'smtpnousessl' => $nousessl,
|
'smtpnousessl' => $nousessl,
|
||||||
'sslfrominit' => $sslfrominit,
|
'sslfrominit' => $sslfrominit,
|
||||||
@ -7275,7 +7337,10 @@ sub SSCam_prepareSendEmail ($$;$) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#############################################################################################
|
#############################################################################################
|
||||||
@ -7351,7 +7416,7 @@ sub SSCam_sendEmail ($$) {
|
|||||||
'sdat' => { 'default'=>'', 'required'=>0, 'set'=>1}, # (Hash)Daten base64 codiert, wenn gesetzt muss 'part2' auf 'image/jpeg' gesetzt werden
|
'sdat' => { 'default'=>'', 'required'=>0, 'set'=>1}, # (Hash)Daten base64 codiert, wenn gesetzt muss 'part2' auf 'image/jpeg' gesetzt werden
|
||||||
'image' => { 'default'=>'', 'required'=>0, 'set'=>1}, # Daten als File, wenn gesetzt muss 'part2' auf 'image/jpeg' gesetzt werden
|
'image' => { 'default'=>'', 'required'=>0, 'set'=>1}, # Daten als File, wenn gesetzt muss 'part2' auf 'image/jpeg' gesetzt werden
|
||||||
'fname' => { 'default'=>'image.jpg', 'required'=>0, 'set'=>1}, # Filename für "image" oder "sdat"
|
'fname' => { 'default'=>'image.jpg', 'required'=>0, 'set'=>1}, # Filename für "image" oder "sdat"
|
||||||
'lsnaptime' => { 'default'=>'', 'required'=>0, 'set'=>1}, # Zeitstempel des letzten Schnappschusses
|
'lsnaptime' => { 'default'=>'', 'required'=>0, 'set'=>1}, # Zeitstempel der Bilddaten
|
||||||
'opmode' => { 'default'=>'', 'required'=>1, 'set'=>1}, # OpMode muss gesetzt sein
|
'opmode' => { 'default'=>'', 'required'=>1, 'set'=>1}, # OpMode muss gesetzt sein
|
||||||
'sslfb' => { 'default'=>$sslfb, 'required'=>0, 'set'=>1}, # Flag für Verwendung altes Net::SMTP::SSL
|
'sslfb' => { 'default'=>$sslfb, 'required'=>0, 'set'=>1}, # Flag für Verwendung altes Net::SMTP::SSL
|
||||||
'sslfrominit' => { 'default'=>'', 'required'=>0, 'set'=>1}, # SSL soll sofort ! aufgebaut werden
|
'sslfrominit' => { 'default'=>'', 'required'=>0, 'set'=>1}, # SSL soll sofort ! aufgebaut werden
|
||||||
@ -7410,9 +7475,9 @@ sub SSCam_sendEmailblocking($) {
|
|||||||
my $to = $paref->{smtpTo};
|
my $to = $paref->{smtpTo};
|
||||||
my $msgtext = $paref->{msgtext};
|
my $msgtext = $paref->{msgtext};
|
||||||
my $smtpdebug = $paref->{smtpdebug};
|
my $smtpdebug = $paref->{smtpdebug};
|
||||||
my $sdat = $paref->{sdat}; # Image Daten als Hash base64 codiert
|
my $sdat = $paref->{sdat}; # Hash von Imagedaten base64 codiert
|
||||||
my $image = $paref->{image}; # Image, wenn gesetzt muss 'part2' auf 'image/jpeg' gesetzt sein
|
my $image = $paref->{image}; # Image, wenn gesetzt muss 'part2' auf 'image/jpeg' gesetzt sein
|
||||||
my $fname = $paref->{fname}; # Filename von "image"
|
my $fname = $paref->{fname}; # Filename -> verwendet wenn $image ist gesetzt
|
||||||
my $lsnaptime = $paref->{lsnaptime}; # Zeit des letzten Schnappschusses wenn gesetzt
|
my $lsnaptime = $paref->{lsnaptime}; # Zeit des letzten Schnappschusses wenn gesetzt
|
||||||
my $opmode = $paref->{opmode}; # aktueller Operation Mode
|
my $opmode = $paref->{opmode}; # aktueller Operation Mode
|
||||||
my $sslfb = $paref->{sslfb}; # Flag für Verwendung altes Net::SMTP::SSL
|
my $sslfb = $paref->{sslfb}; # Flag für Verwendung altes Net::SMTP::SSL
|
||||||
@ -7466,7 +7531,7 @@ sub SSCam_sendEmailblocking($) {
|
|||||||
@as = sort{$a<=>$b}keys%{$sdat};
|
@as = sort{$a<=>$b}keys%{$sdat};
|
||||||
foreach my $key (@as) {
|
foreach my $key (@as) {
|
||||||
$ct = $sdat->{$key}{createdTm};
|
$ct = $sdat->{$key}{createdTm};
|
||||||
$img = $sdat->{$key}{imageData};
|
$img = $sdat->{$key}{".imageData"};
|
||||||
$fname = $sdat->{$key}{fileName};
|
$fname = $sdat->{$key}{fileName};
|
||||||
$fh = '$fh'.$key;
|
$fh = '$fh'.$key;
|
||||||
$decoded = MIME::Base64::decode_base64($img);
|
$decoded = MIME::Base64::decode_base64($img);
|
||||||
@ -7741,6 +7806,124 @@ sub SSCam_trim ($) {
|
|||||||
return ($str);
|
return ($str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# Hint Hash EN
|
||||||
|
#############################################################################################
|
||||||
|
%SSCam_vHintsExt_en = (
|
||||||
|
"7" => "<b>Setup Email Shipping <br>".
|
||||||
|
"==================== </b> <br><br>".
|
||||||
|
"Snapshots can be sent by <b>Email</b> alltogether after creation. For this purpose the module contains<br>".
|
||||||
|
"its own Email client.<br>".
|
||||||
|
"Before you can use this function you have to install the Perl-module <b>MIME::Lite</b>. On debian systems it can be ".
|
||||||
|
"installed with command:".
|
||||||
|
"<ul>".
|
||||||
|
"<b>sudo apt-get install libmime-lite-perl</b>".
|
||||||
|
"</ul>".
|
||||||
|
"There are some attributes must be set or can be used optionally.<br>".
|
||||||
|
"At first the Credentials for access the Email outgoing server must be set by command <b>\"set <name> smtpcredentials <user> <password>\"</b><br>".
|
||||||
|
"The connection to the server is initially established unencrypted and switches to an encrypted connection if SSL<br>".
|
||||||
|
"encryption is available. In that case the transmission of User/Password takes place encrypted too.<br>".
|
||||||
|
"If attribute \"smtpSSLPort\" is defined, the established connection to the Email server will be encrypted immediately.<br><br>".
|
||||||
|
"Attributes which are optional are marked: <br><br>".
|
||||||
|
"<ul>".
|
||||||
|
"<li><b>snapEmailTxt</b> - <b>Activates the Email shipping.</b> This attribute has the format: <br>".
|
||||||
|
"<ul><b>subject => <subject text>, body => <message text></b></ul>".
|
||||||
|
"The placeholder \$CAM, \$DATE and \$TIME can be used. <br>".
|
||||||
|
"\$CAM is replaced by the device name, device alias or the name of camera in SVS if alias is not defined.<br>".
|
||||||
|
"\$DATE and \$TIME are replaced with the current date and time.</li>".
|
||||||
|
"<li><b>smtpHost</b> - Hostname or IP-address of outgoing Email server (e.g. securesmtp.t-online.de)</li>".
|
||||||
|
"<li><b>smtpFrom</b> - Return address (<name>@<domain>)</li>".
|
||||||
|
"<li><b>smtpTo</b> - Receiving address(es) (<name>@<domain>)</li>".
|
||||||
|
"<li><b>smtpPort</b> - (optional) Port of outgoing Email server (default: 25)</li>".
|
||||||
|
"<li><b>smtpCc</b> - (optional) carbon-copy receiving address(es) (<name>@<domain>)</li>".
|
||||||
|
"<li><b>smtpNoUseSSL</b> - (optional) \"1\" if no SSL encryption should be used for Email shipping (default: 0)</li>".
|
||||||
|
"<li><b>smtpSSLPort</b> - (optional) Port for SSL encrypted connection (default: 465)</li>".
|
||||||
|
"<li><b>smtpDebug</b> - (optional) switch on the debugging of SMTP connection</li>".
|
||||||
|
"</ul>".
|
||||||
|
"For further information please see description of the <a href=\"https://fhem.de/commandref.html#SSCamattr\">attributes</a>.".
|
||||||
|
"<br><br>",
|
||||||
|
"6" => "There are some Icons in directory www/images/sscam available for SSCam. Thereby the system can use the icons please do: <br>".
|
||||||
|
"<ul><li> in FHEMWEB device attribute <b>iconPath</b> complete with \"sscam\". e.g.: attr WEB iconPath default:fhemSVG:openautomation:sscam </li></ul>".
|
||||||
|
"After that execute \"rereadicons\" or restart FHEM. ".
|
||||||
|
"<br><br>",
|
||||||
|
"5" => "Find more Informations about manage users and the appropriate privilege profiles in ".
|
||||||
|
"<a href=\"https://www.synology.com/en-global/knowledgebase/Surveillance/help/SurveillanceStation/user\">Surveillance Station online help</a> ".
|
||||||
|
"<br><br>",
|
||||||
|
"4" => "The message Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" means that ".
|
||||||
|
"the used SSCam version was currently not tested with the installed version of Synology Surveillance Station (Reading \"SVSversion\"). ".
|
||||||
|
"The compatible SVS-Version is printed out in the Internal COMPATIBILITY.\n".
|
||||||
|
"<b>Actions:</b> At first please update your SSCam version. If the message does appear furthermore, please inform the SSCam Maintainer. ".
|
||||||
|
"To ignore this message temporary, you may reduce the verbose level of your SSCam device. ".
|
||||||
|
"<br><br>",
|
||||||
|
"3" => "Link to SSCam <a href=\"https://fhem.de/commandref.html#SSCam\">english commandRef</a> ".
|
||||||
|
"<br><br>",
|
||||||
|
"2" => "You can create own PTZ-control icons with a template available in SVN which can be downloaded here: <a href=\"https://svn.fhem.de/trac/browser/trunk/fhem/contrib/sscam\">contrib/sscam/black_btn_CAM_Template.pdn</a>.\n".
|
||||||
|
"This template can be edited with Paint.Net for example. ".
|
||||||
|
"<br><br>",
|
||||||
|
"1" => "Some helpful <a href=\"https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station\">FHEM-Wiki</a> notes".
|
||||||
|
"<br><br>",
|
||||||
|
);
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# Hint Hash DE
|
||||||
|
#############################################################################################
|
||||||
|
%SSCam_vHintsExt_de = (
|
||||||
|
"7" => "<b>Einstellung Email-Versand <br>".
|
||||||
|
"========================= </b> <br><br>".
|
||||||
|
"Schnappschüsse können nach der Erstellung per <b>Email</b> gemeinsam versendet werden. Dazu enthält das Modul einen<br>".
|
||||||
|
"eigenen Email-Client.<br>".
|
||||||
|
"Zur Verwendung dieser Funktion muss das Perl-Modul <b>MIME::Lite</b> installiert sein. Auf Debian-Systemen kann ".
|
||||||
|
"es mit".
|
||||||
|
"<ul>".
|
||||||
|
"<b>sudo apt-get install libmime-lite-perl</b>".
|
||||||
|
"</ul>".
|
||||||
|
"installiert werden. <br><br>".
|
||||||
|
"Für die Verwendung des Email-Versands müssen einige Attribute gesetzt oder können optional genutzt werden.<br>".
|
||||||
|
"Die Credentials für den Zugang zum Email-Server müssen mit dem Befehl <b>\"set <name> smtpcredentials <user> <password>\"</b><br>".
|
||||||
|
"gesetzt werden. Der Verbindungsaufbau zum Postausgangsserver erfolgt initial unverschüsselt und wechselt zu einer verschlüsselten<br>".
|
||||||
|
"Verbindung wenn SSL zur Verfügung steht. In diesem Fall erfolgt auch die Übermittlung von User/Password verschlüsselt.<br>".
|
||||||
|
"Ist das Attribut \"smtpSSLPort\" definiert, erfolgt der Verbindungsaufbau zum Email-Server sofort verschlüsselt.<br><br>".
|
||||||
|
"Optionale Attribute sind gekennzeichnet: <br><br>".
|
||||||
|
"<ul>".
|
||||||
|
"<li><b>snapEmailTxt</b> - <b>Aktiviert den Email-Versand</b>. Das Attribut hat das Format:<br>".
|
||||||
|
"<ul><b>subject => <Betreff-Text>, body => <Mitteilung-Text></b></ul>".
|
||||||
|
"Es können die Platzhalter \$CAM, \$DATE und \$TIME verwendet werden. <br>".
|
||||||
|
"\$CAM wird durch den Device-Namen, Device-Alias bzw. den Namen der Kamera in der SVS ersetzt falls der<br>".
|
||||||
|
"Device-Alias nicht gesetzt ist. <br>".
|
||||||
|
"\$DATE und \$TIME werden durch das aktuelle Datum und Zeit ersetzt.</li>".
|
||||||
|
"<li><b>smtpHost</b> - Hostname oder IP-Adresse des Postausgangsservers (z.B. securesmtp.t-online.de)</li>".
|
||||||
|
"<li><b>smtpFrom</b> - Absenderadresse (<name>\@<domain>)</li>".
|
||||||
|
"<li><b>smtpTo</b> - Empfängeradresse(n) (<name>\@<domain>)</li>".
|
||||||
|
"<li><b>smtpPort</b> - (optional) Port des Postausgangsservers (default: 25)</li>".
|
||||||
|
"<li><b>smtpCc</b> - (optional) Carbon-Copy Empfängeradresse(n) (<name>\@<domain>)</li>".
|
||||||
|
"<li><b>smtpNoUseSSL</b> - (optional) \"1\" wenn kein SSL beim Email-Versand verwendet werden soll (default: 0)</li>".
|
||||||
|
"<li><b>smtpSSLPort</b> - (optional) SSL-Port des Postausgangsservers (default: 465)</li>".
|
||||||
|
"<li><b>smtpDebug</b> - (optional) zum Debugging der SMTP-Verbindung setzen</li>".
|
||||||
|
"</ul>".
|
||||||
|
"Zur näheren Erläuterung siehe Beschreibung der <a href=\"https://fhem.de/commandref_DE.html#SSCamattr\">Attribute</a>.".
|
||||||
|
"<br><br>",
|
||||||
|
"6" => "Für SSCam wird ein Satz Icons im Verzeichnis www/images/sscam zur Verfügung gestellt. Damit das System sie findet bitte setzen: <br>".
|
||||||
|
"<ul><li> im FHEMWEB Device Attribut <b>iconPath</b> um \"sscam\" ergänzen. z.B.: attr WEB iconPath default:fhemSVG:openautomation:sscam </li></ul>".
|
||||||
|
"Danach ein \"rereadicons\" bzw. einen FHEM restart ausführen.".
|
||||||
|
"<br><br>",
|
||||||
|
"5" => "Informationen zum Management von Usern und entsprechenden Rechte-Profilen sind in der ".
|
||||||
|
"<a href=\"https://www.synology.com/de-de/knowledgebase/Surveillance/help/SurveillanceStation/user\">Surveillance Station Online-Hilfe</a> zu finden.".
|
||||||
|
"<br><br>",
|
||||||
|
"4" => "Die Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" ist ein Hinweis darauf, dass ".
|
||||||
|
"die eingesetzte SSCam Version noch nicht mit der verwendeten Version von Synology Surveillance Station (Reading \"SVSversion\") getestet ".
|
||||||
|
"wurde. Die kompatible SVS-Version ist im Internal COMPATIBILITY ersichtlich.\n".
|
||||||
|
"<b>Maßnahmen:</b> Bitte SSCam zunächst updaten. Sollte die Meldung weiterhin auftreten, bitte den SSCam Maintainer informieren. Zur ".
|
||||||
|
"vorübergehenden Ignorierung kann der verbose Level des SSCam-Devices entsprechend reduziert werden. ".
|
||||||
|
"<br><br>",
|
||||||
|
"3" => "Link zur deutschen SSCam <a href=\"https://fhem.de/commandref_DE.html#SSCam\">commandRef</a> ".
|
||||||
|
"<br><br>",
|
||||||
|
"2" => "Zur Erstellung eigener PTZ-Steuericons gibt es eine Vorlage im SVN die hier <a href=\"https://svn.fhem.de/trac/browser/trunk/fhem/contrib/sscam\">contrib/sscam/black_btn_CAM_Template.pdn</a> heruntergeladen werden kann.\n".
|
||||||
|
"Diese Vorlage kann zum Beispiel mit Paint.Net bearbeitet werden. ".
|
||||||
|
"<br><br>",
|
||||||
|
"1" => "Hilfreiche Hinweise zu SSCam im <a href=\"https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station\">FHEM-Wiki</a>".
|
||||||
|
"<br><br>",
|
||||||
|
);
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
=pod
|
=pod
|
||||||
@ -7760,6 +7943,7 @@ return ($str);
|
|||||||
<li>Start a Recording</li>
|
<li>Start a Recording</li>
|
||||||
<li>Stop a Recording (using command or automatically after the <RecordTime> period</li>
|
<li>Stop a Recording (using command or automatically after the <RecordTime> period</li>
|
||||||
<li>Trigger of snapshots and optionally send them alltogether by Email using the integrated Email client </li>
|
<li>Trigger of snapshots and optionally send them alltogether by Email using the integrated Email client </li>
|
||||||
|
<li>Trigger snapshots of all defined cams and optionally send them alltogether by Email using the integrated Email client </li>
|
||||||
<li>Deaktivate a Camera in Synology Surveillance Station</li>
|
<li>Deaktivate a Camera in Synology Surveillance Station</li>
|
||||||
<li>Activate a Camera in Synology Surveillance Station</li>
|
<li>Activate a Camera in Synology Surveillance Station</li>
|
||||||
<li>Control of the exposure modes day, night and automatic </li>
|
<li>Control of the exposure modes day, night and automatic </li>
|
||||||
@ -8521,52 +8705,46 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
|||||||
<li><b> set <name> snap [<number>] [<time difference>] [snapEmailTxt:"subject => <subject text>, body => <message text>"]</b> (valid for CAM)</li> <br>
|
<li><b> set <name> snap [<number>] [<time difference>] [snapEmailTxt:"subject => <subject text>, body => <message text>"]</b> (valid for CAM)</li> <br>
|
||||||
|
|
||||||
One or multiple snapshots are triggered. The number of snapshots to trigger and the time difference (in seconds) between
|
One or multiple snapshots are triggered. The number of snapshots to trigger and the time difference (in seconds) between
|
||||||
each snapshots can be optionally specified. Without any specification only one snapshot is triggered.
|
each snapshot can be optionally specified. Without any specification only one snapshot is triggered. <br>
|
||||||
The ID and the filename of the last snapshot will be displayed in Reading "LastSnapId" respectively "LastSnapFilename" of the
|
The ID and the filename of the last snapshot will be displayed in Reading "LastSnapId" respectively "LastSnapFilename".
|
||||||
device. <br>
|
<br><br>
|
||||||
The snapshot Email shipping is activated by setting the <a href="#SSCamattr">attribute</a> "snapEmailTxt". If you want
|
|
||||||
temporary overwrite the message text set in "snapEmailTxt", you can optionally specify the "snapEmailTxt:"-tag as shown
|
|
||||||
above. <br><br>
|
|
||||||
|
|
||||||
<b>Email shipping preparation</b> <br><br>
|
The snapshot <b>Email shipping</b> can be activated by setting <a href="#SSCamattr">attribute</a> "snapEmailTxt".
|
||||||
|
Before you have to prepare the Email shipping as described in section <a href="#SSCamEmail">Setup Email shipping</a>.
|
||||||
|
(for further information execute "<b>get <name> versionNotes 7</b>") <br>
|
||||||
|
If you want temporary overwrite the message text set in attribute "snapEmailTxt", you can optionally specify the
|
||||||
|
"snapEmailTxt:"-tag as shown above. <br><br>
|
||||||
|
|
||||||
The snapshots can be sent by <b>Email</b> alltogether after creation. For this purpose the module contains its own Email client.
|
<b>Examples:</b>
|
||||||
Before you can use this function you have to install the Perl-module <b>MIME::Lite</b>. On debian systems it can be
|
<pre>
|
||||||
installed with command: <br><br>
|
set <name> snap 4
|
||||||
|
set <name> snap 3 3 snapEmailTxt:"subject => Movement alarm $CAM, body => A movement was recognised at Carport"
|
||||||
|
</pre>
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
sudo apt-get install libmime-lite-perl
|
<li><b> set <name> snapCams [<number>] [<time difference>] [CAM:"<camera>, <camera>, ..."]</b> (valid for SVS)</li> <br>
|
||||||
</ul>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
There are some attributes must be set or can be used optionally. <br>
|
One or multiple snapshots of denoted cameras are triggered. If no cameras are denoted, the snapshots are triggered in all
|
||||||
At first the Credentials for access the Email outgoing server must be set by command <b>"set <name> smtpcredentials <user> <password>"</b>.
|
of the defined cameras in FHEM.
|
||||||
The connection establishment to the server is initially done unencrypted and switches to an encrypted connection if SSL
|
Optionally the number of snapshots to trigger (default: 1) and the time difference (in seconds) between
|
||||||
encryption is available. In that case the transmission of User/Password takes place encrypted too.
|
each snapshot (default: 2) can be specified. <br>
|
||||||
If attribute "smtpSSLPort" is defined, the established connection to the Email server will be encrypted immediately.
|
The ID and the filename of the last snapshot will be displayed in Reading "LastSnapId" respectively "LastSnapFilename" of
|
||||||
Attributes which are optional are marked: <br><br>
|
the appropriate camera device. <br><br>
|
||||||
|
|
||||||
<ul>
|
The snapshot <b>Email shipping</b> can be activated by setting <a href="#SSCamattr">attribute</a> "snapEmailTxt" in the
|
||||||
<table>
|
SVS device <b>AND</b> in the camera devices whose snapshots should be shipped.
|
||||||
<colgroup> <col width=12%> <col width=88%> </colgroup>
|
Before you have to prepare the Email shipping as described in section <a href="#SSCamEmail">Setup Email shipping</a>.
|
||||||
<tr><td style="vertical-align:top"> <b>snapEmailTxt</b> <td>- Activates the Email shipping. Has the form: <br>
|
(for further information execute "<b>get <name> versionNotes 7</b>") <br>
|
||||||
<code>subject => <subject text>, body => <message text> </code><br>
|
Only the message text set in attribute "snapEmailTxt" of the SVS device is used in the created Email. The settings of
|
||||||
The placeholder variables $CAM, $DATE and $TIME can be used. $CAM is
|
those attribute in the camera devices is ignored !! <br><br>
|
||||||
replaced by the device alias or the name of camera in SVS if alias is not
|
|
||||||
defined. $DATE and $TIME are replaced with the current date and time. </td></tr>
|
|
||||||
<tr><td> <b>smtpHost</b> </td><td>- Hostname of outgoing Email server (e.g. securesmtp.t-online.de) </td></tr>
|
|
||||||
<tr><td> <b>smtpFrom</b> </td><td>- Return address (<name>@<domain>) </td></tr>
|
|
||||||
<tr><td> <b>smtpTo</b> </td><td>- Receiving address(es) (<name>@<domain>) </td></tr>
|
|
||||||
<tr><td> <b>smtpPort</b> </td><td>- (optional) Port of outgoing Email server (default: 25) </td></tr>
|
|
||||||
<tr><td> <b>smtpCc</b> </td><td>- (optional) carbon-copy receiving address(es) (<name>@<domain>) </td></tr>
|
|
||||||
<tr><td> <b>smtpNoUseSSL</b> </td><td>- (optional) "1" if no SSL encryption should be used for Email shipping (default: 0) </td></tr>
|
|
||||||
<tr><td> <b>smtpSSLPort</b> </td><td>- (optional) Port for SSL encrypted connection (default: 465) </td></tr>
|
|
||||||
<tr><td> <b>smtpDebug</b> </td><td>- (optional) switch on the debugging of SMTP connection </td></tr>
|
|
||||||
</table>
|
|
||||||
</ul>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
For further information please see description of the <a href="#SSCamattr">attributes</a>. <br>
|
<b>Examples:</b>
|
||||||
|
<pre>
|
||||||
|
set <name> snapCams 4
|
||||||
|
set <name> snapCams 3 3 CAM:"CamHE1, CamCarport"
|
||||||
|
</pre>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
@ -8803,6 +8981,50 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
|
<a name="SSCamEmail"></a>
|
||||||
|
<b>Setup Email shipping</b> <br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
Snapshots can be sent by <b>Email</b> alltogether after creation. For this purpose the module contains its own Email client.
|
||||||
|
Before you can use this function you have to install the Perl-module <b>MIME::Lite</b>. On debian systems it can be
|
||||||
|
installed with command: <br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
sudo apt-get install libmime-lite-perl
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
There are some attributes must be set or can be used optionally. <br>
|
||||||
|
At first the Credentials for access the Email outgoing server must be set by command <b>"set <name> smtpcredentials <user> <password>"</b>.
|
||||||
|
The connection establishment to the server is initially done unencrypted and switches to an encrypted connection if SSL
|
||||||
|
encryption is available. In that case the transmission of User/Password takes place encrypted too.
|
||||||
|
If attribute "smtpSSLPort" is defined, the established connection to the Email server will be encrypted immediately.
|
||||||
|
Attributes which are optional are marked: <br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<table>
|
||||||
|
<colgroup> <col width=12%> <col width=88%> </colgroup>
|
||||||
|
<tr><td style="vertical-align:top"> <b>snapEmailTxt</b> <td>- <b>Activates the Email shipping.</b> This attribute has the format: <br>
|
||||||
|
<b>subject => <subject text>, body => <message text> </b><br>
|
||||||
|
The placeholder $CAM, $DATE and $TIME can be used. $CAM is
|
||||||
|
replaced by the device name, device alias or the name of camera in SVS if alias is not
|
||||||
|
defined. $DATE and $TIME are replaced with the current date and time. </td></tr>
|
||||||
|
<tr><td> <b>smtpHost</b> </td><td>- Hostname of outgoing Email server (e.g. securesmtp.t-online.de) </td></tr>
|
||||||
|
<tr><td> <b>smtpFrom</b> </td><td>- Return address (<name>@<domain>) </td></tr>
|
||||||
|
<tr><td> <b>smtpTo</b> </td><td>- Receiving address(es) (<name>@<domain>) </td></tr>
|
||||||
|
<tr><td> <b>smtpPort</b> </td><td>- (optional) Port of outgoing Email server (default: 25) </td></tr>
|
||||||
|
<tr><td> <b>smtpCc</b> </td><td>- (optional) carbon-copy receiving address(es) (<name>@<domain>) </td></tr>
|
||||||
|
<tr><td> <b>smtpNoUseSSL</b> </td><td>- (optional) "1" if no SSL encryption should be used for Email shipping (default: 0) </td></tr>
|
||||||
|
<tr><td> <b>smtpSSLPort</b> </td><td>- (optional) Port for SSL encrypted connection (default: 465) </td></tr>
|
||||||
|
<tr><td> <b>smtpDebug</b> </td><td>- (optional) switch on the debugging of SMTP connection </td></tr>
|
||||||
|
</table>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
For further information please see description of the <a href="#SSCamattr">attributes</a>. <br>
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
|
||||||
<a name="SSCamPolling"></a>
|
<a name="SSCamPolling"></a>
|
||||||
<b>Polling of Camera/SVS-Properties</b><br><br>
|
<b>Polling of Camera/SVS-Properties</b><br><br>
|
||||||
@ -9287,6 +9509,7 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
|||||||
<li>Start einer Aufnahme</li>
|
<li>Start einer Aufnahme</li>
|
||||||
<li>Stop einer Aufnahme (per Befehl bzw. automatisch nach Ablauf der Aufnahmedauer) </li>
|
<li>Stop einer Aufnahme (per Befehl bzw. automatisch nach Ablauf der Aufnahmedauer) </li>
|
||||||
<li>Auslösen von Schnappschnüssen und optionaler Email-Versand mittels integrierten Email-Client </li>
|
<li>Auslösen von Schnappschnüssen und optionaler Email-Versand mittels integrierten Email-Client </li>
|
||||||
|
<li>Auslösen von Schnappschnüssen aller definierten Kameras und optionaler gemeinsamer Email-Versand mittels integrierten Email-Client </li>
|
||||||
<li>Deaktivieren einer Kamera in Synology Surveillance Station</li>
|
<li>Deaktivieren einer Kamera in Synology Surveillance Station</li>
|
||||||
<li>Aktivieren einer Kamera in Synology Surveillance Station</li>
|
<li>Aktivieren einer Kamera in Synology Surveillance Station</li>
|
||||||
<li>Steuerung der Belichtungsmodi Tag, Nacht bzw. Automatisch </li>
|
<li>Steuerung der Belichtungsmodi Tag, Nacht bzw. Automatisch </li>
|
||||||
@ -9866,7 +10089,7 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> set <name> [on [<rectime>] | off] </b> (gilt für CAM)</li><br>
|
<li><b> set <name> [ on [<rectime>] | off ] </b> (gilt für CAM)</li><br>
|
||||||
|
|
||||||
Der Befehl "set <name> on" startet eine Aufnahme. Die Standardaufnahmedauer beträgt 15 Sekunden. Sie kann mit dem
|
Der Befehl "set <name> on" startet eine Aufnahme. Die Standardaufnahmedauer beträgt 15 Sekunden. Sie kann mit dem
|
||||||
Attribut "rectime" individuell festgelegt werden.
|
Attribut "rectime" individuell festgelegt werden.
|
||||||
@ -10068,55 +10291,46 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
|||||||
<li><b> set <name> snap [<Anzahl>] [<Zeitabstand>] [snapEmailTxt:"subject => <Betreff-Text>, body => <Mitteilung-Text>"]</b> (gilt für CAM)</li> <br>
|
<li><b> set <name> snap [<Anzahl>] [<Zeitabstand>] [snapEmailTxt:"subject => <Betreff-Text>, body => <Mitteilung-Text>"]</b> (gilt für CAM)</li> <br>
|
||||||
|
|
||||||
Ein oder mehrere Schnappschüsse werden ausgelöst. Es kann die Anzahl der auszulösenden Schnappschüsse und deren zeitlicher
|
Ein oder mehrere Schnappschüsse werden ausgelöst. Es kann die Anzahl der auszulösenden Schnappschüsse und deren zeitlicher
|
||||||
Abstand in Sekunden optional angegeben werden. Ohne Angabe wird ein Schnappschuß getriggert.
|
Abstand in Sekunden optional angegeben werden. Ohne Angabe wird ein Schnappschuß getriggert. <br>
|
||||||
Es wird die ID und der Filename des letzten Snapshots als Wert der Variable "LastSnapId" bzw. "LastSnapFilename" in den
|
Es wird die ID und der Filename des letzten Snapshots als Wert der Readings "LastSnapId" bzw. "LastSnapFilename" in
|
||||||
Readings der Kamera gespeichert. <br>
|
der Kamera gespeichert. <br><br>
|
||||||
Der Email-Versand wird durch das Setzen des <a href="#SSCamattr">Attributs</a> "snapEmailTxt" eingeschaltet. Der Text
|
Ein <b>Email-Versand</b> der Schnappschüsse kann durch Setzen des <a href="#SSCamattr">Attributs</a> "snapEmailTxt" aktiviert
|
||||||
im Attribut "snapEmailTxt" kann durch die Spezifikation des optionalen "snapEmailTxt:"-Tags, wie oben gezeigt, temporär
|
werden. Zuvor ist der Email-Versand, wie im Abschnitt <a href="#SSCamEmail">Einstellung Email-Versand</a> beschrieben,
|
||||||
überschrieben bzw. geändert werden. <br><br>
|
einzustellen. (Für weitere Informationen "<b>get <name> versionNotes 7</b>" ausführen) <br>
|
||||||
|
Der Text im Attribut "snapEmailTxt" kann durch die Spezifikation des optionalen "snapEmailTxt:"-Tags, wie oben
|
||||||
|
gezeigt, temporär überschrieben bzw. geändert werden. <br><br>
|
||||||
|
|
||||||
<b>Email-Versand </b> <br><br>
|
<b>Beispiele:</b>
|
||||||
Die Schnappschüsse können nach der Erstellung per <b>Email</b> gemeinsam versendet werden. Dazu enthält das Modul einen
|
<pre>
|
||||||
eigenen Email-Client.
|
set <name> snap 4
|
||||||
Zur Verwendung dieser Funktion muss das Perl-Modul <b>MIME::Lite</b> installiert sein. Auf Debian-System kann
|
set <name> snap 3 3 snapEmailTxt:"subject => Bewegungsalarm $CAM, body => Eine Bewegung wurde am Carport registriert"
|
||||||
es mit <br><br>
|
</pre>
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
sudo apt-get install libmime-lite-perl
|
<li><b> set <name> snapCams [<Anzahl>] [<Zeitabstand>] [CAM:"<Kamera>, <Kamera>, ..."]</b> (gilt für SVS)</li> <br>
|
||||||
</ul>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
installiert werden. <br><br>
|
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.
|
||||||
|
Optional kann die Anzahl der auszulösenden Schnappschüsse (default: 1) und deren zeitlicher Abstand in Sekunden
|
||||||
|
(default: 2) angegeben werden. <br>
|
||||||
|
Es wird die ID und der Filename des letzten Snapshots als Wert der Readings "LastSnapId" bzw. "LastSnapFilename"
|
||||||
|
der entsprechenden Kamera gespeichert. <br><br>
|
||||||
|
Ein <b>Email-Versand</b> der Schnappschüsse kann durch Setzen des <a href="#SSCamattr">Attributs</a> <b>"snapEmailTxt"</b> im
|
||||||
|
SVS-Device <b>UND</b> in den Kamera-Devices, deren Schnappschüsse versendet werden sollen, aktiviert werden.
|
||||||
|
Bei Kamera-Devices die kein Attribut "snapEmailTxt" gesetzt haben, werden die Schnappschüsse ausgelöst, aber nicht versendet.
|
||||||
|
Zuvor ist der Email-Versand, wie im Abschnitt <a href="#SSCamEmail">Einstellung Email-Versand</a> beschrieben,
|
||||||
|
einzustellen. (Für weitere Informationen "<b>get <name> versionNotes 7</b>" ausführen) <br>
|
||||||
|
Es wird ausschließlich der im Attribut "snapEmailTxt" des SVS-Devices hinterlegte Email-Text in der erstellten Email
|
||||||
|
verwendet. Der Text im Attribut "snapEmailTxt" der einzelnen Kameras wird ignoriert !! <br><br>
|
||||||
|
|
||||||
Für die Verwendung des Email-Versands müssen einige Attribute gesetzt oder können optional genutzt werden. <br>
|
<b>Beispiele:</b>
|
||||||
Die Credentials für den Zugang zum Email-Server müssen mit dem Befehl <b>"set <name> smtpcredentials <user> <password>"</b>
|
<pre>
|
||||||
gesetzt werden. Der Verbindungsaufbau zum Postausgangsserver erfolgt initial unverschüsselt und wechselt zu einer verschlüsselten
|
set <name> snapCams 4
|
||||||
Verbindung wenn SSL zur Verfügung steht. In diesem Fall erfolgt auch die Übermittlung von User/Password verschlüsselt.
|
set <name> snapCams 3 3 CAM:"CamHE1, CamCarport"
|
||||||
Ist das Attribut "smtpSSLPort" definiert, erfolgt der Verbindungsaufbau zum Email-Server sofort verschlüsselt.
|
</pre>
|
||||||
Optionale Attribute sind gekennzeichnet: <br><br>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<table>
|
|
||||||
<colgroup> <col width=12%> <col width=88%> </colgroup>
|
|
||||||
<tr><td style="vertical-align:top"> <b>snapEmailTxt</b> <td>- Aktiviert den Email-Versand. Die Eingabe hat die Form: <br>
|
|
||||||
<code>subject => <Betreff-Text>, body => <Mitteilung-Text></code><br>
|
|
||||||
Es können die Platzhalter $CAM, $DATE und $TIME verwendet werden. $CAM wird
|
|
||||||
durch den Device-Alias bzw. den Namen der Kamera in der SVS
|
|
||||||
ersetzt falls der Device-Alias nicht gesetzt ist.
|
|
||||||
$DATE und $TIME werden durch das aktuelle Datum und Zeit ersetzt.</td></tr>
|
|
||||||
<tr><td> <b>smtpHost</b> </td><td>- Hostname oder IP-Adresse des Postausgangsservers (z.B. securesmtp.t-online.de) </td></tr>
|
|
||||||
<tr><td> <b>smtpFrom</b> </td><td>- Absenderadresse (<name>@<domain>) </td></tr>
|
|
||||||
<tr><td> <b>smtpTo</b> </td><td>- Empfängeradresse(n) (<name>@<domain>) </td></tr>
|
|
||||||
<tr><td> <b>smtpPort</b> </td><td>- (optional) Port des Postausgangsservers (default: 25) </td></tr>
|
|
||||||
<tr><td> <b>smtpCc</b> </td><td>- (optional) Carbon-Copy Empfängeradresse(n) (<name>@<domain>) </td></tr>
|
|
||||||
<tr><td> <b>smtpNoUseSSL</b> </td><td>- (optional) "1" wenn kein SSL beim Email-Versand verwendet werden soll (default: 0) </td></tr>
|
|
||||||
<tr><td> <b>smtpSSLPort</b> </td><td>- (optional) SSL-Port des Postausgangsservers (default: 465) </td></tr>
|
|
||||||
<tr><td> <b>smtpDebug</b> </td><td>- (optional) zum Debugging der SMTP-Verbindung setzen </td></tr>
|
|
||||||
</table>
|
|
||||||
</ul>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
Zur näheren Erläuterung siehe Beschreibung der <a href="#SSCamattr">Attribute</a>. <br>
|
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
@ -10368,9 +10582,60 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
|
<a name="SSCamEmail"></a>
|
||||||
|
<b>Einstellung Email-Versand </b> <br><br>
|
||||||
|
<ul>
|
||||||
|
Schnappschüsse können nach der Erstellung per <b>Email</b> gemeinsam versendet werden. Dazu enthält das Modul einen
|
||||||
|
eigenen Email-Client.
|
||||||
|
Zur Verwendung dieser Funktion muss das Perl-Modul <b>MIME::Lite</b> installiert sein. Auf Debian-Systemen kann
|
||||||
|
es mit <br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
sudo apt-get install libmime-lite-perl
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
installiert werden. <br><br>
|
||||||
|
|
||||||
|
Für die Verwendung des Email-Versands müssen einige Attribute gesetzt oder können optional genutzt werden. <br>
|
||||||
|
Die Credentials für den Zugang zum Email-Server müssen mit dem Befehl <b>"set <name> smtpcredentials <user> <password>"</b>
|
||||||
|
hinterlegt werden. Der Verbindungsaufbau zum Postausgangsserver erfolgt initial unverschüsselt und wechselt zu einer verschlüsselten
|
||||||
|
Verbindung wenn SSL zur Verfügung steht. In diesem Fall erfolgt auch die Übermittlung von User/Password verschlüsselt.
|
||||||
|
Ist das Attribut "smtpSSLPort" definiert, erfolgt der Verbindungsaufbau zum Email-Server sofort verschlüsselt.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
Optionale Attribute sind gekennzeichnet: <br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<table>
|
||||||
|
<colgroup> <col width=12%> <col width=88%> </colgroup>
|
||||||
|
<tr><td style="vertical-align:top"> <b>snapEmailTxt</b> <td>- <b>Aktiviert den Email-Versand</b>. Das Attribut hat das Format: <br>
|
||||||
|
<ul>
|
||||||
|
<code>subject => <Betreff-Text>, body => <Mitteilung-Text></code><br>
|
||||||
|
</ul>
|
||||||
|
Es können die Platzhalter $CAM, $DATE und $TIME verwendet werden. $CAM wird
|
||||||
|
durch den Device-Namen, Device-Alias bzw. den Namen der Kamera in der SVS
|
||||||
|
ersetzt falls der Device-Alias nicht gesetzt ist.
|
||||||
|
$DATE und $TIME werden durch das aktuelle Datum und Zeit ersetzt.</td></tr>
|
||||||
|
<tr><td> <b>smtpHost</b> </td><td>- Hostname oder IP-Adresse des Postausgangsservers (z.B. securesmtp.t-online.de) </td></tr>
|
||||||
|
<tr><td> <b>smtpFrom</b> </td><td>- Absenderadresse (<name>@<domain>) </td></tr>
|
||||||
|
<tr><td> <b>smtpTo</b> </td><td>- Empfängeradresse(n) (<name>@<domain>) </td></tr>
|
||||||
|
<tr><td> <b>smtpPort</b> </td><td>- (optional) Port des Postausgangsservers (default: 25) </td></tr>
|
||||||
|
<tr><td> <b>smtpCc</b> </td><td>- (optional) Carbon-Copy Empfängeradresse(n) (<name>@<domain>) </td></tr>
|
||||||
|
<tr><td> <b>smtpNoUseSSL</b> </td><td>- (optional) "1" wenn kein SSL beim Email-Versand verwendet werden soll (default: 0) </td></tr>
|
||||||
|
<tr><td> <b>smtpSSLPort</b> </td><td>- (optional) SSL-Port des Postausgangsservers (default: 465) </td></tr>
|
||||||
|
<tr><td> <b>smtpDebug</b> </td><td>- (optional) zum Debugging der SMTP-Verbindung setzen </td></tr>
|
||||||
|
</table>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
Zur näheren Erläuterung siehe Beschreibung der <a href="#SSCamattr">Attribute</a>. <br>
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
<a name="SSCamPolling"></a>
|
<a name="SSCamPolling"></a>
|
||||||
<b>Polling der Kamera/SVS-Eigenschaften:</b><br><br>
|
<b>Polling der Kamera/SVS-Eigenschaften:</b><br><br>
|
||||||
|
<ul>
|
||||||
Die Abfrage der Kameraeigenschaften erfolgt automatisch, wenn das Attribut "pollcaminfoall" (siehe Attribute) mit einem Wert > 10 gesetzt wird. <br>
|
Die Abfrage der Kameraeigenschaften erfolgt automatisch, wenn das Attribut "pollcaminfoall" (siehe Attribute) mit einem Wert > 10 gesetzt wird. <br>
|
||||||
Per Default ist das Attribut "pollcaminfoall" nicht gesetzt und das automatische Polling nicht aktiv. <br>
|
Per Default ist das Attribut "pollcaminfoall" nicht gesetzt und das automatische Polling nicht aktiv. <br>
|
||||||
Der Wert dieses Attributes legt das Intervall der Abfrage in Sekunden fest. Ist das Attribut nicht gesetzt oder < 10 wird kein automatisches Polling <br>
|
Der Wert dieses Attributes legt das Intervall der Abfrage in Sekunden fest. Ist das Attribut nicht gesetzt oder < 10 wird kein automatisches Polling <br>
|
||||||
@ -10404,8 +10669,9 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
|
|
||||||
Sind mehrere Kameras in SSCam definiert, sollte "pollcaminfoall" nicht bei allen Kameras auf exakt den gleichen Wert gesetzt werden um Verarbeitungsengpässe <br>
|
Sind mehrere Kameras in SSCam definiert, sollte "pollcaminfoall" nicht bei allen Kameras auf exakt den gleichen Wert gesetzt werden um Verarbeitungsengpässe <br>
|
||||||
und dadurch versursachte potentielle Fehlerquellen bei der Abfrage der Synology Surveillance Station zu vermeiden. <br>
|
und dadurch versursachte potentielle Fehlerquellen bei der Abfrage der Synology Surveillance Station zu vermeiden. <br>
|
||||||
Ein geringfügiger Unterschied zwischen den Pollingintervallen der definierten Kameras von z.B. 1s kann bereits als ausreichend angesehen werden. <br><br>
|
Ein geringfügiger Unterschied zwischen den Pollingintervallen der definierten Kameras von z.B. 1s kann bereits als ausreichend angesehen werden.
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
<a name="SSCaminternals"></a>
|
<a name="SSCaminternals"></a>
|
||||||
<b>Internals</b> <br><br>
|
<b>Internals</b> <br><br>
|
||||||
|
@ -47,7 +47,7 @@ use Encode;
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
our %SSCam_vNotesIntern = (
|
our %SSCam_vNotesIntern = (
|
||||||
"8.5.0" => "17.01.2019 SVS device set snapAllCams ",
|
"8.5.0" => "17.01.2019 SVS device has \"snapCams\" command ",
|
||||||
"8.4.5" => "15.01.2019 fix event generation after request snapshots ",
|
"8.4.5" => "15.01.2019 fix event generation after request snapshots ",
|
||||||
"8.4.4" => "14.01.2019 change: generate event of every snapfile,id etc. if snap was called with arguments, Forum:#45671 #msg887484 ",
|
"8.4.4" => "14.01.2019 change: generate event of every snapfile,id etc. if snap was called with arguments, Forum:#45671 #msg887484 ",
|
||||||
"8.4.3" => "11.01.2019 fix blocking Active-Token if snap was done with arguments and snapEmailTxt not set, Forum:#45671 #msg885475 ",
|
"8.4.3" => "11.01.2019 fix blocking Active-Token if snap was done with arguments and snapEmailTxt not set, Forum:#45671 #msg885475 ",
|
||||||
@ -118,6 +118,8 @@ our %SSCam_vNotesIntern = (
|
|||||||
|
|
||||||
# Versions History extern
|
# Versions History extern
|
||||||
our %SSCam_vNotesExtern = (
|
our %SSCam_vNotesExtern = (
|
||||||
|
"8.5.0" => "17.01.2019 SVS device has \"snapCams\" command. Now are able to take snapshots of all defined cameras and may ".
|
||||||
|
"optionally send them alltogether by Email.",
|
||||||
"8.4.0" => "07.01.2019 Command snap is extended to syntax \"snap [number] [lag] [snapEmailTxt:\"subject => <Betreff-Text>, body => ".
|
"8.4.0" => "07.01.2019 Command snap is extended to syntax \"snap [number] [lag] [snapEmailTxt:\"subject => <Betreff-Text>, body => ".
|
||||||
"<Mitteilung-Text>\"]\". Now you are able to trigger several number of ".
|
"<Mitteilung-Text>\"]\". Now you are able to trigger several number of ".
|
||||||
"snapshots by only one snap-command. The triggered snapshots can be shipped alltogether with the internal email client. ",
|
"snapshots by only one snap-command. The triggered snapshots can be shipped alltogether with the internal email client. ",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user