diff --git a/fhem/CHANGED b/fhem/CHANGED index 26745e688..6204effd1 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. + - feature: 49_SSCamSTRM: click on content in stream device or snap gallery + opens a popup window - new: 70_LaMetric2: add official module for LaMetric Smart Clock - feature: 73_AutoShuttersControl: change ReadingsVal to ReadingsNum for read position Reading, add setDriveReading for wiggle diff --git a/fhem/FHEM/49_SSCam.pm b/fhem/FHEM/49_SSCam.pm index dea925cd6..57dd7732d 100644 --- a/fhem/FHEM/49_SSCam.pm +++ b/fhem/FHEM/49_SSCam.pm @@ -45,6 +45,7 @@ use HttpUtils; # Versions History intern our %SSCam_vNotesIntern = ( + "7.5.0" => "02.12.2018 sub SSCam_StreamDev and SSCam_composegallery changed to use popup window ", "7.4.1" => "26.11.2018 sub composegallery deleted, SSCam_composegallery changed to get information for SSCam_refresh ", "7.4.0" => "24.11.2018 new set command \"createReadingsGroup\", versionNotes can process lists like \"2,6\", changed compatibility check, use SnapId when get information after took snapshot and sscam state-event ", "7.3.3" => "18.11.2018 change rights decsption in commandRef ", @@ -5067,13 +5068,8 @@ sub SSCam_camop_parse ($) { my $stmkey = $sk[1]; $stmkey =~ tr/"//d; # Quotes in StmKey entfernen falls noQuotesForSID gesezt - $mjpegHttp =~ tr/"//d if(AttrVal($name, "noQuotesForSID",0)); - - # Readings löschen falls sie nicht angezeigt werden sollen (showStmInfoFull) - #if (!AttrVal($name,"showStmInfoFull",0)) { - # delete($defs{$name}{READINGS}{StmKeymjpegHttp}); - #delete($defs{$name}{READINGS}{StmKeyUnicstOverHttp}); - #} + # $mjpegHttp =~ tr/"//d if(AttrVal($name, "noQuotesForSID",0)); + $mjpegHttp =~ tr/"//d; # Streaminginfos in Helper speichern $hash->{HELPER}{STMKEYMJPEGHTTP} = $mjpegHttp if($mjpegHttp); @@ -6177,9 +6173,9 @@ return; } ###################################################################################### -# Stream einer Kamera - Kamera Liveview weblink device -# API: SYNO.SurveillanceStation.VideoStreaming -# Methode: GetLiveViewPath +# Funktion für SSCamSTRM-Devices - Kamera Liveview weblink device +# API: SYNO.SurveillanceStation.VideoStreaming +# Methode: GetLiveViewPath ###################################################################################### sub SSCam_StreamDev($$$) { my ($camname,$strmdev,$fmt) = @_; @@ -6235,6 +6231,7 @@ sub SSCam_StreamDev($$$) { my $ha = AttrVal($camname, "htmlattr", 'width="500" height="325"'); # HTML Attribute der Cam $ha = AttrVal($strmdev, "htmlattr", $ha); # htmlattr mit htmattr Streaming-Device übersteuern + my $pws = AttrVal($strmdev, "popupWindowSize", ''); # Größe eines Popups my $StmKey = ReadingsVal($camname,"StmKey",undef); $ret = ""; @@ -6264,7 +6261,7 @@ sub SSCam_StreamDev($$$) { if($apiaudiostmmaxver) { # keine API "SYNO.SurveillanceStation.AudioStream" mehr ab API v2.8 $audiolink = "$proto://$serveraddr:$serverport/webapi/$apiaudiostmpath?api=$apiaudiostm&version=$apiaudiostmmaxver&method=Stream&cameraId=$camid&_sid=$sid"; } - $ret .= "
"; + $ret .= "')\">
"; if(ReadingsVal($camname, "Record", "Stop") eq "Stop") { # Aufnahmebutton endlos Start $ret .= "$imgrecendless "; @@ -6334,7 +6331,7 @@ sub SSCam_StreamDev($$$) { if($link && $wltype =~ /image|iframe|video|base64img|embed|hls/) { if($wltype =~ /image/) { - $ret .= "
"; + $ret .= "')\">
"; $ret .= "$imgstop "; $ret .= $imgblank; if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) { @@ -6363,7 +6360,7 @@ sub SSCam_StreamDev($$$) { } } elsif ($wltype =~ /iframe/) { - $ret .= "
"; $ret .= "$imgstop "; @@ -6379,7 +6376,7 @@ sub SSCam_StreamDev($$$) { } } elsif ($wltype =~ /video/) { - $ret .= "