From a46e34e60ad65ee413a931594af5cd3c60172d5b Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sun, 19 May 2024 20:56:37 +0000 Subject: [PATCH] 49_SSCAM: NOTE! set enable/disable renamed to enableCam/disableCam, switch commandref to ID tags git-svn-id: https://svn.fhem.de/fhem/trunk@28889 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 2 + fhem/FHEM/49_SSCam.pm | 673 ++++++++++++++++++++++-------------------- 2 files changed, 349 insertions(+), 326 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index b6a0ee85e..54b326507 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,7 @@ # 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 + - change: 49_SSCAM: NOTE! set enable/disable renamed to enableCam/disableCam + switch commandref to ID tags - change: 74_AutomowerConnect: minor changes - feature: 76_SolarForecast: currentMeterDev: contotal and feedtotal can be reset at day begin (day meter) diff --git a/fhem/FHEM/49_SSCam.pm b/fhem/FHEM/49_SSCam.pm index 90caf63ec..6767995ce 100644 --- a/fhem/FHEM/49_SSCam.pm +++ b/fhem/FHEM/49_SSCam.pm @@ -192,6 +192,8 @@ BEGIN { # Versions History intern my %vNotesIntern = ( + "9.11.5" => "19.05.2024 optimize memory consumption once more, set enable/disable renamed to enableCam/disableCam ". + "switch commandref to ID tags ", "9.11.4" => "13.05.2024 optimize memory consumption once more ", "9.11.3" => "08.05.2024 optimize memory consumption ", "9.11.2" => "14.04.2024 internal change logic for sending data via telegram, email, chat and their Saving ", @@ -397,8 +399,8 @@ my %hset = ( # Ha createPTZcontrol => { fn => "_setcreatePTZcontrol", needcred => 1 }, createStreamDev => { fn => "_setcreateStreamDev", needcred => 1 }, createReadingsGroup => { fn => "_setcreateReadingsGroup", needcred => 1 }, - enable => { fn => "_setenable", needcred => 1 }, - disable => { fn => "_setdisable", needcred => 1 }, + enableCam => { fn => "_setenable", needcred => 1 }, + disableCam => { fn => "_setdisable", needcred => 1 }, motdetsc => { fn => "_setmotdetsc", needcred => 1 }, expmode => { fn => "_setexpmode", needcred => 1 }, homeMode => { fn => "_sethomeMode", needcred => 1 }, @@ -592,7 +594,8 @@ my %hsimu = ( # Fun # Standardvariablen und Forward-Deklaration my $defSlim = 3; # default Anzahl der abzurufenden Schnappschüsse mit snapGallery my $defColumns = 3; # default Anzahl der Spalten einer snapGallery -my $defSnum = "1,2,3,4,5,6,7,8,9,10"; # mögliche Anzahl der abzurufenden Schnappschüsse mit snapGallery +my $sgnum = "1,2,3,4,5,6,7,8,9,10"; # mögliche Anzahl der abzurufenden Schnappschüsse mit snapGallery +my $sgbdef = 0; # default value Attr snapGalleryBoost my $compstat = "9.0.00"; # getestete SVS-Version my $valZoom = ".++,+,stop,-,--."; # Inhalt des Setters "setZoom" my $shutdownInProcess = 0; # Statusbit shutdown @@ -798,7 +801,7 @@ sub Initialize { "snapTelegramTxt:textField-long ". "snapGalleryBoost:0,1 ". "snapGallerySize:Icon,Full ". - "snapGalleryNumber:$defSnum ". + "snapGalleryNumber:$sgnum ". "snapGalleryColumns ". "snapGalleryHtmlAttr ". "snapReadingRotate:0,1,2,3,4,5,6,7,8,9,10 ". @@ -1351,18 +1354,18 @@ sub Attr { if ($aName eq "snapGallerySize") { if ($cmd eq "set") { - $do = ($aVal eq "Icon")?1:2; + $do = $aVal eq 'Icon' ? 1 : 2; } - $do = 0 if($cmd eq "del"); + $do = 0 if($cmd eq 'del'); if ($do == 0) { - delete($hash->{HELPER}{".SNAPHASH"}) if(AttrVal($name,"snapGalleryBoost",0)); # Snaphash nur löschen wenn Snaps gepollt werden + delete($hash->{HELPER}{".SNAPHASH"}) if(AttrVal($name, 'snapGalleryBoost', $sgbdef)); # Snaphash nur löschen wenn Snaps gepollt werden Log3($name, 4, "$name - Snapshot hash deleted"); } - elsif (AttrVal($name,"snapGalleryBoost",0) && $init_done == 1) { # snap-Infos abhängig ermitteln wenn gepollt werden soll + elsif (AttrVal($name, 'snapGalleryBoost', $sgbdef) && $init_done == 1) { # snap-Infos abhängig ermitteln wenn gepollt werden soll $hash->{HELPER}{GETSNAPGALLERY} = 1; - my $slim = AttrVal($name,"snapGalleryNumber",$defSlim); # Anzahl der abzurufenden Snaps + my $slim = AttrVal($name, 'snapGalleryNumber', $defSlim); # Anzahl der abzurufenden Snaps my $ssize = $do; RemoveInternalTimer($hash, "FHEM::SSCam::__getSnapInfo" ); @@ -1370,7 +1373,7 @@ sub Attr { } } - if ($aName eq "snapGalleryBoost") { + if ($aName eq 'snapGalleryBoost') { if ($cmd eq "set") { $do = ($aVal == 1) ? 1 : 0; } @@ -1378,7 +1381,7 @@ sub Attr { if ($do == 0) { delete($hash->{HELPER}{".SNAPHASH"}); # Snaphash löschen - Log3($name, 4, "$name - Snapshot hash deleted"); + Log3 ($name, 4, "$name - Snapshot hash deleted"); } elsif ($init_done == 1) { # snapgallery regelmäßig neu einlesen wenn Polling ein @@ -1395,13 +1398,13 @@ sub Attr { } } - if ($aName eq "snapGalleryNumber" && AttrVal($name,"snapGalleryBoost",0)) { + if ($aName eq "snapGalleryNumber" && AttrVal($name, 'snapGalleryBoost', $sgbdef)) { my ($slim,$ssize); - if ($cmd eq "set") { - $do = ($aVal != 0) ? 1 : 0; + if ($cmd eq 'set') { + $do = $aVal != 0 ? 1 : 0; } - $do = 0 if($cmd eq "del"); + $do = 0 if($cmd eq 'del'); if ($do == 0) { $slim = 3; @@ -1421,12 +1424,12 @@ sub Attr { } } - if ($aName eq "snapReadingRotate") { - if ($cmd eq "set") { - $do = ($aVal) ? 1 : 0; + if ($aName eq 'snapReadingRotate') { + if ($cmd eq 'set') { + $do = $aVal ? 1 : 0; } - $do = 0 if($cmd eq "del"); + $do = 0 if($cmd eq 'del'); if (!$do) {$aVal = 0} for my $i (1..10) { if ($i>$aVal) { @@ -1457,7 +1460,7 @@ sub Attr { InternalTimer (gettimeofday()+1.0, "FHEM::SSCam::wdpollcaminfo", $hash, 0); } - if ($cmd eq "set") { + if ($cmd eq 'set') { if ($aName =~ m/httptimeout|snapGalleryColumns|rectime|pollcaminfoall/x) { unless ($aVal =~ /^\d+$/x) { return " The Value for $aName is not valid. Use only figures 1-9 !";} } @@ -1468,8 +1471,8 @@ sub Attr { if ($aName =~ m/cacheServerParam/x) { return "Please provide the Redis server parameters in form: : or unix:" if($aVal !~ /:\d+$|unix:.+$/x); - my $type = AttrVal($name, "cacheType", "internal"); - if($hash->{HELPER}{CACHEKEY} && $type eq "redis") { + my $type = AttrVal($name, 'cacheType', 'internal'); + if($hash->{HELPER}{CACHEKEY} && $type eq 'redis') { cache($name, "c_destroy"); } } @@ -1478,16 +1481,15 @@ sub Attr { return "When you want activate \"$aName\", you have to set first the attribute \"videofolderMap\" to the root folder ". "of recordings and snapshots provided by an URL.\n". "Example: http://server.domain:8081/surveillance " - if(!AttrVal($name, "videofolderMap", "") && $init_done == 1); + if(!AttrVal($name, 'videofolderMap', '') && $init_done == 1); } } - if ($cmd eq "del") { - if ($aName =~ m/pollcaminfoall/x) { - # Polling nicht ausschalten wenn snapGalleryBoost ein (regelmäßig neu einlesen) + if ($cmd eq 'del') { + if ($aName =~ m/pollcaminfoall/x) { # Polling nicht ausschalten wenn snapGalleryBoost ein (regelmäßig neu einlesen) return "Please switch off \"snapGalleryBoost\" first if you want to deactivate \"pollcaminfoall\" because the functionality of \"snapGalleryBoost\" depends on retrieving snapshots periodical." - if(AttrVal($name,"snapGalleryBoost",0)); + if(AttrVal($name, 'snapGalleryBoost', $sgbdef)); } } @@ -1520,18 +1522,23 @@ sub Set { elsif (IsModelCam($hash)) { # selist für Cams my $hlslfw = IsCapHLS($hash) ? ",live_fw_hls," : ","; + my $sg = AttrVal ($name, 'snapGalleryBoost', $sgbdef) ? + (AttrVal($name, 'snapGalleryNumber', undef) || AttrVal($name, 'snapGalleryBoost', $sgbdef)) ? + "snapGallery:noArg " : + "snapGallery:$sgnum " : + ""; $setlist = "Unknown argument $opt, choose one of ". "createSnapGallery:noArg ". "createStreamDev:generic,hls,lastsnap,mjpeg,switched ". "createReadingsGroup ". "credentials ". - "disable:noArg ". - "enable:noArg ". + "disableCam:noArg ". + "enableCam:noArg ". "expmode:auto,day,night ". "motdetsc:disable,camera,SVS ". "snap ". - (AttrVal($name, "snapGalleryBoost",0) ? (AttrVal($name,"snapGalleryNumber",undef) || AttrVal($name,"snapGalleryBoost",0)) ? "snapGallery:noArg " : "snapGallery:$defSnum " : " "). + $sg. "on ". "off:noArg ". "optimizeParams ". @@ -1942,7 +1949,7 @@ sub _setsnapGallery { ## no critic "not used" my $ret = getClHash($hash); return $ret if($ret); - if(!AttrVal($name, "snapGalleryBoost",0)) { # Snaphash ist nicht vorhanden und wird neu abgerufen und ausgegeben + if (!AttrVal($name, 'snapGalleryBoost', $sgbdef)) { # Snaphash ist nicht vorhanden und wird neu abgerufen und ausgegeben $hash->{HELPER}{GETSNAPGALLERY} = 1; my $slim = $prop // AttrVal($name,"snapGalleryNumber",$defSlim); # Anzahl der abzurufenden Snapshots @@ -1986,7 +1993,7 @@ sub _setcreateSnapGallery { ## no critic "not used" return if(!IsModelCam($hash)); - if(!AttrVal($name,"snapGalleryBoost",0)) { + if (!AttrVal($name, 'snapGalleryBoost', $sgbdef)) { return qq{Before you can use "$opt", you must first set the "snapGalleryBoost" attribute, since automatic snapshot retrieval is required.}; } @@ -4072,8 +4079,8 @@ sub Get { } elsif(IsModelCam($hash)) { # getlist für Cams $getlist .= "caminfo:noArg ". - ((AttrVal($name,"snapGalleryNumber",undef) || AttrVal($name,"snapGalleryBoost",0)) - ? "snapGallery:noArg " : "snapGallery:$defSnum "). + ((AttrVal($name, 'snapGalleryNumber', undef) || AttrVal($name, 'snapGalleryBoost', $sgbdef)) + ? "snapGallery:noArg " : "snapGallery:$sgnum "). (IsCapPTZPan($hash) ? "listPresets:noArg " : ""). "snapinfo:noArg ". "saveRecording ". @@ -4319,7 +4326,7 @@ sub _getsnapGallery { ## no critic "not used" my $ret = getClHash($hash); return $ret if($ret); - if(!AttrVal($name, "snapGalleryBoost",0)) { # Snaphash ist nicht vorhanden und wird abgerufen + if (!AttrVal($name, 'snapGalleryBoost', $sgbdef)) { # Snaphash ist nicht vorhanden und wird abgerufen $hash->{HELPER}{GETSNAPGALLERY} = 1; my $slim = $arg // AttrVal($name,"snapGalleryNumber",$defSlim); # Anzahl der abzurufenden Snapshots @@ -5725,12 +5732,15 @@ sub camOp_Parse { if (!$success) { Log3 ($name, 4, "$name - Data returned: ".$data{SSCam}{$name}{TMPMJ}); + delete $data{SSCam}{$name}{TMPMJ}; delActiveToken ($hash); return; } $data{SSCam}{$name}{TMPDA} = decode_json ($data{SSCam}{$name}{TMPMJ}); $success = $data{SSCam}{$name}{TMPDA}->{'success'}; + delete $data{SSCam}{$name}{TMPMJ}; + Log3 ($name, 5, "$name - JSON returned: ". Dumper $data{SSCam}{$name}{TMPDA}); # Logausgabe decodierte JSON Daten } else { @@ -5752,6 +5762,7 @@ sub camOp_Parse { if ($hparse{$OpMode} && defined &{$hparse{$OpMode}{fn}}) { my $ret = q{}; $ret = &{$hparse{$OpMode}{fn}} ($params); + delete $data{SSCam}{$name}{TMPDA}; return if($ret); } @@ -5835,7 +5846,7 @@ sub camOp_Parse { elsif ($OpMode eq "reactivate_hls") { # HLS Streaming wurde deaktiviert, Aktivitätsstatus speichern $hash->{HELPER}{HLSSTREAM} = "inactive"; Log3($name, 3, "$name - HLS Streaming of camera \"$name\" deactivated for reactivation"); - + delete $data{SSCam}{$name}{TMPDA}; delActiveToken ($hash); # Token freigeben vor hlsactivate __activateHls ($hash); return; @@ -5851,6 +5862,7 @@ sub camOp_Parse { if (!$snapid) { Log3 ($name, 2, "$name - Snap-ID \"LastSnapId\" isn't set. Filename can't be retrieved"); delActiveToken ($hash); # Token freigeben vor hlsactivate + delete $data{SSCam}{$name}{TMPDA}; return; } @@ -5938,7 +5950,6 @@ sub camOp_Parse { if ($errorcode =~ /105/x) { Log3 ($name, 2, "$name - ERROR - $errorcode - $error in operation $OpMode -> try new login"); delete $data{SSCam}{$name}{TMPDA}; - delete $data{SSCam}{$name}{TMPMJ}; return login ($hash, $hash->{HELPER}{API}, \&camOp); } @@ -5946,7 +5957,6 @@ sub camOp_Parse { } delete $data{SSCam}{$name}{TMPDA}; - delete $data{SSCam}{$name}{TMPMJ}; } delActiveToken ($hash); # Token freigeben @@ -7050,7 +7060,7 @@ sub _parsegetsnapgallery { ## no critic "not used" __copySnapsBackFromOld ($paref); # gesicherte Schnappschußdaten aus SNAPOLDHASH an SNAPHASH anhängen # Direktausgabe Snaphash wenn nicht gepollt wird - if (!AttrVal($name, "snapGalleryBoost", 0)) { + if (!AttrVal($name, 'snapGalleryBoost', $sgbdef)) { my %pars = ( linkparent => $name, linkname => '', @@ -8935,9 +8945,9 @@ sub composeGallery { # wenn SSCamSTRM-device genutzt wird und attr "snapGalleryBoost" nicht gesetzt ist -> Warnung in Gallerie ausgeben my $sgbnote = " "; - if ($strmdev && !AttrVal ($name,"snapGalleryBoost",0)) { + if ($strmdev && !AttrVal($name, 'snapGalleryBoost', $sgbdef)) { $sgbnote = "CAUTION - The gallery is not updated automatically. Please set the attribute \"snapGalleryBoost=1\" in device $name"; - $sgbnote = "ACHTUNG - Die Galerie wird nicht automatisch aktualisiert. Dazu bitte das Attribut \"snapGalleryBoost=1\" im Device $name setzen." if ($lang eq "DE"); + $sgbnote = "ACHTUNG - Die Galerie wird nicht automatisch aktualisiert. Dazu bitte das Attribut \"snapGalleryBoost=1\" im Device $name setzen." if($lang eq "DE"); } my $ttsnap = $ttips_en{"ttsnap"}; $ttsnap =~ s/§NAME§/$camname/xg; @@ -8959,13 +8969,13 @@ sub composeGallery { if ($lang eq "EN") { $header .= "Snapshots (_LIMIT_/$totalcnt) of camera $camname - newest Snapshot: $lss
"; - $header .= " (Possibly another snapshots are available. Last recall: $lupt)
" if(AttrVal($name,"snapGalleryBoost",0)); + $header .= " (Possibly another snapshots are available. Last recall: $lupt)
" if(AttrVal($name, 'snapGalleryBoost', $sgbdef)); } else { $header .= "Schnappschüsse (_LIMIT_/$totalcnt) von Kamera $camname - neueste Aufnahme: $lss
"; $lupt =~ /(\d+)-(\d\d)-(\d\d)\s+(.*)/x; $lupt = "$3.$2.$1 $4"; - $header .= " (Eventuell sind neuere Aufnahmen verfügbar. Letzter Abruf: $lupt)
" if(AttrVal($name,"snapGalleryBoost",0)); + $header .= " (Eventuell sind neuere Aufnahmen verfügbar. Letzter Abruf: $lupt)
" if(AttrVal($name, 'snapGalleryBoost', $sgbdef)); } $header .= $sgbnote; @@ -9001,7 +9011,7 @@ sub composeGallery { } if (!$ftui) { - $data{SSCam}{$name}{TMPIDAT} = "onClick=\"FW_okDialog('')\"" if(AttrVal($name, "snapGalleryBoost", 0)); + $data{SSCam}{$name}{TMPIDAT} = "onClick=\"FW_okDialog('')\"" if(AttrVal($name, 'snapGalleryBoost', $sgbdef)); } $data{SSCam}{$name}{TMPIDAT} = '' if(!defined $data{SSCam}{$name}{TMPIDAT}); @@ -9045,7 +9055,7 @@ sub composeGallery { $imgTm = cache ($name, "c_read", "{SNAPHASH}{$key}{createdTm}"); if (!$ftui) { - $data{SSCam}{$name}{TMPIDAT} = "onClick=\"FW_okDialog('')\"" if(AttrVal ($name, "snapGalleryBoost", 0)); + $data{SSCam}{$name}{TMPIDAT} = "onClick=\"FW_okDialog('')\"" if(AttrVal ($name, 'snapGalleryBoost', $sgbdef)); } $data{SSCam}{$name}{TMPIDAT} = '' if(!defined $data{SSCam}{$name}{TMPIDAT}); @@ -9103,13 +9113,13 @@ sub snapLimSize { my ($slim,$ssize); - if (!AttrVal($name,"snapGalleryBoost",0)) { + if (!AttrVal($name,'snapGalleryBoost', $sgbdef)) { $slim = 1; $ssize = 0; } else { $hash->{HELPER}{GETSNAPGALLERY} = 1; - $slim = AttrVal ($name,"snapGalleryNumber",$defSlim); # Anzahl der abzurufenden Snaps + $slim = AttrVal ($name, 'snapGalleryNumber', $defSlim); # Anzahl der abzurufenden Snaps } if (AttrVal($name,"snapGallerySize","Icon") eq "Full") { @@ -12043,7 +12053,7 @@ return; =item summary_DE Kamera-Modul für die Steuerung der Synology Surveillance Station =begin html - +

SSCam

    Using this Module you are able to operate cameras which are defined in Synology Surveillance Station (SVS) and execute @@ -12111,7 +12121,7 @@ return; SSCam is completely using the nonblocking functions of HttpUtils respectively HttpUtils_NonblockingGet.
    In DSM respectively in Synology Surveillance Station an User has to be created. The login credentials are needed later when using a set-command to assign the login-data to a device.
    - Further informations could be find among Credentials.

    + Further informations could be find among Credentials.

    Overview which Perl-modules SSCam is using:

    @@ -12145,7 +12155,7 @@ return;

- + Define

    @@ -12204,13 +12214,13 @@ return; When a new Camera is defined, as a start the recordingtime of 15 seconds will be assigned to the device.
    - Using the attribute "rectime" you can adapt the recordingtime for every camera individually.
    + Using the rectime attribute you can adapt the recordingtime for every camera individually.
    The value of "0" for rectime will lead to an endless recording which has to be stopped by a "set <name> off" command.
    Due to a Log-Entry with a hint to that circumstance will be written.

    - If the attribute "rectime" would be deleted again, the default-value for recording-time (15s) become active.

    + If the rectime attribute would be deleted again, the default-value for recording-time (15s) become active.

    - With command "set <name> on [rectime]" a temporary recordingtime is determinded which would overwrite the dafault-value of recordingtime
    + With command "set <name> on [rectime]" a temporary recordingtime is determinded which would overwrite the dafault-value of recordingtime
    and the attribute "rectime" (if it is set) uniquely.

    In that case the command "set <name> on 0" leads also to an endless recording as well.

    @@ -12219,13 +12229,13 @@ return; If the module recognizes the defined camera as a PTZ-device (Reading "DeviceType = PTZ"), then a control panel is created automatically in the detal view. This panel requires SVS >= 7.1. The properties and the behave of the - panel can be affected by attributes "ptzPanel_.*".
    - Please see also command "set <name> createPTZcontrol" in this context. + panel can be affected by attributes "ptzPanel_.*".
    + Please see also command "set <name> createPTZcontrol" in this context.


- + Credentials

    @@ -12241,7 +12251,7 @@ return; If the user is member of admin-group, he has access to all module functions. Without this membership the user can only execute functions with lower need of rights.
    Is 2-step verification - activated in DSM, the setup to a session with Surveillance Station is necessary (attribute "session = SurveillanceStation").

    + activated in DSM, the setup to a session with Surveillance Station is necessary (session = SurveillanceStation attribute).

    The required minimum rights to execute functions are listed in a table further down.
    Alternatively to DSM-user a user created in SVS can be used. Also in that case a user of type "manager" has the right to @@ -12256,7 +12266,7 @@ return;

- Using the Attribute "session" can be selected, if the session should be established to DSM or the + Using the session attribute can be selected, if the session should be established to DSM or the SVS instead. Further informations about user management in SVS are available by execute "get <name> versionNotes 5".
If the session will be established to DSM, SVS Web-API methods are available as well as further API methods of other API's @@ -12304,19 +12314,19 @@ return;

- + HTTP-Timeout Settings

    All functions of SSCam use HTTP-calls to SVS Web API.
    - You can set the attribute httptimeout > 0 to adjust + You can set the attribute httptimeout > 0 to adjust the value as needed in your technical environment.



- + Set

    @@ -12333,7 +12343,7 @@ return;
    - +
  • createStreamDev [generic | hls | lastsnap | mjpeg | switched]     (valid for CAM)
    respectively
    createStreamDev [master]     (valid for SVS)
    @@ -12347,7 +12357,7 @@ return;
      - + @@ -12357,17 +12367,17 @@ return;

      - You can control the design with HTML tags in attribute htmlattr of the camera device or by + You can control the design with HTML tags in attribute htmlattr of the camera device or by specific attributes of the SSCamSTRM-device itself.

      Streaming device "hls"

      The Streaming-device of type "hls" uses the library hls.js to playback the video stream and is executable on most current - browsers with MediaSource extensions (MSE). With attribuet "hlsNetScript" can be specified, whether + browsers with MediaSource extensions (MSE). With hlsNetScript attribute can be specified, whether the local installed version of hls.js (./www/pgm2/sscam_hls.js) or the newest online library version from the hls.js project site should be used. This attribute has to be set centrally in a device of type "SVS" !
      - If this kind of streaming device is used, the attribute "hlsStrmObject" must be set in the parent + If this kind of streaming device is used, the hlsStrmObject attribute must be set in the parent camera device (see Internal PARENT).

      @@ -12424,7 +12434,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR 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"). - With the "ptzPanel_.*"-attributes or respectively the specific attributes of the SSCamSTRM-device + With the "ptzPanel_.*"-attributes or respectively the specific attributes of the SSCamSTRM-device the properties of the control panel can be affected.



      @@ -12445,7 +12455,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR A snapshot gallery will be created as a separate device (type SSCamSTRM). The device will be provided in room "SSCam". - With the "snapGallery..."-attributes respectively the specific attributes of the SSCamSTRM-device + With the "snapGallery..."-attributes respectively the specific attributes of the SSCamSTRM-device you are able to manipulate the properties of the new snapshot gallery device.

      @@ -12459,7 +12469,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
    • credentials <username> <password>     (valid for CAM/SVS)

    • set username / password combination for access the Synology Surveillance Station. - See Credentials
      for further informations. + See Credentials
      for further informations.

      @@ -12473,23 +12483,24 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        - -
      • disable     (gilt für CAM)
        + +
      • disableCam     (gilt für CAM)
        Disables the camera in Synology Surveillance Station.


        - -
      • enable     (gilt für CAM)
        + +
      • enableCam     (gilt für CAM)
        Activate the camera in Synology Surveillance Station.


        -
      • expmode [day|night|auto]     (valid for CAM)

      • + +
      • expmode [day|night|auto]     (valid for CAM)
        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. @@ -12499,6 +12510,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR The successfully execution of this function depends on if SVS supports that functionality of the connected camera. Is the field for the Day/Night-mode shown greyed in SVS -> IP-camera -> optimization -> exposure mode, this function will be probably unsupported.
      +

        @@ -12630,7 +12642,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR The each available options are dependend of camera type respectively the supported functions by SVS. Only the options can be used they are available in SVS -> edit camera -> motion detection. Further informations please read in SVS online help.

        - With the command "get <name> caminfoall" the Reading "CamMotDetSc" also will be updated which documents the current setup of motion detection. + With the command "get <name> caminfoall" the Reading "CamMotDetSc" also will be updated which documents the current setup of motion detection. Only the parameters and parameter values supported by SVS at present will be shown. The camera itself may offer further options to adjust.

        Example: @@ -12679,14 +12691,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR     (valid for CAM)
        A recording will be started. The default recording time is 15 seconds. It can be individually changed by - the attribute "rectime". + the rectime attribute. The recording time can be overwritten on-time by "set <name> on <rectime>" for the current recording. The recording will be stopped after processing time "rectime"automatically.
        A special case is start recording by "set <name> on 0" respectively the attribute value "rectime = 0". In this case an endless-recording will be started. One have to explicitely stop this recording with command "set <name> off".
        - Furthermore the recording behavior can be impacted with attribute "recextend" as explained as + Furthermore the recording behavior can be impacted with recextend attribute as explained as follows.

        Attribute "recextend = 0" or not set (default):
        @@ -12703,27 +12715,27 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Therefore a running recording will be extended until no start command will be get.
      • a before started endless-recording will be stopped after recordingtime 2rectime" if a new "set on"-command is received (new set of timer). If it is unwanted make sure you - don't set the attribute "recextend" in case of endless-recordings.
      • + don't set the recextend attribute in case of endless-recordings.

      - The shipping of recording by Synology Chat can be activated permanently by setting attribute recChatTxt + The shipping of recording by Synology Chat can be activated permanently by setting attribute recChatTxt Of course, the SSChatBot device which is used for send data, must be defined and fully functional before.
      If you want temporary overwrite the message text as set in attribute "recChatTxt", you can optionally specify the "recChatTxt:"-tag as shown above. If the attribute "recChatTxt" is not set, the shipping by Telegram is activated one-time. (the tag-syntax is equivalent to the "recChatTxt" attribute)

      - The Email shipping of recordings can be activated by setting attribute "recEmailTxt". - Before you have to prepare the Email shipping as described in section Setup Email shipping. + The Email shipping of recordings can be activated by setting recEmailTxt attribute. + Before you have to prepare the Email shipping as described in section Setup Email shipping. (for further information execute "get <name> versionNotes 7")
      Alternatively you can activate the Email-shipping one-time when you specify the "recEmailTxt:"-tag in the "on"-command. In this case the tag-text is used for creating the Email instead the text specified in "recEmailTxt"-attribute. (the tag syntax is identical to the "recEmailTxt" attribute)

      - The shipping of the last recording by Telegram can be activated permanently by setting attribute - "recTelegramTxt". Of course, the TelegramBot device which is + The shipping of the last recording by Telegram can be activated permanently by setting recTelegramTxt + attribute. Of course, the TelegramBot device which is used, must be defined and fully functional before.
      If you want temporary overwrite the message text as set with attribute "recTelegramTxt", you can optionally specify the "recTelegramTxt:"-tag as shown above. If the attribute "recTelegramTxt" is not set, the shipping by Telegram is @@ -12824,7 +12836,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR The "lastrec_open" command can be extended optionally by a room. In this case the new window opens only, if the room is the same as a FHEMWEB-session has currently opened.
      The command "set <name> runView lastsnap_fw" shows the last snapshot of the camera embedded.
      - The Streaming-Device properties can be affected by HTML-tags in attribute "htmlattr". + The Streaming-Device properties can be affected by HTML-tags in htmlattr attribute.

      Examples:
      @@ -12837,9 +12849,9 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR A browser window will be initiated to open for every FHEMWEB-session which is active. If you want to change this behavior, you can use command "set <name> runView live_open <room>". In this case the new window opens only, if the room is the same as a FHEMWEB-session has currently opened.
      - The settings of attribute "livestreamprefix" overwrite the data for protocol, servername and - port in reading "LiveStreamUrl". - By "livestreamprefix" the LivestreamURL (is shown if attribute "showStmInfoFull" is set) can + The settings of livestreamprefix attribute overwrite the data for protocol, servername and + port in Reading "LiveStreamUrl". + By "livestreamprefix" the LivestreamURL (is shown if showStmInfoFull attribute is set) can be modified and used for distribution and external access to the Livestream.

      Example:
      @@ -12914,27 +12926,27 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR each snapshot can be optionally specified. Without any specification only one snapshot is triggered.
      The ID and the filename of the last snapshot will be displayed in Reading "LastSnapId" respectively "LastSnapFilename".
      - To get data of the last 1-10 snapshots in various versions, the attribute snapReadingRotate + To get data of the last 1-10 snapshots in various versions, the attribute snapReadingRotate can be used.

      - A snapshot shipping by Synology Chat can be permanently activated by setting attribute snapChatTxt. + A snapshot shipping by Synology Chat can be permanently activated by setting attribute snapChatTxt. Of course, the SSChatBot device which is used must be defined and fully functional before.
      If you want temporary overwrite the subject set in attribute "snapChatTxt", you can optionally specify the "snapChatTxt:"-tag as shown above. If the attribute "snapChatTxt" is not set, the shipping by SSChatBot is activated one-time (the tag-syntax is equivalent to the "snapChatTxt" attribute).
      - In either case the attribute videofolderMap has to be set before. It must contain an URL to the + In either case the attribute videofolderMap has to be set before. It must contain an URL to the root directory of recordings and snapshots (e.g. http://server.me:8081/surveillance).

      - The snapshot Email shipping can be activated by setting attribute snapEmailTxt. - Before you have to prepare the Email shipping as described in section Setup Email shipping. + The snapshot Email shipping can be activated by setting attribute snapEmailTxt. + Before you have to prepare the Email shipping as described in section Setup Email shipping. (for further information execute "get <name> versionNotes 7")
      If you want temporary overwrite the message text set in attribute "snapEmailTxt", you can optionally specify the "snapEmailTxt:"-tag as shown above. If the attribute "snapEmailTxt" is not set, the Email shipping is activated one-time. (the tag-syntax is equivalent to the "snapEmailTxt" attribut)

      - A snapshot shipping by Telegram can be permanently activated by setting attribute snapTelegramTxt. + A snapshot shipping by Telegram can be permanently activated by setting attribute snapTelegramTxt. Of course, the TelegramBot device which is used must be defined and fully functional before.
      If you want temporary overwrite the message text set in attribute "snapTelegramTxt", you can optionally specify the @@ -12962,9 +12974,9 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR The ID and the filename of the last snapshot will be displayed in Reading "LastSnapId" respectively "LastSnapFilename" of the appropriate camera device.

      - The snapshot Email shipping can be activated by setting attribute "snapEmailTxt" in the + The snapshot Email shipping can be activated by setting snapEmailTxt attribute in the SVS device AND in the camera devices whose snapshots should be shipped. - Before you have to prepare the Email shipping as described in section Setup Email shipping. + Before you have to prepare the Email shipping as described in section Setup Email shipping. (for further information execute "get <name> versionNotes 7")
      Only the message text set in attribute "snapEmailTxt" of the SVS device is used in the created Email. The settings of those attribute in the camera devices is ignored !!

      @@ -12982,11 +12994,11 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR The command is only available if the attribute "snapGalleryBoost=1" is set.
      It creates an output of the last [x] snapshots as well as "get ... snapGallery". But differing from "get" with - attribute "snapGalleryBoost=1" no popup will be created. The snapshot gallery will be depicted as - an browserpage instead. All further functions and attributes are appropriate the "get <name> snapGallery" + snapGalleryBoost=1 attribute no popup will be created. The snapshot gallery will be depicted as + an browserpage instead. All further functions and attributes are appropriate the "get <name> snapGallery" command.
      If you want create a snapgallery output by triggering, e.g. with an "at" or "notify", you should use the - "get <name> snapGallery" command instead of "set". + "get <name> snapGallery" command instead of "set".

      Note
      @@ -13017,7 +13029,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      - +Get

        @@ -13026,7 +13038,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR They can be selected in the drop-down-menu of the particular device.

          - +
        • apiInfo
          Retrieves the API information of the Synology Surveillance Station and open a popup window with its data. @@ -13048,10 +13060,10 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
          • eventlist     (valid for CAM)

          • - The Reading "CamEventNum" and "CamLastRecord" will be refreshed which containes the total number + The Reading "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. This command will be implicit executed when "get <name> caminfoall" is running.
            - The attribute "videofolderMap" replaces the content of reading "VideoFolder". You can use it for + The videofolderMap attribute replaces the content of reading "VideoFolder". You can use it for example if you have mounted the videofolder of SVS under another name or path and want to access by your local pc.


          @@ -13064,7 +13076,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

            - +
          • listLog [severity:<Loglevel>] [limit:<Number of lines>] [match:<Searchstring>]     (valid for SVS)
            Fetches the Surveillance Station Log from Synology server. Without any further options the whole log will be retrieved.
            @@ -13089,7 +13101,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
          - If the polling of SVS is activated by setting the attribute "pollcaminfoall", the reading + If the polling of SVS is activated by setting the pollcaminfoall attribute, the Reading "LastLogEntry" will be created.
          In the protocol-setup of the SVS you can adjust what data you want to log. For further informations please have a look at Synology Online-Help. @@ -13148,32 +13160,32 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
          • snapGallery [1-10]     (valid for CAM)

          • - A popup with the last [x] snapshots will be created. If the attribute "snapGalleryBoost" is set, + A popup with the last [x] snapshots will be created. If the snapGalleryBoost attribute is set, the last snapshots (default 3) are requested by polling and they will be stored in the FHEM-servers main memory. This method is helpful to speed up the output especially in case of full size images, but it can be possible that NOT the newest snapshots are be shown if they have not be initialized by the SSCAm-module itself.
            The function can also be triggered, e.g. by an "at" or "notify". In that case the snapshotgallery will be displayed on all connected FHEMWEB instances as a popup.

            - To control this function behavior there are further attributes:

            + To control this function behavior there are further attributes:


            available.

          -
            - Note:
            - Depended from quantity and resolution (quality) of the snapshot images adequate CPU and/or main memory - ressources are needed. The camera names in Synology SVS should not be very similar, otherwise the retrieval of - snapshots could come to inaccuracies. -
          -

          +
            + Note:
            + Depended from quantity and resolution (quality) of the snapshot images adequate CPU and/or main memory + ressources are needed. The camera names in Synology SVS should not be very similar, otherwise the retrieval of + snapshots could come to inaccuracies. +
          +

          • snapfileinfo     (valid for CAM)

          • @@ -13196,7 +13208,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR 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). - If the attribute "showStmInfoFull" is set, additional stream readings like "StmKeyUnicst", "StmKeymjpegHttp" will be shown and can be used to run the + If the showStmInfoFull attribute is set, additional stream readings like "StmKeyUnicst", "StmKeymjpegHttp" will be shown and can be used to run the appropriate livestream without session id. Is the attribute "livestreamprefix" (usage: "http(s)://<hostname><port>) used, the servername / port will be replaced if necessary. The strUrlPath function will be included automatically if polling is used.

            @@ -13239,7 +13251,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR


          - + Setup Email shipping

            @@ -13294,8 +13306,6 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

          - For further information please see description of the attributes.

          - Description of the placeholders:

            @@ -13312,7 +13322,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR


          - + Polling of Camera/SVS-Properties

            Retrieval of Camera-Properties can be done automatically if the attribute "pollcaminfoall" will be set to a value > 10.
            @@ -13335,14 +13345,14 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

          - The readings are described here.

          + The readings are described here.

          Notes:

          If polling is used, the interval should be adjusted only as short as needed due to the detected camera values are predominantly static.
          A feasible guide value for attribute "pollcaminfoall" could be between 600 - 1800 (s).
          Per polling call and camera approximately 10 - 20 Http-calls will are stepped against Surveillance Station.
          - Because of that if HTTP-Timeout (pls. refer attribute httptimeout) is set to 4 seconds, the theoretical processing time couldn't be higher than 80 seconds.
          + Because of that if HTTP-Timeout (pls. refer attribute httptimeout) is set to 4 seconds, the theoretical processing time couldn't be higher than 80 seconds.
          Considering a safety margin, in that example you shouldn't set the polling interval lower than 160 seconds.

          If several Cameras are defined in SSCam, attribute "pollcaminfoall" of every Cameras shouldn't be set exactly to the same value to avoid processing bottlenecks
          @@ -13353,7 +13363,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
        - + Internals

          The meaning of used Internals is depicted in following list:

          @@ -13371,13 +13381,13 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      - +Attributes

          - +
        • cacheServerParam
          Specification of connection parameters to a central data cache.

          @@ -13389,7 +13399,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        • - +
        • cacheType
          Defines the used Cache for storage of snapshots, recordings und other mass data. (Default: internal).
          @@ -13411,22 +13421,22 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        • - +
        • debugactivetoken
          If set, the state of active token will be logged - only for debugging, don't use it in normal operation !

        • - +
        • debugCachetime
          Shows the consumed time of cache operations.

        • - +
        • disable
          deactivates the device definition

        • - +
        • genericStrmHtmlTag
          This attribute contains HTML-Tags for video-specification in a Streaming-Device of type "generic". (see also "set <name> createStreamDev generic")

          @@ -13449,7 +13459,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        • - +
        • hlsNetScript     (settable in device model "SVS")
          If set, the latest hls.js library version from the project site is used (internet connection is needed).
          @@ -13458,7 +13468,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR This attribute has to be set in a device model "SVS" and applies to all streaming devices !

        • - +
        • hlsStrmObject
          If a streaming device was defined by "set <name> createStreamDev hls", this attribute has to be set and must contain the link to the video object to play back.
          @@ -13481,12 +13491,12 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
        • - +
        • httptimeout
          Timeout-Value of HTTP-Calls to Synology Surveillance Station.
          (default: 20 seconds)

        • - +
        • htmlattr
          additional specifications to inline oictures to manipulate the behavior of stream, e.g. size of the image.

        • @@ -13496,7 +13506,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        - +
      • livestreamprefix
        Overwrites the specifications of protocol, servername and port for further use in livestream address and StmKey.*-readings , e.g. as a link for external use.
        @@ -13513,11 +13523,11 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Servername can be the name or the IP-address of your Synology Surveillance Station.

      • - +
      • loginRetries
        set the amount of login-repetitions in case of failure (default = 3)

      • - +
      • noQuotesForSID
        This attribute delete the quotes for SID and for StmKeys. The attribute may be helpful in some cases to avoid errormessages "402 - permission denied" or "105 - @@ -13525,38 +13535,38 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR (default: 0)

      • - +
      • pollcaminfoall
        Interval of automatic polling the Camera properties (<= 10: no polling, > 10: polling with interval)

      • - +
      • pollnologging
        "0" resp. not set = Logging device polling active (default), "1" = Logging device polling inactive

      • - +
      • ptzNoCapPrePat
        Some PTZ cameras cannot store presets and patrols despite their PTZ capabilities. To avoid errors and corresponding log messages, the attribute ptzNoCapPrePat can be set in these cases. The system will be notified of a missing preset / patrol capability.

      • - +
      • ptzPanel_Home
        In the PTZ-control panel the Home-Icon (in attribute "ptzPanel_row02") is automatically assigned to the value of Reading "PresetHome". With "ptzPanel_Home" you can change the assignment to another preset from the available Preset list.

      • - +
      • ptzPanel_iconPath
        Path for icons used in PTZ-control panel, default is "www/images/sscam". The attribute value will be used for all icon-files except *.svg.
        For further information execute "get <name> versionNotes 2,6".

      • - +
      • ptzPanel_iconPrefix
        Prefix for icons used in PTZ-control panel, default is "black_btn_". The attribute value will be used for all icon-files except *.svg.
        @@ -13564,7 +13574,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR attributes "ptzPanel_row[00-09]" just with the subsequent part of name, e.g. "CAMDOWN.png".

      • - +
      • ptzPanel_row[00-09] <command>:<icon>,<command>:<icon>,...
        For PTZ-cameras the attributes "ptzPanel_row00" to "ptzPanel_row04" are created automatically for usage by the PTZ-control panel.
        @@ -13591,7 +13601,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • ptzPanel_use
        Switch the usage of a PTZ-control panel in detail view respectively a created StreamDevice off or on (default: on).
        @@ -13600,10 +13610,10 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR (e.g. "attr WEB iconPath default:fhemSVG:openautomation:sscam").

      • - +
      • recChatTxt chatbot => <SSChatBot device>, peers => [<peer1 peer2 ...>], subject => [<subject text>]
        Activates the permanent shipping of recordings by Synology Chat after its creation.
        - Before activating the attribute videofolderMap has to be set. It must contain an URL to the + Before activating the attribute videofolderMap has to be set. It must contain an URL to the root directory of your SVS recordings and snapshots ( e.g. http://server.me:8081/surveillance ).
        The attribute recChatTxt has to be defined in the form as described. With key "chatbot" the SSChatBot device is specified, which is used for sending the data. Of course, the SSChatBot device @@ -13633,7 +13643,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • recEmailTxt subject => <subject text>, body => <message text>
        Activates the Email shipping of recordings after whose creation.
        The attribute must be defined in the specified form.
        @@ -13658,7 +13668,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      • - +
      • recTelegramTxt tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Text>], option => [silent]
        Enables permanent sending of recordings after their creation via TelegramBot.
        The attribute must be defined in the specified form. @@ -13706,24 +13716,24 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • rectime
        determines the recordtime when a recording starts. If rectime = 0 an endless recording will be started. If it isn't defined, the default recordtime of 15s is activated

      • - +
      • recextend
        "rectime" of a started recording will be set new. Thereby the recording time of the running recording will be extended

      • - +
      • session
        selection of login-Session. Not set or set to "DSM" -> session will be established to DSM (Sdefault). "SurveillanceStation" -> session will be established to SVS.
        For establish a sesion with Surveillance Station you have to create a user with suitable privilege profile in SVS. If you need more infomations please execute "get <name> versionNotes 5".

      • - +
      • simu_SVSversion
        A logical "downgrade" to the specified SVS version is performed. The attribute is useful to temporarily eliminate incompatibilities that may occur when updating/upgrading Synology Surveillance Station. @@ -13731,60 +13741,60 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • smtpHost <Hostname>
        The name or IP-address of outgoing email server (e.g. securesmtp.t-online.de).

      • - +
      • smtpCc <name>@<domain>[, <name>@<domain>][, <name>@<domain>]...
        Optional you can enter a carbon-copy receiving address. Several receiving addresses are separated by ",".

      • - +
      • smtpDebug
        Switch the debugging mode for SMTP connection on (if Email shipping is used).

      • - +
      • smtpFrom <name>@<domain>
        Return address if Email shipping is used.

      • - +
      • smtpPort <Port>
        Optional setting of default SMTP port of outgoing email server (default: 25).

      • - +
      • smtpSSLPort <Port>
        Optional setting of SSL port of outgoing email server (default: 465). If set, the established connection to the Email server will be encrypted immediately.

      • - +
      • smtpTo <name>@<domain>[, <name>@<domain>][, <name>@<domain>]...
        Receiving address for emal shipping. Several receiving addresses are separated by ",".

      • - +
      • smtpNoUseSSL
        If no Email SSL encryption should be used, set this attribute to "1" (default: 0).

      • - +
      • snapChatTxt chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<subject text>]
        Activates the permanent shipping of snapshots by Synology Chat after their creation. If several snapshots were triggert, they will be sequentially delivered.
        - Before activating the attribute videofolderMap has to be set. It must contain an URL to the + Before activating the attribute videofolderMap has to be set. It must contain an URL to the root directory of your SVS recordings and snapshots ( e.g. http://server.me:8081/surveillance ).
        The attribute snapChatTxt has to be defined in the form as described. With key "chatbot" the SSChatBot device is specified, which is used for sending the data. Of course, the SSChatBot device @@ -13815,7 +13825,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • snapEmailTxt subject => <subject text>, body => <message text>
        Activates the Email shipping of snapshots after whose creation.
        The attribute must be defined in the specified form.
        @@ -13840,7 +13850,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • snapTelegramTxt tbot => <TelegramBot device>, peers => [<peer1 peer2 ...>], subject => [<subject text>], option => [silent]
        Enables permanent sending of snapshots after their creation via TelegramBot. If several snapshots were triggered, they are sent sequentially.
        @@ -13889,19 +13899,24 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      • - +
      • snapGalleryBoost
        If set, the last snapshots (default 3) will be retrieved by Polling, will be stored in the FHEM-servers main memory and can be displayed by the "set/get ... snapGallery" command.
        This mode is helpful if many or full size images shall be displayed. If the attribute is set, you can't specify arguments in addition to the "set/get ... snapGallery" command. - (see also attribut "snapGalleryNumber")

      • + (see also attribut "snapGalleryNumber").

        + + (default: 0) + + +
        - +
      • snapGalleryColumns
        The number of snapshots which shall appear in one row of the gallery popup (default 3).

      • - +
      • snapGalleryHtmlAttr
        the image parameter can be controlled by this attribute.
        If the attribute isn't set, the value of attribute "htmlattr" will be used.
        @@ -13914,37 +13929,37 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      • - +
      • snapGalleryNumber
        The number of snapshots to retrieve (default 3).

      • - +
      • snapGallerySize
        By this attribute the quality of the snapshot images can be controlled (default "Icon").
        If mode "Full" is set, the images are retrieved with their original available resolution. That requires more ressources and may slow down the display. By setting attribute "snapGalleryBoost=1" the display may accelerated, because in that case the images will be retrieved by continuous polling and need only bring to display.

      • - +
      • snapReadingRotate 0...10
        Activates the version control of snapshot readings (default: 0). A consecutive number of readings "LastSnapFilename", "LastSnapId" and "LastSnapTime" until to the specified value of snapReadingRotate will be created and contain the data of the last X snapshots.

      • - +
      • showStmInfoFull
        additional stream informations like LiveStreamUrl, StmKeyUnicst, StmKeymjpegHttp will be created

      • - +
      • showPassInLog
        if set the used password will be shown in logfile with verbose 4. (default = 0)

      • - +
      • videofolderMap
        Replaces the content of reading "VideoFolder". Use it if e.g. folders are mountet with different names than original in SVS or providing an URL for acces the snapshots / recordings by a web server.

      • - +
      • verbose

        • @@ -13968,7 +13983,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR


        - + Readings

          @@ -14029,15 +14044,15 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      - + - - + + @@ -14057,7 +14072,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR =end html =begin html_DE - +

      SSCam

        Mit diesem Modul können Operationen von in der Synology Surveillance Station (SVS) definierten Kameras und Funktionen @@ -14131,7 +14146,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Das Modul verwendet für HTTP-Calls die nichtblockierenden Funktionen von HttpUtils bzw. HttpUtils_NonblockingGet.
        Im DSM bzw. der Synology Surveillance Station muß ein Nutzer angelegt sein. Die Zugangsdaten werden später über ein Set-Kommando dem angelegten Gerät zugewiesen.
        - Nähere Informationen dazu unter Credentials

        + Nähere Informationen dazu unter Credentials

        Überblick über die Perl-Module welche von SSCam genutzt werden:

        @@ -14165,7 +14180,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      - +Definition

        @@ -14223,25 +14238,25 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Wird eine neue Kamera definiert, wird diesem Device zunächst eine Standardaufnahmedauer von 15 zugewiesen.
        - Über das Attribut "rectime" kann die Aufnahmedauer für jede Kamera individuell angepasst werden. Der Wert "0" für "rectime" führt zu einer Endlosaufnahme, die durch "set <name> off" wieder gestoppt werden muß.
        + Über das rectime Attribut kann die Aufnahmedauer für jede Kamera individuell angepasst werden. Der Wert "0" für "rectime" führt zu einer Endlosaufnahme, die durch "set <name> off" wieder gestoppt werden muß.
        Ein Logeintrag mit einem entsprechenden Hinweis auf diesen Umstand wird geschrieben.

        - Wird das Attribut "rectime" gelöscht, greift wieder der Default-Wert (15s) für die Aufnahmedauer.

        + Wird das rectime Attribut gelöscht, greift wieder der Default-Wert (15s) für die Aufnahmedauer.

        - Mit dem Befehl "set <name> on [rectime]" wird die Aufnahmedauer temporär festgelegt und überschreibt einmalig sowohl den Defaultwert als auch den Wert des gesetzten Attributs "rectime".
        + Mit dem Befehl "set <name> on [rectime]" wird die Aufnahmedauer temporär festgelegt und überschreibt einmalig sowohl den Defaultwert als auch den Wert des gesetzten Attributs "rectime".
        Auch in diesem Fall führt "set <name> on 0" zu einer Daueraufnahme.

        Eine eventuell in der SVS eingestellte Dauer der Voraufzeichnung wird weiterhin berücksichtigt.

        Erkennt das Modul die definierte Kamera als PTZ-Device (Reading "DeviceType = PTZ"), wird automatisch ein Steuerungspaneel in der Detailansicht erstellt. Dieses Paneel setzt SVS >= 7.1 voraus. Die Eigenschaften und das - Verhalten des Paneels können mit den Attributen "ptzPanel_.*" beeinflusst werden.
        - Siehe dazu auch den Befehl "set <name> createPTZcontrol". + Verhalten des Paneels können mit den Attributen "ptzPanel_.*" beeinflusst werden.
        + Siehe dazu auch den Befehl "set <name> createPTZcontrol".


      - + Credentials

        @@ -14254,7 +14269,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Die Passwortlänge beträgt maximal 20 Zeichen.
        Der Anwender kann in Abhängigkeit der beabsichtigten einzusetzenden Funktionen einen Nutzer im DSM bzw. in der Surveillance Station einrichten. Sollte im DSM die 2-Stufen Verifizierung - aktiviert sein, ist die Session mit der Surveillance Station aufzubauen (Attribut "session = SurveillanceStation").

        + aktiviert sein, ist die Session mit der Surveillance Station aufzubauen (session = SurveillanceStation Attribut).

        Ist der DSM-Nutzer der Gruppe Administratoren zugeordnet, hat er auf alle Funktionen Zugriff. Ohne diese Gruppenzugehörigkeit können nur Funktionen mit niedrigeren Rechtebedarf ausgeführt werden. Die benötigten Mindestrechte der Funktionen sind in der Tabelle weiter unten aufgeführt.
        @@ -14270,7 +14285,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      - Über das Attribut "session" kann ausgewählt werden, ob die Session mit dem DSM oder der SVS + Über das session Attribut kann ausgewählt werden, ob die Session mit dem DSM oder der SVS aufgebaut werden soll. Weitere Informationen zum Usermanagement in der SVS sind verfügbar mit "get <name> versionNotes 5".
      Erfolgt der Session-Aufbau mit dem DSM, stehen neben der SVS Web-API auch darüber hinausgehende API-Zugriffe zur Verfügung, @@ -14319,18 +14334,18 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

      - +HTTP-Timeout setzen

        Alle Funktionen dieses Moduls verwenden HTTP-Aufrufe gegenüber der SVS Web API.
        - Durch Setzen des Attributes httptimeout > 0 kann dieser Wert bei Bedarf entsprechend + Durch Setzen des Attributes httptimeout > 0 kann dieser Wert bei Bedarf entsprechend den technischen Gegebenheiten angepasst werden.



      - +Set

        @@ -14348,7 +14363,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
        - +
      • createStreamDev [generic | hls | lastsnap | mjpeg | switched]     (gilt für CAM)
        bzw.
        createStreamDev [master]     (gilt für SVS)
        @@ -14362,7 +14377,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      generic - the streaming device playback a content determined by attribute genericStrmHtmlTag
      generic - the streaming device playback a content determined by attribute genericStrmHtmlTag
      hls - the streaming device playback a permanent HLS video stream
      lastsnap - the streaming device playback the newest snapshot
      mjpeg - the streaming device playback a permanent MJPEG video stream (Streamkey method)
    • LastSnapId[x]
    • - the ID of the last snapshot or snapshots
    • LastSnapTime[x]
    • - timestamp of the last snapshot or snapshots (format depends of global attribute "language")
    • LastUpdateTime
    • - date / time the last update of readings by "caminfoall" (format depends of global attribute "language")
    • LiveStreamUrl
    • - the livestream URL if stream is started (is shown if attribute "showStmInfoFull" is set)
    • LiveStreamUrl
    • - the livestream URL if stream is started (is shown if showStmInfoFull attribute is set)
    • Patrols
    • - in Synology Surveillance Station predefined patrols (at PTZ-Cameras)
    • PollState
    • - shows the state of automatic polling
    • PresetHome
    • - Name of Home-position (at PTZ-Cameras)
    • Presets
    • - in Synology Surveillance Station predefined Presets (at PTZ-Cameras)
    • Record
    • - if recording is running = Start, if no recording is running = Stop
    • StmKey
    • - current streamkey. it can be used to open livestreams without session id
    • StmKeyUnicst
    • - Uni-cast stream path of the camera. (attribute "showStmInfoFull" has to be set)
    • StmKeymjpegHttp
    • - Mjpeg stream path(over http) of the camera (attribute "showStmInfoFull" has to be set)
    • StmKeyUnicst
    • - Uni-cast stream path of the camera. (showStmInfoFull has to be set)
    • StmKeymjpegHttp
    • - Mjpeg stream path(over http) of the camera (showStmInfoFull has to be set)
    • SVScustomPortHttp
    • - Customized port of Surveillance Station (HTTP) (to get with "svsinfo")
    • SVScustomPortHttps
    • - Customized port of Surveillance Station (HTTPS) (to get with "svsinfo")
    • SVSlicenseNumber
    • - The total number of installed licenses (to get with "svsinfo")
      - + @@ -14372,17 +14387,17 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      - Die Gestaltung kann durch HTML-Tags im Attribut htmlattr im Kameradevice oder mit den + Die Gestaltung kann durch HTML-Tags im Attribut htmlattr im Kameradevice oder mit den spezifischen Attributen im Streaming-Device beeinflusst werden.

      Streaming Device "hls"

      Das Streaming-Device vom Typ "hls" verwendet die Bibliothek hls.js zur Bildverarbeitung und ist auf allen Browsern mit - MediaSource extensions (MSE) lauffähig. Mit dem Attribut "hlsNetScript" kann bestimmt werden, ob + MediaSource extensions (MSE) lauffähig. Mit dem Attribut hlsNetScript kann bestimmt werden, ob die lokal installierte hls.js (./www/pgm2/sscam_hls.js) oder immer die aktuellste Bibliotheksversion von der hls.js Projektseite verwendet werden soll. Dieses Attribut ist zentral in einem Device vom Typ "SVS" zu setzen !
      - Bei Verwendung dieses Streamingdevices ist zwingend das Attribut "hlsStrmObject" im verbundenen + Bei Verwendung dieses Streamingdevices ist zwingend das Attribut hlsStrmObject im verbundenen Kamera-Device (siehe Internal PARENT) anzugeben.

      @@ -14438,7 +14453,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Es wird ein separates PTZ-Steuerungspaneel (Type SSCamSTRM) erstellt. Es wird der aktuelle Raum des Kameradevice zugewiesen sofern dort gesetzt (default "SSCam"). - Mit den "ptzPanel_.*"-Attributen bzw. den spezifischen Attributen des erzeugten + Mit den "ptzPanel_.*"-Attributen bzw. den spezifischen Attributen des erzeugten SSCamSTRM-Devices können die Eigenschaften des PTZ-Paneels beeinflusst werden.


      @@ -14457,7 +14472,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Es wird eine Schnappschußgallerie als separates Device (Type SSCamSTRM) erzeugt. Das Device wird im Raum "SSCam" erstellt. - Mit den "snapGallery..."-Attributen bzw. den spezifischen Attributen des erzeugten SSCamSTRM-Devices + Mit den "snapGallery..."-Attributen bzw. den spezifischen Attributen des erzeugten SSCamSTRM-Devices können die Eigenschaften der Schnappschußgallerie beeinflusst werden.

      @@ -14473,7 +14488,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
    • credentials <username> <password>     (gilt für CAM/SVS)

    • Setzt Username / Passwort für den Zugriff auf die Synology Surveillance Station. - Siehe Credentials
      + Siehe Credentials


      @@ -14488,23 +14503,24 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        - -
      • disable     (gilt für CAM)
        + +
      • disableCam     (gilt für CAM)
        Deaktiviert die Kamera in der Synology Surveillance Station.


        - -
      • enable     (gilt für CAM)
        + +
      • enableCam     (gilt für CAM)
        Aktiviert die Kamera in der Synology Surveillance Station.


        -
      • expmode [day|night|auto]     (gilt für CAM)

      • + +
      • expmode [day|night|auto]     (gilt für CAM)
        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.

        @@ -14513,8 +14529,9 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Die erfolgreiche Ausführung dieser Funktion ist davon abhängig ob die SVS diese Funktionalität der Kamera unterstützt. Ist in SVS -> IP-Kamera -> Optimierung -> Belichtungsmodus das Feld für den Tag/Nachtmodus grau hinterlegt, ist nicht von einer lauffähigen Unterstützung dieser Funktion auszugehen. -

        +
      +

      • extevent [ 1-10 ]     (gilt für SVS)

      • @@ -14530,7 +14547,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

          - +
        • goAbsPTZ [ X Y | up | down | left | right ]     (gilt für CAM)
          Mit diesem Kommando wird eine PTZ-Kamera in Richtung einer wählbaren absoluten X/Y-Koordinate bewegt, oder zur maximalen @@ -14614,7 +14631,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
          - +
        • motdetsc [camera [<options>] | SVS [<options>] | disable]     (gilt für CAM)
          Der Befehl schaltet die Bewegungserkennung in den gewünschten Modus. @@ -14655,7 +14672,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Die jeweils verfügbaren Optionen unterliegen der Funktion der Kamera und der Unterstützung durch die SVS. Es können jeweils nur die Optionen genutzt werden die in SVS -> Kamera bearbeiten -> Ereigniserkennung zur Verfügung stehen. Weitere Infos sind der Online-Hilfe zur SVS zu entnehmen.

          - Über den Befehl "get <name> caminfoall" wird auch das Reading "CamMotDetSc" aktualisiert welches die gegenwärtige Einstellung der Bewegungserkennung dokumentiert. + Über den Befehl "get <name> caminfoall" wird auch das Reading "CamMotDetSc" aktualisiert welches die gegenwärtige Einstellung der Bewegungserkennung dokumentiert. Es werden nur die Parameter und Parameterwerte angezeigt, welche die SVS aktiv unterstützt. Die Kamera selbst kann weiterführende Einstellmöglichkeiten besitzen.

          Beipiel: @@ -14735,21 +14752,21 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        - Ein Synology Chat Versand der Aufnahme kann durch Setzen des recChatTxt Attributs permanent aktiviert + Ein Synology Chat Versand der Aufnahme kann durch Setzen des recChatTxt Attributs permanent aktiviert werden. Das zu verwendende SSChatBot-Device muss natürlich funktionstüchtig eingerichtet sein.
        Der Text im Attribut "recChatTxt" kann durch die Spezifikation des optionalen "recChatTxt:"-Tags, wie oben gezeigt, temporär überschrieben bzw. geändert werden. Sollte das Attribut "recChatTxt" nicht gesetzt sein, wird durch Angabe dieses Tags der Versand mit Synology Chat einmalig aktiviert. (die Tag-Syntax entspricht dem "recChatTxt"-Attribut)

        - Ein Email-Versand der letzten Aufnahme kann durch Setzen des Attributs "recEmailTxt" - aktiviert werden. Zuvor ist der Email-Versand, wie im Abschnitt Einstellung Email-Versand beschrieben, + Ein Email-Versand der letzten Aufnahme kann durch Setzen des recEmailTxt + 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)
        Alternativ kann durch Verwendung des optionalen "recEmailTxt:"-Tags der Email-Versand der gestarteten Aufnahme nach deren Beendigung aktiviert werden. Sollte das Attribut "recEmailTxt" bereits gesetzt sein, wird der Text des "recEmailTxt:"-Tags anstatt des Attribut-Textes verwendet.

        - Ein Telegram-Versand der letzten Aufnahme kann durch Setzen des Attributs "recTelegramTxt" permanent aktiviert + Ein Telegram-Versand der letzten Aufnahme kann durch Setzen des recTelegramTxt permanent aktiviert werden. Das zu verwendende TelegramBot-Device muss natürlich funktionstüchtig eingerichtet sein.
        Der Text im Attribut "recTelegramTxt" kann durch die Spezifikation des optionalen "recTelegramTxt:"-Tags, wie oben @@ -14759,7 +14776,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Beispiele :
        set <name> on [rectime]
        # startet die Aufnahme der Kamera <name>, automatischer Stop der Aufnahme nach Ablauf der Zeit [rectime] - (default 15s oder wie im Attribut "rectime" angegeben)

        + (default 15s oder wie im rectime angegeben)

        set <name> on 0
        # startet eine Daueraufnahme die mit "off" gestoppt werden muss.

        @@ -14855,7 +14872,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Der Befehl "set <name> runView lastsnap_fw" zeigt den letzten Schnappschuss der Kamera eingebettet an.
        Durch Angabe des optionalen Raumes bei "lastrec_open" erfolgt die gleiche Einschränkung wie bei "live_open".
        - Die Gestaltung der Fenster im FHEMWEB kann durch HTML-Tags im Attribut "htmlattr" beeinflusst werden. + Die Gestaltung der Fenster im FHEMWEB kann durch HTML-Tags im htmlattr Attribut beeinflusst werden.

        Beispiel:
        @@ -14870,7 +14887,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Dabei wird für jede aktive FHEMWEB-Session eine Fensteröffnung initiiert. Soll dieses Verhalten geändert werden, kann "set <name> runView live_open <room>" verwendet werden um das Öffnen des Browserfensters in einem beliebigen, in einer FHEMWEB-Session aktiven Raum "<room>", zu initiieren.
        - Das gesetzte Attribut "livestreamprefix" überschreibt im Reading "LiveStreamUrl" + Das gesetzte livestreamprefix Attribut überschreibt im Reading "LiveStreamUrl" die Angaben für Protokoll, Servername und Port. Damit kann z.B. die LiveStreamUrl für den Versand und externen Zugriff auf die SVS modifiziert werden.

        @@ -14955,28 +14972,28 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR 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 Readings "LastSnapId" bzw. "LastSnapFilename" in der Kamera gespeichert.
        - Um die Daten der letzen 1-10 Schnappschüsse zu versionieren, kann das Attribut "snapReadingRotate" + Um die Daten der letzen 1-10 Schnappschüsse zu versionieren, kann das snapReadingRotate Attribute verwendet werden.

        - Ein Synology Chat Versand der Schnappschüsse kann durch Setzen des Attributs snapChatTxt permanent aktiviert + Ein Synology Chat Versand der Schnappschüsse kann durch Setzen des Attributs snapChatTxt permanent aktiviert werden. Das zu verwendende SSChatBot-Device muss natürlich funktionstüchtig eingerichtet sein.
        Der Text im Attribut "snapChatTxt" kann durch die Spezifikation des optionalen "snapChatTxt:"-Tags, wie oben gezeigt, temporär überschrieben bzw. geändert werden. Sollte das Attribut "snapChatTxt" nicht gesetzt sein, wird durch Angabe dieses Tags der SSChatBot-Versand einmalig aktiviert (die Syntax entspricht dem "snapChatTxt"-Attribut).
        - In jedem Fall ist vorher das Attribut videofolderMap zu setzen. Es muß eine URL zum + In jedem Fall ist vorher das Attribut videofolderMap zu setzen. Es muß eine URL zum root-Verzeichnis der Aufnahmen und Schnappschüssen enthalten ( z.B. http://server.mein:8081/surveillance ).

        - Ein Email-Versand der Schnappschüsse kann durch Setzen des Attributs snapEmailTxt permanent aktiviert - werden. Zuvor ist der Email-Versand, wie im Abschnitt Einstellung Email-Versand beschrieben, + Ein Email-Versand der Schnappschüsse kann durch Setzen des Attributs snapEmailTxt permanent 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)
        Der Text im Attribut "snapEmailTxt" kann durch die Spezifikation des optionalen "snapEmailTxt:"-Tags, wie oben gezeigt, temporär überschrieben bzw. geändert werden. Sollte das Attribut "snapEmailTxt" nicht gesetzt sein, wird durch Angabe dieses Tags der Email-Versand einmalig aktiviert. (die Tag-Syntax entspricht dem "snapEmailTxt"-Attribut)

        Ein Telegram-Versand der Schnappschüsse kann durch Setzen des Attributs - snapTelegramTxt permanent aktiviert werden. + snapTelegramTxt permanent aktiviert werden. Das zu verwendende TelegramBot-Device muss natürlich funktionstüchtig eingerichtet sein.
        Der Text im Attribut "snapTelegramTxt" kann durch die Spezifikation des optionalen "snapTelegramTxt:"-Tags, wie oben @@ -15004,10 +15021,10 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR (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 + Ein Email-Versand der Schnappschüsse kann durch Setzen des Attributes snapEmailTxt im SVS-Device UND 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 Einstellung Email-Versand beschrieben, + 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 in der erstellten Email verwendet. Der Text im Attribut "snapEmailTxt" der einzelnen Kameras wird ignoriert !!

        @@ -15022,21 +15039,22 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

          -
        • snapGallery [1-10]     (gilt für CAM)

        • +
        • snapGallery [1-10]     (gilt für CAM)
          Der Befehl ist nur vorhanden wenn das Attribut "snapGalleryBoost=1" gesetzt wurde. - Er erzeugt eine Ausgabe der letzten [x] Schnappschüsse ebenso wie "get <name> snapGallery". Abweichend von "get" wird mit Attribut - Attribut "snapGalleryBoost=1" kein Popup erzeugt, sondern die Schnappschußgalerie als Browserseite - dargestellt. Alle weiteren Funktionen und Attribute entsprechen dem "get <name> snapGallery" Kommando.
          + Er erzeugt eine Ausgabe der letzten [x] Schnappschüsse ebenso wie "get <name> snapGallery". + Abweichend von "get" wird mit Attribut snapGalleryBoost=1 kein + Popup erzeugt, sondern die Schnappschußgalerie als Browserseite dargestellt. Alle weiteren Funktionen und Attribute + entsprechen dem "get <name> snapGallery" Kommando.
          Wenn die Ausgabe einer Schnappschußgalerie, z.B. über ein "at oder "notify", getriggert wird, sollte besser das - "get <name> snapGallery" Kommando anstatt "set" verwendet werden. + "get <name> snapGallery" Kommando anstatt "set" verwendet werden.

          Hinweis
          Die Namen der Kameras in der SVS sollten sich nicht stark ähneln, da es ansonsten zu Ungenauigkeiten beim Abruf der Schnappschußgallerie kommen kann. -
        +

          @@ -15060,7 +15078,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

        - + Get

          @@ -15069,7 +15087,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Drop-Down-Menü des jeweiligen Devices zur Auswahl zur Verfügung.

            - +
          • apiInfo
            Ruft die API Informationen der Synology Surveillance Station ab und öffnet ein Popup mit diesen Informationen. @@ -15092,10 +15110,10 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
            • eventlist     (gilt für CAM)

            • - Es wird das Reading "CamEventNum" und "CamLastRec" + Es wird das Reading "CamEventNum" und "CamLastRec" aktualisiert, welches die Gesamtanzahl der registrierten Kameraevents und den Pfad / Namen der letzten Aufnahme enthält. Dieser Befehl wird implizit mit "get <name> caminfoall" ausgeführt.
              - Mit dem Attribut "videofolderMap" kann der Inhalt des Readings "VideoFolder" überschrieben werden. + Mit dem videofolderMap Attribut kann der Inhalt des Readings "VideoFolder" überschrieben werden. Dies kann von Vortel sein wenn das Surveillance-Verzeichnis der SVS an dem lokalen PC unter anderem Pfadnamen gemountet ist und darüber der Zugriff auf die Aufnahmen erfolgen soll (z.B. Verwendung bei Email-Versand).

              @@ -15115,7 +15133,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

                - +
              • listLog [severity:<Loglevel>] [limit:<Zeilenzahl>] [match:<Suchstring>]     (gilt für SVS)
                Ruft das Surveillance Station Log vom Synology Server ab. Ohne Angabe der optionalen Zusätze wird das gesamte Log abgerufen.
                @@ -15140,7 +15158,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              - Wurde mit dem Attribut pollcaminfoall das Polling der SVS aktiviert, wird das Reading + Wurde mit dem Attribut pollcaminfoall das Polling der SVS aktiviert, wird das Reading "LastLogEntry" erstellt.
              Im Protokoll-Setup der SVS kann man einstellen was protokolliert werden soll. Für weitere Informationen siehe Synology Online-Hlfe. @@ -15197,35 +15215,36 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

                -
              • snapGallery [1-10]     (gilt für CAM)

              • +
              • snapGallery [1-10]     (gilt für CAM)

              • - Es wird ein Popup mit den letzten [x] Schnapschüssen erzeugt. Ist das Attribut "snapGalleryBoost" gesetzt, + Es wird ein Popup mit den letzten [x] Schnapschüssen erzeugt. Ist das snapGalleryBoost Attribut gesetzt, werden die letzten Schnappschüsse (default 3) über Polling abgefragt und im Speicher gehalten. Das Verfahren hilft die Ausgabe zu beschleunigen, kann aber möglicherweise nicht den letzten Schnappschuß anzeigen, falls dieser NICHT über das Modul ausgelöst wurde.
                Diese Funktion kann ebenfalls, z.B. mit "at" oder "notify", getriggert werden. Dabei wird die Schnappschußgalerie auf allen verbundenen FHEMWEB-Instanzen als Popup angezeigt.

                - Zur weiteren Steuerung dieser Funktion stehen die Attribute:

                + Zur weiteren Steuerung dieser Funktion stehen die Attribute:


                zur Verfügung.

              -
                - Hinweis:
                - Abhängig von der Anzahl und Auflösung (Qualität) der Schnappschuß-Images werden entsprechend ausreichende CPU und/oder - RAM-Ressourcen benötigt. Die Namen der Kameras in der SVS sollten sich nicht stark ähneln, da es ansonsten zu - Ungnauigkeiten beim Abruf der Schnappschußgallerie kommen kann. -
              -

              +
                + Hinweis:
                + Abhängig von der Anzahl und Auflösung (Qualität) der Schnappschuß-Images werden entsprechend ausreichende CPU und/oder + RAM-Ressourcen benötigt. Die Namen der Kameras in der SVS sollten sich nicht stark ähneln, da es ansonsten zu + Ungnauigkeiten beim Abruf der Schnappschußgallerie kommen kann. +
              +

                +
              • snapfileinfo     (gilt für CAM)

              • Es wird der Filename des letzten Schnapschusses ermittelt. Der Befehl wird implizit mit "get <name> snap" @@ -15246,7 +15265,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR 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). - Wenn das Attribut "showStmInfoFull" gesetzt ist, werden zusaätzliche Stream-Informationen wie "StmKeyUnicst", "StmKeymjpegHttp" ausgegeben. + Wenn das showStmInfoFull Attribut gesetzt ist, werden zusaätzliche Stream-Informationen wie "StmKeyUnicst", "StmKeymjpegHttp" ausgegeben. Diese Readings enthalten die gültigen Stream-Pfade zu einem Livestream und können z.B. versendet und von einer entsprechenden Anwendung ohne session Id geöffnet werden. Wenn das Attribut "livestreamprefix" (Format: "http(s)://<hostname><port>) gesetzt ist, wird der Servername und Port überschrieben soweit es sinnvoll ist. Wird Polling der Kameraeigenschaften genutzt, wird die stmUrlPath-Funktion automatisch mit ausgeführt. @@ -15298,7 +15317,7 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta


              - + Einstellung Email-Versand

                Schnappschüsse und Aufnahmen können nach der Erstellung per Email versendet werden. Dazu enthält das @@ -15317,7 +15336,7 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta Die Credentials für den Zugang zum Email-Server müssen mit dem Befehl "set <name> smtpcredentials <user> <password>" 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. + Ist das Attribut smtpSSLPort definiert, erfolgt der Verbindungsaufbau zum Email-Server sofort verschlüsselt.

                Optionale Attribute sind gekennzeichnet:

                @@ -15359,8 +15378,6 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta

              - Zur näheren Erläuterung siehe Beschreibung der Attribute.

              - Erläuterung der Platzhalter:

                @@ -15377,16 +15394,16 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta


              - + Polling der Kamera/SVS-Eigenschaften:

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

                - Das Attribut pollcaminfoall wird durch einen Watchdog-Timer überwacht. Änderungen des Attributwertes werden alle 90 Sekunden ausgewertet und entsprechend umgesetzt.
                - Eine Änderung des Pollingstatus / Pollingintervalls wird im FHEM-Logfile protokolliert. Diese Protokollierung kann durch Setzen des Attributes pollnologging=1 abgeschaltet werden.
                + Das Attribut pollcaminfoall wird durch einen Watchdog-Timer überwacht. Änderungen des Attributwertes werden alle 90 Sekunden ausgewertet und entsprechend umgesetzt.
                + Eine Änderung des Pollingstatus / Pollingintervalls wird im FHEM-Logfile protokolliert. Diese Protokollierung kann durch Setzen des Attributes pollnologging=1 abgeschaltet werden.
                Dadurch kann ein unnötiges Anwachsen des Logs vermieden werden. Ab verbose=4 wird allerdings trotz gesetzten "pollnologging"-Attribut ein Log des Pollings
                zu Analysezwecken aktiviert.

                @@ -15400,14 +15417,14 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta

              - Die Bedeutung der Readingwerte ist unter Readings beschrieben.

              + Die Bedeutung der Readingwerte ist unter Readings beschrieben.

              Hinweise:

              Wird Polling eingesetzt, sollte das Intervall nur so kurz wie benötigt eingestellt werden da die ermittelten Werte überwiegend statisch sind.
              Das eingestellte Intervall sollte nicht kleiner sein als die Summe aller HTTP-Verarbeitungszeiten. Pro Pollingaufruf und Kamera werden ca. 10 - 20 Http-Calls gegen die Surveillance Station abgesetzt.

              - Bei einem eingestellten HTTP-Timeout (siehe httptimeout) von 4 Sekunden kann die theoretische Verarbeitungszeit nicht höher als 80 Sekunden betragen.
              + Bei einem eingestellten HTTP-Timeout (siehe httptimeout) von 4 Sekunden kann die theoretische Verarbeitungszeit nicht höher als 80 Sekunden betragen.
              In dem Beispiel sollte man das Pollingintervall mit einem Sicherheitszuschlag auf nicht weniger 160 Sekunden setzen.
              Ein praktikabler Richtwert könnte zwischen 600 - 1800 (s) liegen.
              @@ -15417,7 +15434,7 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta


            - + Internals

              Die Bedeutung der verwendeten Internals stellt die nachfolgende Liste dar:

              @@ -15437,13 +15454,13 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
            - + Attribute

                - +
              • cacheServerParam
                Angabe der Verbindungsparameter zu einem zentralen Datencache.

                @@ -15455,7 +15472,7 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta

              • - +
              • cacheType
                Legt den zu verwendenden Cache für die Speicherung von Schnappschüssen, Aufnahmen und anderen Massendaten fest. (Default: internal).
                @@ -15477,22 +15494,22 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta

              • - +
              • debugactivetoken
                Wenn gesetzt, wird der Status des Active-Tokens gelogged - nur für Debugging, nicht im normalen Betrieb benutzen !

              • - +
              • debugCachetime
                Zeigt die verbrauchte Zeit für Cache-Operationen an.

              • - +
              • disable
                deaktiviert das Gerätemodul bzw. die Gerätedefinition

              • - +
              • genericStrmHtmlTag
                Das Attribut enthält HTML-Tags zur Video-Spezifikation in einem Streaming-Device von Typ "generic". (siehe "set <name> createStreamDev generic")

                @@ -15515,12 +15532,12 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • httptimeout
                Timeout-Wert für HTTP-Aufrufe zur Synology Surveillance Station.
                (default: 20 Sekunden)

              • - +
              • hlsNetScript     (setzbar in Device Model "SVS")
                Wenn gesetzt, wird die aktuellste hls.js Version von der Projektseite verwendet (Internetverbindung nötig).
                @@ -15529,7 +15546,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Dieses Attribut wird in einem Device vom Model "SVS" gesetzt und gilt zentral für alle Streaming Devices !

              • - +
              • hlsStrmObject
                Wurde ein Streaming Device mit "set <name> createStreamDev hls" definiert, muss mit diesem Attribut der Link zum Wiedergabeobjekt bekannt gemacht werden.
                @@ -15553,7 +15570,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              • - +
              • htmlattr
                ergänzende Angaben zur Inline-Bilddarstellung um das Verhalten wie Bildgröße zu beeinflussen.

                @@ -15564,7 +15581,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              • - +
              • livestreamprefix
                Überschreibt die Angaben zu Protokoll, Servernamen und Port in StmKey.*-Readings bzw. der Livestreamadresse zur Weiterverwendung z.B. als externer Link.
                @@ -15582,11 +15599,11 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • loginRetries
                Setzt die Anzahl der Login-Wiederholungen im Fehlerfall (default = 3)

              • - +
              • noQuotesForSID
                Dieses Attribut entfernt Quotes für SID bzw. der StmKeys. Es kann in bestimmten Fällen die Fehlermeldung "402 - permission denied" oder "105 - Insufficient user privilege" @@ -15594,37 +15611,37 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR (default: 0)

              • - +
              • pollcaminfoall
                Intervall der automatischen Eigenschaftsabfrage (Polling) einer Kamera (<= 10: kein Polling, > 10: Polling mit Intervall)

              • - +
              • pollnologging
                "0" bzw. nicht gesetzt = Logging Gerätepolling aktiv (default), "1" = Logging Gerätepolling inaktiv

              • - +
              • ptzNoCapPrePat
                Manche PTZ-Kameras können trotz ihrer PTZ-Fähigkeiten keine Presets und Patrols speichern. Um Fehler und entsprechende Logmeldungen zu vermeiden, kann in diesen Fällen das Attribut ptzNoCapPrePat gesetzt werden. Dem System wird eine fehlende Preset / Patrol Fähigkeit mitgeteilt.

              • - +
              • ptzPanel_Home
                Im PTZ-Steuerungspaneel wird dem Home-Icon (im Attribut "ptzPanel_row02") automatisch der Wert des Readings "PresetHome" zugewiesen. Mit "ptzPanel_Home" kann diese Zuweisung mit einem Preset aus der verfügbaren Preset-Liste geändert werden.

              • - +
              • ptzPanel_iconPath
                Pfad für Icons im PTZ-Steuerungspaneel, default ist "www/images/sscam". Der Attribut-Wert wird für alle Icon-Dateien außer *.svg verwendet.
                Für weitere Information bitte "get <name> versionNotes 2,6" ausführen.

              • - +
              • ptzPanel_iconPrefix
                Prefix für Icon-Dateien im PTZ-Steuerungspaneel, default ist "black_btn_". Der Attribut-Wert wird für alle Icon-Dateien außer *.svg verwendet.
                @@ -15632,7 +15649,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR Attributen "ptzPanel_row[00-09]" nur noch mit dem darauf folgenden Teilstring, z.B. "CAMDOWN.png" benannt zu werden.

              • - +
              • ptzPanel_row[00-09] <command>:<icon>,<command>:<icon>,...
                Für PTZ-Kameras werden automatisch die Attribute "ptzPanel_row00" bis "ptzPanel_row04" zur Verwendung im PTZ-Steuerungspaneel angelegt.
                @@ -15660,7 +15677,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • ptzPanel_use
                Die Anzeige des PTZ-Steuerungspaneels in der Detailanzeige bzw. innerhalb eines generierten Streamdevice wird ein- bzw. ausgeschaltet (default ein).
                @@ -15669,10 +15686,10 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR (z.B. "attr WEB iconPath default:fhemSVG:openautomation:sscam").

              • - +
              • recChatTxt chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]
                Aktiviert den permanenten Versand von Aufnahmen nach deren Erstellung per Synology Chat.
                - Vor der Aktivierung ist das Attribut videofolderMap zu setzen. Es muß eine URL zum + Vor der Aktivierung ist das Attribut videofolderMap zu setzen. Es muß eine URL zum root-Verzeichnis der Aufnahmen und Schnappschüsse enthalten ( z.B. http://server.mein:8081/surveillance ).
                Das Attribut recChatTxt muß in der angegebenen Form definiert werden. Im Schlüssel "chatbot" ist das SSChatBot-Device anzugeben, welches für den Versand der Daten verwendet werden soll. @@ -15703,7 +15720,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • recEmailTxt subject => <Betreff-Text>, body => <Mitteilung-Text>
                Aktiviert den Emailversand von Aufnahmen nach deren Erstellung.
                Das Attribut muß in der angegebenen Form definiert werden.
                @@ -15728,7 +15745,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              • - +
              • recTelegramTxt tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Text>], option => [silent]
                Aktiviert den permanenten Versand von Aufnahmen nach deren Erstellung per TelegramBot.
                Das Attribut muß in der angegebenen Form definiert werden. @@ -15776,25 +15793,25 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • rectime
                festgelegte Aufnahmezeit wenn eine Aufnahme gestartet wird. Mit rectime = 0 wird eine Endlosaufnahme gestartet. Ist "rectime" nicht gesetzt, wird der Defaultwert von 15s verwendet.

              • - +
              • recextend
                "rectime" einer gestarteten Aufnahme wird neu gesetzt. Dadurch verlängert sich die Aufnahemzeit einer laufenden Aufnahme

              • - +
              • session
                Auswahl der Login-Session. Nicht gesetzt oder "DSM" -> session wird mit DSM aufgebaut (Standard). "SurveillanceStation" -> Session-Aufbau erfolgt mit SVS.
                Um eine Session mit der Surveillance Station aufzubauen muss ein Nutzer mit passenden Privilegien Profil in der SVS angelegt werden. Für weitere Informationen bitte "get <name> versionNotes 5" ausführen.

              • - +
              • simu_SVSversion
                Es wird ein logisches "Downgrade" auf die angegebene SVS-Version ausgeführt. Das Attribut ist hilfreich um eventuell bei einem Update/Upgrade der Synology Surveillance Station auftretende Inkompatibilitäten temporär zu eliminieren. @@ -15802,60 +15819,60 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • smtpHost <Hostname>
                Gibt den Hostnamen oder die IP-Adresse des Postausgangsservers für den Emailversand an (z.B. securesmtp.t-online.de).

              • - +
              • smtpCc <name>@<domain>[, <name>@<domain>][, <name>@<domain>]...
                Optionale zusätzliche Empfängeradresse(n) für den Email-Versand. Mehrere Adressen müssen durch "," getrennt werden.

              • - +
              • smtpDebug
                Schaltet den Debugging-Modus der Verbindung zum Email-Server ein (wenn Email Versand verwendet wird).

              • - +
              • smtpFrom <name>@<domain>
                Absenderadresse bei Verwendung des Emailversands.

              • - +
              • smtpPort <Port>
                Optionale Angabe Standard-SMTP-Port des Postausgangsservers (default: 25).

              • - +
              • smtpSSLPort <Port>
                Optionale Angabe SSL Port des Postausgangsservers (default: 465). Ist dieses Attribut gesetzt, erfolgt die Verbindung zum Email-Server sofort verschlüsselt.

              • - +
              • smtpTo <name>@<domain>[, <name>@<domain>][, <name>@<domain>]...
                Empfängeradresse(n) für den Email-Versand. Mehrere Adressen müssen durch "," getrennt werden.

              • - +
              • smtpNoUseSSL
                Soll keine Email SSL-Verschlüsselung genutzt werden, ist dieses Attribut auf "1" zu setzen (default: 0).

              • - +
              • snapChatTxt chatbot => <SSChatBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>]
                Aktiviert den permanenten Versand von Schnappschüssen nach deren Erstellung per Synology Chat. Wurden mehrere Schnappschüsse ausgelöst, werden sie sequentiell versendet.
                - Vor der Aktivierung ist das Attribut videofolderMap zu setzen. Es muß eine URL zum + Vor der Aktivierung ist das Attribut videofolderMap zu setzen. Es muß eine URL zum root-Verzeichnis der Aufnahmen und Schnappschüsse enthalten ( z.B. http://server.mein:8081/surveillance ).
                Das Attribut snapChatTxt muß in der angegebenen Form definiert werden. Im Schlüssel "chatbot" ist das SSChatBot-Device anzugeben, welches für den Versand der Daten verwendet werden soll. @@ -15886,7 +15903,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

              • - +
              • snapEmailTxt subject => <Betreff-Text>, body => <Mitteilung-Text>
                Aktiviert den Emailversand von Schnappschüssen nach deren Erstellung. Wurden mehrere Schnappschüsse ausgelöst, werden sie gemeinsam in einer Mail versendet.
                @@ -15912,7 +15929,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              • - +
              • snapTelegramTxt tbot => <TelegramBot-Device>, peers => [<peer1 peer2 ...>], subject => [<Betreff-Text>], option => [silent]
                Aktiviert den permanenten Versand von Schnappschüssen nach deren Erstellung per TelegramBot. Wurden mehrere Schnappschüsse ausgelöst, werden sie sequentiell versendet.
                @@ -15962,18 +15979,22 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              • - +
              • snapGalleryBoost
                Wenn gesetzt, werden die letzten Schnappschüsse (default 3) über Polling im Speicher gehalten und mit "set/get snapGallery" aufbereitet angezeigt. Dieser Modus bietet sich an wenn viele bzw. Fullsize Images angezeigt werden sollen. Ist das Attribut eingeschaltet, können bei "set/get snapGallery" keine Argumente mehr mitgegeben werden. - (siehe Attribut "snapGalleryNumber")

              • + (siehe Attribut "snapGalleryNumber").

                + + (default: 0) + +
                - +
              • snapGalleryColumns
                Die Anzahl der Snaps die in einer Reihe im Popup erscheinen sollen (default 3).

              • - +
              • snapGalleryHtmlAttr
                hiermit kann die Bilddarstellung beeinflusst werden.
                Ist das Attribut nicht gesetzt, wird das Attribut "htmlattr" verwendet.
                @@ -15986,39 +16007,39 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
              • - +
              • snapGalleryNumber
                Die Anzahl der abzurufenden Schnappschüsse (default 3).

              • - +
              • snapGallerySize
                Mit diesem Attribut kann die Qualität der Images eingestellt werden (default "Icon").
                Im Modus "Full" wird die original vorhandene Auflösung der Images abgerufen. Dies erfordert mehr Ressourcen und kann die Anzeige verlangsamen. Mit "snapGalleryBoost=1" kann die Ausgabe beschleunigt werden, da in diesem Fall die Aufnahmen über Polling abgerufen und nur noch zur Anzeige gebracht werden.

              • - +
              • snapReadingRotate 0...10
                Aktiviert die Versionierung von Schnappschußreadings (default: 0). Es wird eine fortlaufende Nummer der Readings "LastSnapFilename", "LastSnapId" und "LastSnapTime" bis zum eingestellten Wert von snapReadingRotate erzeugt und enthält die Daten der letzten X Schnappschüsse.

              • - +
              • showStmInfoFull
                zusaätzliche Streaminformationen wie LiveStreamUrl, StmKeyUnicst, StmKeymjpegHttp werden ausgegeben

              • - +
              • showPassInLog
                Wenn gesetzt, wird das verwendete Passwort im Logfile mit verbose 4 angezeigt. (default = 0)

              • - +
              • videofolderMap
                Ersetzt den Inhalt des Readings "VideoFolder". Verwendung z.B. bei gemounteten Verzeichnissen oder URL-Bereitstellung durch einen Webserver.

              • - +
              • verbose

                • @@ -16040,7 +16061,7 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR

                - + Readings

                  @@ -16101,15 +16122,15 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
      - + - - + +
      generic - das Streaming-Device gibt einen durch das Attribut genericStrmHtmlTag bestimmten Content wieder
      generic - das Streaming-Device gibt einen durch das Attribut genericStrmHtmlTag bestimmten Content wieder
      hls - das Streaming-Device gibt einen permanenten HLS Datenstrom wieder
      lastsnap - das Streaming-Device zeigt den neuesten Schnappschuß an
      mjpeg - das Streaming-Device gibt einen permanenten MJPEG Kamerastream wieder (Streamkey Methode)
    • LastSnapId[x]
    • - die ID des/der letzten Schnapschüsse
    • LastSnapTime[x]
    • - Zeitstempel des/der letzten Schnapschüsse (Format abhängig vom global Attribut "language")
    • LastUpdateTime
    • - Datum / Zeit der letzten Aktualisierung durch "caminfoall" (Format abhängig vom global Attribut "language")
    • LiveStreamUrl
    • - die LiveStream-Url wenn der Stream gestartet ist. (Attribut "showStmInfoFull" muss gesetzt sein)
    • LiveStreamUrl
    • - die LiveStream-Url wenn der Stream gestartet ist. (showStmInfoFull muss gesetzt sein)
    • Patrols
    • - in Surveillance Station voreingestellte Überwachungstouren (bei PTZ-Kameras)
    • PollState
    • - zeigt den Status des automatischen Pollings an
    • PresetHome
    • - Name der Home-Position (bei PTZ-Kameras)
    • Presets
    • - in Surveillance Station voreingestellte Positionen (bei PTZ-Kameras)
    • Record
    • - Aufnahme läuft = Start, keine Aufnahme = Stop
    • StmKey
    • - aktueller StreamKey. Kann zum öffnen eines Livestreams ohne Session Id genutzt werden.
    • StmKeyUnicst
    • - Uni-cast Stream Pfad der Kamera. (Attribut "showStmInfoFull" muss gesetzt sein)
    • StmKeymjpegHttp
    • - Mjpeg Stream Pfad (über http) der Kamera. (Attribut "showStmInfoFull" muss gesetzt sein)
    • StmKeyUnicst
    • - Uni-cast Stream Pfad der Kamera. (showStmInfoFull muss gesetzt sein)
    • StmKeymjpegHttp
    • - Mjpeg Stream Pfad (über http) der Kamera. (showStmInfoFull muss gesetzt sein)
    • SVScustomPortHttp
    • - benutzerdefinierter Port der Surveillance Station (HTTP) im DSM-Anwendungsportal (get mit "svsinfo")
    • SVScustomPortHttps
    • - benutzerdefinierter Port der Surveillance Station (HTTPS) im DSM-Anwendungsportal (get mit "svsinfo")
    • SVSlicenseNumber
    • - die Anzahl der installierten Kameralizenzen (get mit "svsinfo")