From 0db611ddc75c17484fd0addb50f62e2ef70b5a56 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Tue, 15 Jan 2019 22:25:17 +0000 Subject: [PATCH] 49_SSCam: contrib 8.5.0 git-svn-id: https://svn.fhem.de/fhem/trunk@18273 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/49_SSCam.pm | 319 +++++++++++++++------------- 1 file changed, 173 insertions(+), 146 deletions(-) diff --git a/fhem/contrib/DS_Starter/49_SSCam.pm b/fhem/contrib/DS_Starter/49_SSCam.pm index fce72e7f1..7938ed2cf 100644 --- a/fhem/contrib/DS_Starter/49_SSCam.pm +++ b/fhem/contrib/DS_Starter/49_SSCam.pm @@ -48,6 +48,7 @@ use Encode; # Versions History intern our %SSCam_vNotesIntern = ( "8.5.0" => "20.01.2019 SVS device set snapAllCams ", + "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.3" => "11.01.2019 fix blocking Active-Token if snap was done with arguments and snapEmailTxt not set, Forum:#45671 #msg885475 ", "8.4.2" => "10.01.2019 snapEmailTxt can use placeholders \$DATE, \$TIME ", @@ -214,42 +215,6 @@ our %SSCam_vNotesExtern = ( "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:
". - "- in FHEMWEB device attribute iconPath complete with \"sscam\", e.g.: attr WEB iconPath default:fhemSVG:openautomation:sscam
". - "After that execute \"rereadicons\" or restart FHEM. ", - "5" => "Find more Informations about manage users and the appropriate privilege profiles in ". - "Surveillance Station online help ", - "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". - "Actions: 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 english commandRef ", - "2" => "You can create own PTZ-control icons with a template available in SVN which can be downloaded here: contrib/sscam/black_btn_CAM_Template.pdn.\n". - "This template can be edited with Paint.Net for example. ", - "1" => "Some helpful FHEM-Wiki 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:
". - "- im FHEMWEB Device Attribut iconPath um \"sscam\" ergänzen, z.B.: attr WEB iconPath default:fhemSVG:openautomation:sscam
". - "Danach ein \"rereadicons\" bzw. einen FHEM restart ausführen. ", - "5" => "Informationen zum Management von Usern und entsprechenden Rechte-Profilen sind in der ". - "Surveillance Station Online-Hilfe 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". - "Maßnahmen: 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 commandRef ", - "2" => "Zur Erstellung eigener PTZ-Steuericons gibt es eine Vorlage im SVN die hier contrib/sscam/black_btn_CAM_Template.pdn heruntergeladen werden kann.\n". - "Diese Vorlage kann zum Beispiel mit Paint.Net bearbeitet werden. ", - "1" => "Hilfreiche Hinweise zu SSCam im FHEM-Wiki" -); - # getestete SVS-Version my $compstat = "8.2"; @@ -333,7 +298,7 @@ our %SSCam_ttips_de = ( 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_snum = "1,2,3,4,5,6,7,8,9,10"; # mögliche Anzahl der abzurufenden Schnappschüsse mit snapGallery @@ -343,6 +308,8 @@ use vars qw($FW_room); # currently selected room use vars qw($FW_detail); # currently selected device for detail view use vars qw($FW_wname); # Web instance sub FW_pH(@); # add href +our %SSCam_vHintsExt_en; +our %SSCam_vHintsExt_de; ################################################################ sub SSCam_Initialize($) { @@ -6316,7 +6283,7 @@ return($m); } ############################################################################### -# JSON Boolean Test und Mapping +# JSON Boolean Test und Mapping ############################################################################### sub SSCam_jboolmap($){ my ($bool)= @_; @@ -6329,7 +6296,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 ($) { my ($hash)= @_; @@ -6348,12 +6315,14 @@ sub SSCam_snaplimsize ($) { if($hash->{HELPER}{CANSENDSNAP}) { # Versand Schnappschuß darf erfolgen falls gewünscht - $hash->{HELPER}{GETSNAPGALLERY} = 1; # Steuerbit für Snap-Galerie $ssize = 2; # Full Size für EMail-Versand } - $slim = delete $hash->{HELPER}{SNAPNUM} if($hash->{HELPER}{SNAPNUM}); # enthält die Anzahl der ausgelösten Schnappschüsse - + if($hash->{HELPER}{SNAPNUM}) { + $slim = delete $hash->{HELPER}{SNAPNUM}; # enthält die Anzahl der ausgelösten Schnappschüsse + $hash->{HELPER}{GETSNAPGALLERY} = 1; # Steuerbit für Snap-Galerie bzw. Daten mehrerer Schnappschüsse abrufen + } + return ($slim,$ssize); } @@ -7824,6 +7793,92 @@ sub SSCam_trim ($) { return ($str); } +############################################################################################# +# Hint Hash EN +############################################################################################# +%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:
". + "- in FHEMWEB device attribute iconPath complete with \"sscam\", e.g.: attr WEB iconPath default:fhemSVG:openautomation:sscam
". + "After that execute \"rereadicons\" or restart FHEM. ". + "

", + "5" => "Find more Informations about manage users and the appropriate privilege profiles in ". + "Surveillance Station online help ". + "

