From dd7ac33ed8b4011cd96f4470d1689922a8e1e81a Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sun, 9 Dec 2018 15:03:29 +0000 Subject: [PATCH] 49_SSCam: contrib 7.7.0 git-svn-id: https://svn.fhem.de/fhem/trunk@17934 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/49_SSCam.pm | 13 ++++++++----- fhem/contrib/DS_Starter/49_SSCamSTRM.pm | 22 ++++++++++++---------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/fhem/contrib/DS_Starter/49_SSCam.pm b/fhem/contrib/DS_Starter/49_SSCam.pm index eba092101..093a465d8 100644 --- a/fhem/contrib/DS_Starter/49_SSCam.pm +++ b/fhem/contrib/DS_Starter/49_SSCam.pm @@ -6229,7 +6229,8 @@ sub SSCam_StreamDev($$$) { $hash->{HELPER}{STRMDEV} = $strmdev; # Name des aufrufenden SSCamSTRM-Devices $hash->{HELPER}{STRMROOM} = $FW_room?$FW_room:""; # Raum aus dem das SSCamSTRM-Device die Funktion aufrief $hash->{HELPER}{STRMDETAIL} = $FW_detail?$FW_detail:""; # Name des SSCamSTRM-Devices (wenn Detailansicht) - my $streamHash = $defs{$strmdev}; # SSCamSTRM-Devices + my $streamHash = $defs{$strmdev}; # Hash des SSCamSTRM-Devices + delete $streamHash->{HELPER}{STREAM}; # Definition Tasten my $imgblank = ""; # nicht sichtbare Leertaste @@ -6365,7 +6366,7 @@ sub SSCam_StreamDev($$$) { if($link && $wltype =~ /image|iframe|video|base64img|embed|hls/) { if($wltype =~ /image/) { - $ret .= "')\">
"; + $ret .= "')\">
" if($link); $streamHash->{HELPER}{STREAM} = ""; # Stream für "get popupStream" speichern $ret .= "$imgstop "; $ret .= $imgblank; @@ -6399,7 +6400,7 @@ sub SSCam_StreamDev($$$) { } elsif ($wltype =~ /iframe/) { $ret .= "
"; +
" if($link); $streamHash->{HELPER}{STREAM} = ""; # Stream für "get popupStream" speichern @@ -6441,13 +6442,13 @@ sub SSCam_StreamDev($$$) { $ret .= "" if(AttrVal($camname,"ptzPanel_use",0)); } } elsif($wltype =~ /base64img/) { - $ret .= "')\">
"; + $ret .= "')\">
" if($link); $streamHash->{HELPER}{STREAM} = ""; # Stream für "get popupStream" speichern $ret .= "$imgstop "; $ret .= ""; } elsif($wltype =~ /embed/) { - $ret .= "')\">"; + $ret .= "')\">" if($link); $streamHash->{HELPER}{STREAM} = ""; # Stream für "get popupStream" speichern } elsif($wltype =~ /hls/) { @@ -6530,6 +6531,8 @@ sub SSCam_composegallery ($;$$) { $hash->{HELPER}{STRMDEV} = $strmdev; # Name des aufrufenden SSCamSTRM-Devices $hash->{HELPER}{STRMROOM} = $FW_room?$FW_room:""; # Raum aus dem das SSCamSTRM-Device die Funktion aufrief $hash->{HELPER}{STRMDETAIL} = $FW_detail?$FW_detail:""; # Name des SSCamSTRM-Devices (wenn Detailansicht) + my $streamHash = $defs{$strmdev}; # Hash des SSCamSTRM-Devices + delete $streamHash->{HELPER}{STREAM}; my $cmddosnap = "cmd=set $name snap STRM"; # Snapshot auslösen mit Kennzeichnung "by STRM-Device" my $imgdosnap = ""; diff --git a/fhem/contrib/DS_Starter/49_SSCamSTRM.pm b/fhem/contrib/DS_Starter/49_SSCamSTRM.pm index 2ee90688c..9f0e60393 100644 --- a/fhem/contrib/DS_Starter/49_SSCamSTRM.pm +++ b/fhem/contrib/DS_Starter/49_SSCamSTRM.pm @@ -112,7 +112,7 @@ sub SSCamSTRM_Get($@) { my $opt = $a[1]; my $prop = $a[2]; - return if(IsDisabled($name)); + return if(IsDisabled($name) || $hash->{MODEL} =~ /ptzcontrol|snapgallery/); my $getlist = "Unknown argument $opt, choose one of ". "popupStream:noArg " @@ -127,16 +127,18 @@ sub SSCamSTRM_Get($@) { my $htmlCode = $hash->{HELPER}{STREAM}; - for (my $k=1; (defined($hash->{HELPER}{CL}{$k})); $k++ ) { - if ($hash->{HELPER}{CL}{$k}->{COMP}) { - # CL zusammengestellt (Auslösung durch Notify) - asyncOutput($hash->{HELPER}{CL}{$k}, "$htmlCode"); - } else { - # Output wurde über FHEMWEB ausgelöst - return $htmlCode; - } - } + if ($htmlCode) { + for (my $k=1; (defined($hash->{HELPER}{CL}{$k})); $k++ ) { + if ($hash->{HELPER}{CL}{$k}->{COMP}) { + # CL zusammengestellt (Auslösung durch Notify) + asyncOutput($hash->{HELPER}{CL}{$k}, "$htmlCode"); + } else { + # Output wurde über FHEMWEB ausgelöst + return $htmlCode; + } + } delete($hash->{HELPER}{CL}); + } } else { return "$getlist";