", + "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". + "Actions: 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 english commandRef ". + "

", + "2" => "You can create own PTZ-control icons with a template available in SVN which can be downloaded here: contrib/sscam/black_btn_CAM_Template.pdn.\n". + "This template can be edited with Paint.Net for example. ". + "

", + "1" => "Some helpful FHEM-Wiki notes". + "

", +); + +############################################################################################# +# Hint Hash DE +############################################################################################# +%SSCam_vHintsExt_de = ( + "7" => "Einstellung Email-Versand
". + "=========================


". + "Schnappschüsse können nach der Erstellung per Email gemeinsam versendet werden. Dazu enthält das Modul einen
". + "eigenen Email-Client.
". + "Zur Verwendung dieser Funktion muss das Perl-Modul MIME::Lite installiert sein. Auf Debian-Systemen kann ". + "es mit". + "". + "installiert werden.

". + "Für die Verwendung des Email-Versands müssen einige Attribute gesetzt oder können optional genutzt werden.
". + "Die Credentials für den Zugang zum Email-Server müssen mit dem Befehl \"set <name> smtpcredentials <user> <password>\"
". + "gesetzt 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.

". + "Optionale Attribute sind gekennzeichnet:

". + "". + "Zur näheren Erläuterung siehe Beschreibung der Attribute.". + "

", + "6" => "Für SSCam wird ein Satz Icons im Verzeichnis www/images/sscam zur Verfügung gestellt. Damit das System sie findet bitte setzen:
". + "- im FHEMWEB Device Attribut iconPath um \"sscam\" ergänzen, z.B.: attr WEB iconPath default:fhemSVG:openautomation:sscam
". + "Danach ein \"rereadicons\" bzw. einen FHEM restart ausführen.". + "

", + "5" => "Informationen zum Management von Usern und entsprechenden Rechte-Profilen sind in der ". + "Surveillance Station Online-Hilfe 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". + "Maßnahmen: 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 commandRef ". + "

", + "2" => "Zur Erstellung eigener PTZ-Steuericons gibt es eine Vorlage im SVN die hier contrib/sscam/black_btn_CAM_Template.pdn heruntergeladen werden kann.\n". + "Diese Vorlage kann zum Beispiel mit Paint.Net bearbeitet werden. ". + "

", + "1" => "Hilfreiche Hinweise zu SSCam im FHEM-Wiki". + "

", +); + 1; =pod @@ -9951,7 +10006,7 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>



@@ -10210,56 +10225,16 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay> 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. - Es kann die Anzahl der auszulösenden Schnappschüsse und deren zeitlicher Abstand in Sekunden optional angegeben werden. - Ohne Angabe wird ein Schnappschuß getriggert. - Es wird die ID und der Filename des letzten Snapshots als Wert der Variable "LastSnapId" bzw. "LastSnapFilename" in den - Readings der jeweiligen Kamera gespeichert.
- Der Email-Versand wird durch das Setzen des Attributs "snapEmailTxt" im SVS-Device UND - in den Kamera-Devices, deren Schnappschüsse versendet werden sollen, aktiviert. Es wird ausschließlich der im Attribut - "snapEmailTxt" des SVS-Devices hinterlegte Email-Text verwendet. Der Text im Attribut "snapEmailTxt" der einzelnen - Kameras wird ignoriert !!

- - Email-Versand

- Die getriggerten Schnappschüsse aller Kameras können nach der Erstellung per Email gemeinsam versendet werden. - Dazu enthält das Modul einen eigenen Email-Client. - Zur Verwendung dieser Funktion muss das Perl-Modul MIME::Lite installiert sein. Auf Debian-System kann - es mit

- - -
- - installiert werden.

- - Für die Verwendung des globalen Email-Versands müssen einige Attribute im SVS-Device gesetzt oder können optional genutzt werden.
- Die Credentials für den Zugang zum Email-Server müssen mit dem Befehl "set <name> smtpcredentials <user> <password>" - gesetzt 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. - Optionale Attribute sind gekennzeichnet:

- - -
- - Zur näheren Erläuterung siehe Beschreibung der Attribute.
+ Optional kann die Anzahl der auszulösenden Schnappschüsse (default: 1) und deren zeitlicher Abstand in Sekunden + (default: 2) angegeben werden.
+ Es wird die ID und der Filename des letzten Snapshots als Wert der Readings "LastSnapId" bzw. "LastSnapFilename" + der entsprechenden Kamera gespeichert.

+ Ein Email-Versand der Schnappschüsse kann durch Setzen des Attributs "snapEmailTxt" im + SVS-Device UND in den Kamera-Devices, deren Schnappschüsse versendet werden sollen, aktiviert werden. + Zuvor ist der Email-Versand, wie im Abschnitt Einstellung Email-Versand beschrieben, + einzustellen. (Für weitere Informationen "get <name> versionNotes 7" ausführen)
+ Es wird ausschließlich der im Attribut "snapEmailTxt" des SVS-Devices hinterlegte Email-Text verwendet. Der Text im + Attribut "snapEmailTxt" der einzelnen Kameras wird ignoriert !!

@@ -10510,10 +10485,61 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta

- + + + Einstellung Email-Versand

+ +

+ Polling der Kamera/SVS-Eigenschaften:

- + +

Internals