mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 10:46:53 +00:00
49_SSCam: support of genericStrmHtmlTag attr in streaming devices
git-svn-id: https://svn.fhem.de/fhem/trunk@18744 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a9a62dd642
commit
bbad79d201
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- feature: 49_SSCam: support of genericStrmHtmlTag attr in streaming devices
|
||||||
- bugfix: DarkSky/OpenWeatherMap API fix bug with umlauts
|
- bugfix: DarkSky/OpenWeatherMap API fix bug with umlauts
|
||||||
- bugfix: 73_AutoShuttersControl: fix Bug open Window befor IsDay and closed
|
- bugfix: 73_AutoShuttersControl: fix Bug open Window befor IsDay and closed
|
||||||
IsDay
|
IsDay
|
||||||
|
@ -47,6 +47,8 @@ use Encode;
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
our %SSCam_vNotesIntern = (
|
our %SSCam_vNotesIntern = (
|
||||||
|
"8.11.0" => "25.02.2019 changed compatibility check, compatibility to SVS version 8.2.3, Popup possible for \"generic\"-Streamdevices, ".
|
||||||
|
"support for \"genericStrmHtmlTag\" in streaming devices ",
|
||||||
"8.10.1" => "19.02.2019 fix warning when starting fhem, and Forum:#97706",
|
"8.10.1" => "19.02.2019 fix warning when starting fhem, and Forum:#97706",
|
||||||
"8.10.0" => "15.02.2019 send recordings integrated by telegram, a lot of internal changes for send telegrams ",
|
"8.10.0" => "15.02.2019 send recordings integrated by telegram, a lot of internal changes for send telegrams ",
|
||||||
"8.9.2" => "05.02.2019 sub SSCam_sendTelegram changed ",
|
"8.9.2" => "05.02.2019 sub SSCam_sendTelegram changed ",
|
||||||
@ -131,6 +133,8 @@ our %SSCam_vNotesIntern = (
|
|||||||
|
|
||||||
# Versions History extern
|
# Versions History extern
|
||||||
our %SSCam_vNotesExtern = (
|
our %SSCam_vNotesExtern = (
|
||||||
|
"8.11.0" => "25.02.2019 compatibility set to SVS version 8.2.3, Popup possible for streaming devices of type \"generic\", ".
|
||||||
|
"support for \"genericStrmHtmlTag\" in streaming devices ",
|
||||||
"8.10.0" => "15.02.2019 Possibility of send recordings by telegram is integrated as well as sending snapshots ",
|
"8.10.0" => "15.02.2019 Possibility of send recordings by telegram is integrated as well as sending snapshots ",
|
||||||
"8.9.0" => "05.02.2019 A new streaming device type \"lastsnap\" was implemented. You can create such device with \"set ... createStreamDev lastsnap\". ".
|
"8.9.0" => "05.02.2019 A new streaming device type \"lastsnap\" was implemented. You can create such device with \"set ... createStreamDev lastsnap\". ".
|
||||||
"This streaming device shows the newest snapshot which was taken. ",
|
"This streaming device shows the newest snapshot which was taken. ",
|
||||||
@ -240,7 +244,7 @@ our %SSCam_vNotesExtern = (
|
|||||||
);
|
);
|
||||||
|
|
||||||
# getestete SVS-Version
|
# getestete SVS-Version
|
||||||
my $compstat = "8.2";
|
my $compstat = "8.2.3";
|
||||||
|
|
||||||
# Aufbau Errorcode-Hashes (siehe Surveillance Station Web API)
|
# Aufbau Errorcode-Hashes (siehe Surveillance Station Web API)
|
||||||
my %SSCam_errauthlist = (
|
my %SSCam_errauthlist = (
|
||||||
@ -1720,7 +1724,11 @@ sub SSCam_FWsummaryFn ($$$$) {
|
|||||||
$ret .= "<script type=\"text/javascript\" src=\"$ttjs\"></script>";
|
$ret .= "<script type=\"text/javascript\" src=\"$ttjs\"></script>";
|
||||||
|
|
||||||
if($wltype eq "image") {
|
if($wltype eq "image") {
|
||||||
$ret .= "<img src=$link $attr><br>";
|
if(SSCam_myVersion($hash) == 823 && ReadingsVal($name, "CamVideoType", "") !~ /MJPEG/) {
|
||||||
|
$ret .= "<td> <br> <b> Because SVS Version 8.2.3 is running the video format has to be set to MJPEG in SVS ! </b> <br><br>";
|
||||||
|
} else {
|
||||||
|
$ret .= "<img src=$link $attr><br>";
|
||||||
|
}
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\" onmouseover=\"Tip('$ttcmdstop')\" onmouseout=\"UnTip()\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\" onmouseover=\"Tip('$ttcmdstop')\" onmouseout=\"UnTip()\">$imgstop </a>";
|
||||||
$ret .= $imgblank;
|
$ret .= $imgblank;
|
||||||
if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
||||||
@ -1900,7 +1908,7 @@ sub SSCam_versionCheck($) {
|
|||||||
if($cs eq "false") {
|
if($cs eq "false") {
|
||||||
Log3($name, 2, "$name - WARNING - The current/simulated SVS-version ".ReadingsVal($name, "SVSversion", "").
|
Log3($name, 2, "$name - WARNING - The current/simulated SVS-version ".ReadingsVal($name, "SVSversion", "").
|
||||||
" may be incompatible with SSCam version $hash->{VERSION}. ".
|
" may be incompatible with SSCam version $hash->{VERSION}. ".
|
||||||
"For further information execute \"get <name> versionNotes 4\".");
|
"For further information execute \"get $name versionNotes 4\".");
|
||||||
}
|
}
|
||||||
|
|
||||||
InternalTimer(gettimeofday()+$rc, "SSCam_versionCheck", $hash, 0);
|
InternalTimer(gettimeofday()+$rc, "SSCam_versionCheck", $hash, 0);
|
||||||
@ -1908,6 +1916,22 @@ InternalTimer(gettimeofday()+$rc, "SSCam_versionCheck", $hash, 0);
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Liefert die bereinigte SVS-Version dreistellig xxx
|
||||||
|
###############################################################################
|
||||||
|
sub SSCam_myVersion($) {
|
||||||
|
my ($hash) = @_;
|
||||||
|
my $name = $hash->{NAME};
|
||||||
|
my $actvs = "";
|
||||||
|
|
||||||
|
my @vl = split (/-/,ReadingsVal($name, "SVSversion", ""),2);
|
||||||
|
if(@vl) {
|
||||||
|
$actvs = $vl[0];
|
||||||
|
$actvs =~ s/\.//g;
|
||||||
|
}
|
||||||
|
return $actvs;
|
||||||
|
}
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
# Username / Paßwort speichern
|
# Username / Paßwort speichern
|
||||||
# $cre = "svs" -> Credentials für SVS und Cams
|
# $cre = "svs" -> Credentials für SVS und Cams
|
||||||
@ -5621,7 +5645,7 @@ sub SSCam_camop_parse ($) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Kompatibilitätscheck
|
# Kompatibilitätscheck
|
||||||
my $avsc = $major.$minor;
|
my $avsc = $major.$minor.(($small=~/\d/)?$small:0);
|
||||||
my $avcomp = $hash->{COMPATIBILITY};
|
my $avcomp = $hash->{COMPATIBILITY};
|
||||||
$avcomp =~ s/\.//g;
|
$avcomp =~ s/\.//g;
|
||||||
|
|
||||||
@ -6740,12 +6764,14 @@ sub SSCam_ptzpanel($;$$) {
|
|||||||
my $ptz_ret;
|
my $ptz_ret;
|
||||||
my $row;
|
my $row;
|
||||||
|
|
||||||
my @vl = split (/\.|-/,ReadingsVal($name, "SVSversion", ""));
|
#my @vl = split (/\.|-/,ReadingsVal($name, "SVSversion", ""));
|
||||||
if(@vl) {
|
#if(@vl) {
|
||||||
my $actvs = $vl[0];
|
# my $actvs = $vl[0];
|
||||||
$actvs .= $vl[1];
|
# $actvs .= $vl[1];
|
||||||
return "" if($actvs <= 71);
|
# return "" if($actvs <= 71);
|
||||||
}
|
#}
|
||||||
|
|
||||||
|
return if(SSCam_myVersion($hash) <= 71);
|
||||||
|
|
||||||
$ptz_ret = "<div class=\"ptzpanel\">";
|
$ptz_ret = "<div class=\"ptzpanel\">";
|
||||||
$ptz_ret.= '<table class="rc_body">';
|
$ptz_ret.= '<table class="rc_body">';
|
||||||
@ -7039,19 +7065,23 @@ sub SSCam_StreamDev($$$) {
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($fmt =~ /mjpeg/) {
|
if ($fmt =~ /mjpeg/) {
|
||||||
if($apivideostmsmaxver) { # keine API "SYNO.SurveillanceStation.VideoStream" mehr ab API v2.8
|
if(SSCam_myVersion($hash) == 823 && ReadingsVal($camname, "CamVideoType", "") !~ /MJPEG/) {
|
||||||
$link = "$proto://$serveraddr:$serverport/webapi/$apivideostmspath?api=$apivideostms&version=$apivideostmsmaxver&method=Stream&cameraId=$camid&format=mjpeg&_sid=$sid";
|
$ret .= "<td> <br> <b> Because SVS Version 8.2.3 is running the video format has to be set to MJPEG in SVS ! </b> <br><br>";
|
||||||
} elsif ($hash->{HELPER}{STMKEYMJPEGHTTP}) {
|
} else {
|
||||||
$link = $hash->{HELPER}{STMKEYMJPEGHTTP};
|
if($apivideostmsmaxver) {
|
||||||
|
$link = "$proto://$serveraddr:$serverport/webapi/$apivideostmspath?api=$apivideostms&version=$apivideostmsmaxver&method=Stream&cameraId=$camid&format=mjpeg&_sid=$sid";
|
||||||
|
} elsif ($hash->{HELPER}{STMKEYMJPEGHTTP}) {
|
||||||
|
$link = $hash->{HELPER}{STMKEYMJPEGHTTP};
|
||||||
|
}
|
||||||
|
if($apiaudiostmmaxver) {
|
||||||
|
$audiolink = "$proto://$serveraddr:$serverport/webapi/$apiaudiostmpath?api=$apiaudiostm&version=$apiaudiostmmaxver&method=Stream&cameraId=$camid&_sid=$sid";
|
||||||
|
}
|
||||||
|
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<img src=$link $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
|
$streamHash->{HELPER}{STREAMACTIVE} = 1 if($link); # Statusbit wenn ein Stream aktiviert ist
|
||||||
}
|
}
|
||||||
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 .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>";
|
|
||||||
$streamHash->{HELPER}{STREAM} = "<img src=$link $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
|
||||||
$streamHash->{HELPER}{STREAMACTIVE} = 1 if($link); # Statusbit wenn ein Stream aktiviert ist
|
|
||||||
|
|
||||||
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
||||||
# Aufnahmebutton endlos Start
|
# Aufnahmebutton endlos Start
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrecendless')\" onmouseover=\"Tip('$ttrecstart')\" onmouseout=\"UnTip()\">$imgrecendless </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrecendless')\" onmouseover=\"Tip('$ttrecstart')\" onmouseout=\"UnTip()\">$imgrecendless </a>";
|
||||||
@ -7093,26 +7123,31 @@ sub SSCam_StreamDev($$$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} elsif ($fmt =~ /generic/) {
|
} elsif ($fmt =~ /generic/) {
|
||||||
my $htag = AttrVal($camname,"genericStrmHtmlTag","");
|
my $htag = AttrVal($strmdev,"genericStrmHtmlTag",AttrVal($camname,"genericStrmHtmlTag",""));
|
||||||
|
|
||||||
if( $htag =~ m/^\s*(.*)\s*$/s ) {
|
if( $htag =~ m/^\s*(.*)\s*$/s ) {
|
||||||
$htag = $1;
|
$htag = $1;
|
||||||
$htag =~ s/\$NAME/$camname/g;
|
$htag =~ s/\$NAME/$camname/g;
|
||||||
$htag =~ s/\$HTMLATTR/$ha/g;
|
$htag =~ s/\$HTMLATTR/$ha/g;
|
||||||
|
$htag =~ s/\$PWS/$pws/g;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$htag) {
|
if(!$htag) {
|
||||||
$ret .= "<td> <br> <b> Set attribute \"genericStrmHtmlTag\" in device <a href=\"/fhem?detail=$camname\">$camname</a></b> <br><br></td>";
|
$ret .= "<td> <br> <b> Set attribute \"genericStrmHtmlTag\" in device <a href=\"/fhem?detail=$camname\">$camname</a> or in device <a href=\"/fhem?detail=$strmdev\">$strmdev</a></b> <br><br></td>";
|
||||||
$ret .= '</tr>';
|
$ret .= '</tr>';
|
||||||
$ret .= '</tbody>';
|
$ret .= '</tbody>';
|
||||||
$ret .= '</table>';
|
$ret .= '</table>';
|
||||||
$ret .= '</div>';
|
$ret .= '</div>';
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret .= "<td>";
|
$ret .= "<td>";
|
||||||
$ret .= "$htag";
|
$ret .= "$htag";
|
||||||
if($htag) {
|
if($htag) {
|
||||||
$streamHash->{HELPER}{STREAM} = "$htag"; # Stream für "set <SSCamSTRM-Device> popupStream" speichern
|
# Popup-Tag um den Popup-Teil bereinigen
|
||||||
|
my $ptag = $htag;
|
||||||
|
$ptag =~ m/^(\s+)?(?<b><)(\s+)?(?<heart>.*)(\s+)?(?<nh>onClick=.*)(\s+)?(?<e>>)(\s+)?$/s;
|
||||||
|
$ptag = $+{heart}?$+{b}.$+{heart}.$+{e}:$ptag;
|
||||||
|
$streamHash->{HELPER}{STREAM} = "$ptag"; # Stream für "set <SSCamSTRM-Device> popupStream" speichern
|
||||||
$streamHash->{HELPER}{STREAM} =~ s/["']//g;
|
$streamHash->{HELPER}{STREAM} =~ s/["']//g;
|
||||||
$streamHash->{HELPER}{STREAM} =~ s/\s+/ /g;
|
$streamHash->{HELPER}{STREAM} =~ s/\s+/ /g;
|
||||||
$streamHash->{HELPER}{STREAMACTIVE} = 1; # Statusbit wenn ein Stream aktiviert ist
|
$streamHash->{HELPER}{STREAMACTIVE} = 1; # Statusbit wenn ein Stream aktiviert ist
|
||||||
@ -7189,11 +7224,15 @@ sub SSCam_StreamDev($$$) {
|
|||||||
|
|
||||||
if($link && $wltype =~ /image|iframe|video|base64img|embed|hls/) {
|
if($link && $wltype =~ /image|iframe|video|base64img|embed|hls/) {
|
||||||
if($wltype =~ /image/) {
|
if($wltype =~ /image/) {
|
||||||
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>" if($link);
|
if(SSCam_myVersion($hash) == 823 && ReadingsVal($camname, "CamVideoType", "") !~ /MJPEG/) {
|
||||||
$streamHash->{HELPER}{STREAM} = "<img src=$link $pws>"; # Stream für "set <SSCamSTRM-Device> popupStream" speichern
|
$ret .= "<td> <br> <b> Because SVS Version 8.2.3 is running the video format has to be set to MJPEG in SVS ! </b> <br><br>";
|
||||||
$streamHash->{HELPER}{STREAMACTIVE} = 1 if($link); # Statusbit wenn ein Stream aktiviert ist
|
} else {
|
||||||
|
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>" if($link);
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<img src=$link $pws>"; # Stream für "set <SSCamSTRM-Device> popupStream" speichern
|
||||||
|
$streamHash->{HELPER}{STREAMACTIVE} = 1 if($link); # Statusbit wenn ein Stream aktiviert ist
|
||||||
|
}
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\" onmouseover=\"Tip('$ttcmdstop')\" onmouseout=\"UnTip()\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\" onmouseover=\"Tip('$ttcmdstop')\" onmouseout=\"UnTip()\">$imgstop </a>";
|
||||||
$ret .= $imgblank;
|
$ret .= $imgblank;
|
||||||
if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
||||||
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
||||||
# Aufnahmebutton endlos Start
|
# Aufnahmebutton endlos Start
|
||||||
@ -8815,7 +8854,7 @@ return ($str);
|
|||||||
"<a href=\"https://www.synology.com/en-global/knowledgebase/Surveillance/help/SurveillanceStation/user\">Surveillance Station online help</a> ".
|
"<a href=\"https://www.synology.com/en-global/knowledgebase/Surveillance/help/SurveillanceStation/user\">Surveillance Station online help</a> ".
|
||||||
"<br><br>",
|
"<br><br>",
|
||||||
"4" => "The message Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" means that ".
|
"4" => "The message Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" means that ".
|
||||||
"the used SSCam version was currently not tested with the installed version of Synology Surveillance Station (Reading \"SVSversion\"). ".
|
"the used SSCam version was currently not tested or (partially) incompatible with the installed version of Synology Surveillance Station (Reading \"SVSversion\"). ".
|
||||||
"The compatible SVS-Version is printed out in the Internal COMPATIBILITY.\n".
|
"The compatible SVS-Version is printed out in the Internal COMPATIBILITY.\n".
|
||||||
"<b>Actions:</b> At first please update your SSCam version. If the message does appear furthermore, please inform the SSCam Maintainer. ".
|
"<b>Actions:</b> At first please update your SSCam version. If the message does appear furthermore, please inform the SSCam Maintainer. ".
|
||||||
"To ignore this message temporary, you may reduce the verbose level of your SSCam device. ".
|
"To ignore this message temporary, you may reduce the verbose level of your SSCam device. ".
|
||||||
@ -8876,7 +8915,7 @@ return ($str);
|
|||||||
"<br><br>",
|
"<br><br>",
|
||||||
"4" => "Die Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" ist ein Hinweis darauf, dass ".
|
"4" => "Die Meldung \"WARNING - The current/simulated SVS-version ... may be incompatible with SSCam version...\" ist ein Hinweis darauf, dass ".
|
||||||
"die eingesetzte SSCam Version noch nicht mit der verwendeten Version von Synology Surveillance Station (Reading \"SVSversion\") getestet ".
|
"die eingesetzte SSCam Version noch nicht mit der verwendeten Version von Synology Surveillance Station (Reading \"SVSversion\") getestet ".
|
||||||
"wurde. Die kompatible SVS-Version ist im Internal COMPATIBILITY ersichtlich.\n".
|
"wurde oder (teilweise) mit dieser Version nicht kompatibel ist. Die kompatible SVS-Version ist im Internal COMPATIBILITY ersichtlich.\n".
|
||||||
"<b>Maßnahmen:</b> Bitte SSCam zunächst updaten. Sollte die Meldung weiterhin auftreten, bitte den SSCam Maintainer informieren. Zur ".
|
"<b>Maßnahmen:</b> Bitte SSCam zunächst updaten. Sollte die Meldung weiterhin auftreten, bitte den SSCam Maintainer informieren. Zur ".
|
||||||
"vorübergehenden Ignorierung kann der verbose Level des SSCam-Devices entsprechend reduziert werden. ".
|
"vorübergehenden Ignorierung kann der verbose Level des SSCam-Devices entsprechend reduziert werden. ".
|
||||||
"<br><br>",
|
"<br><br>",
|
||||||
@ -9216,9 +9255,15 @@ return ($str);
|
|||||||
<pre>
|
<pre>
|
||||||
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
||||||
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
||||||
</video>
|
</video>
|
||||||
|
|
||||||
|
attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||||
|
src="http://192.168.2.10:32774"
|
||||||
|
onClick="FW_okDialog('<img src=http://192.168.2.10:32774 $PWS>')"
|
||||||
|
>
|
||||||
</pre>
|
</pre>
|
||||||
The variables $HTMLATTR, $NAME are placeholder and absorb the attribute "htmlattr" (if set) respectively the SSCam-Devicename.
|
The variables $HTMLATTR, $NAME and $PWS are placeholders and absorb the attribute "htmlattr" (if set), the SSCam-Devicename
|
||||||
|
respectively the value of attribute "popupWindowSize" in streamin-device, which specify the windowsize of a popup window.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
@ -10136,13 +10181,19 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
(see also "set <name> createStreamDev generic") <br><br>
|
(see also "set <name> createStreamDev generic") <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<b>Example:</b>
|
<b>Examples:</b>
|
||||||
<pre>
|
<pre>
|
||||||
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
||||||
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
||||||
</video>
|
</video>
|
||||||
|
|
||||||
|
attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||||
|
src="http://192.168.2.10:32774"
|
||||||
|
onClick="FW_okDialog('<img src=http://192.168.2.10:32774 $PWS>')"
|
||||||
|
>
|
||||||
</pre>
|
</pre>
|
||||||
The variables $HTMLATTR, $NAME are placeholder and absorb the attribute "htmlattr" (if set) respectively the SSCam-Devicename.
|
The variables $HTMLATTR, $NAME and $PWS are placeholders and absorb the attribute "htmlattr" (if set), the SSCam-Devicename
|
||||||
|
respectively the value of attribute "popupWindowSize" in streaming-device, which specify the windowsize of a popup window.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
</li>
|
</li>
|
||||||
@ -10950,13 +11001,19 @@ attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
|||||||
spezifizieren den wiederzugebenden Content. <br><br>
|
spezifizieren den wiederzugebenden Content. <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<b>Beispiel:</b>
|
<b>Beispiele:</b>
|
||||||
<pre>
|
<pre>
|
||||||
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
||||||
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
||||||
</video>
|
</video>
|
||||||
|
|
||||||
|
attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||||
|
src="http://192.168.2.10:32774"
|
||||||
|
onClick="FW_okDialog('<img src=http://192.168.2.10:32774 $PWS >')"
|
||||||
|
>
|
||||||
</pre>
|
</pre>
|
||||||
Die Variablen $HTMLATTR, $NAME sind Platzhalter und übernehmen ein gesetztes Attribut "htmlattr" bzw. den SSCam-Devicenamen.
|
Die Variablen $HTMLATTR, $NAME und $PWS sind Platzhalter und übernehmen ein gesetztes Attribut "htmlattr", den SSCam-
|
||||||
|
Devicenamen bzw. das Attribut "popupWindowSize" im Streaming-Device, welches die Größe eines Popup-Windows festlegt.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
@ -11921,13 +11978,19 @@ http(s)://<hostname><port>/webapi/entry.cgi?api=SYNO.SurveillanceSta
|
|||||||
(siehe "set <name> createStreamDev generic") <br><br>
|
(siehe "set <name> createStreamDev generic") <br><br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<b>Beispiel:</b>
|
<b>Beispiele:</b>
|
||||||
<pre>
|
<pre>
|
||||||
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
||||||
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
||||||
</video>
|
</video>
|
||||||
|
|
||||||
|
attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||||
|
src="http://192.168.2.10:32774"
|
||||||
|
onClick="FW_okDialog('<img src=http://192.168.2.10:32774 $PWS >')"
|
||||||
|
>
|
||||||
</pre>
|
</pre>
|
||||||
Die Variablen $HTMLATTR, $NAME sind Platzhalter und übernehmen ein gesetztes Attribut "htmlattr" bzw. den SSCam-Devicenamen.
|
Die Variablen $HTMLATTR, $NAME und $PWS sind Platzhalter und übernehmen ein gesetztes Attribut "htmlattr", den SSCam-
|
||||||
|
Devicenamen bzw. das Attribut "popupWindowSize" im Streaming-Device, welches die Größe eines Popup-Windows festlegt.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
</li>
|
</li>
|
||||||
|
@ -34,6 +34,7 @@ use warnings;
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
our %SSCamSTRM_vNotesIntern = (
|
our %SSCamSTRM_vNotesIntern = (
|
||||||
|
"2.4.0" => "24.02.2019 support for \"genericStrmHtmlTag\" in streaming device MODEL generic ",
|
||||||
"2.3.0" => "04.02.2019 SSCamSTRM_Rename / SSCamSTRM_Copy added, Streaming device can now be renamed or copied ",
|
"2.3.0" => "04.02.2019 SSCamSTRM_Rename / SSCamSTRM_Copy added, Streaming device can now be renamed or copied ",
|
||||||
"2.2.1" => "19.12.2018 commandref revised ",
|
"2.2.1" => "19.12.2018 commandref revised ",
|
||||||
"2.2.0" => "13.12.2018 load sscam_hls.js, sscam_tooltip.js from pgm2 for HLS Streaming support and tooltips ",
|
"2.2.0" => "13.12.2018 load sscam_hls.js, sscam_tooltip.js from pgm2 for HLS Streaming support and tooltips ",
|
||||||
@ -75,7 +76,8 @@ sub SSCamSTRM_Initialize($) {
|
|||||||
$hash->{AttrList} = "autoRefresh:selectnumbers,120,0.2,1800,0,log10 ".
|
$hash->{AttrList} = "autoRefresh:selectnumbers,120,0.2,1800,0,log10 ".
|
||||||
"autoRefreshFW:$fwd ".
|
"autoRefreshFW:$fwd ".
|
||||||
"disable:1,0 ".
|
"disable:1,0 ".
|
||||||
"forcePageRefresh:1,0 ".
|
"forcePageRefresh:1,0 ".
|
||||||
|
"genericStrmHtmlTag ".
|
||||||
"htmlattr ".
|
"htmlattr ".
|
||||||
"hideDisplayName:1,0 ".
|
"hideDisplayName:1,0 ".
|
||||||
"popupWindowSize ".
|
"popupWindowSize ".
|
||||||
@ -205,7 +207,7 @@ sub SSCamSTRM_Attr($$$$) {
|
|||||||
# $name is device name
|
# $name is device name
|
||||||
# aName and aVal are Attribute name and value
|
# aName and aVal are Attribute name and value
|
||||||
|
|
||||||
if ($aName eq "disable") {
|
if($aName eq "disable") {
|
||||||
if($cmd eq "set") {
|
if($cmd eq "set") {
|
||||||
$do = ($aVal) ? 1 : 0;
|
$do = ($aVal) ? 1 : 0;
|
||||||
}
|
}
|
||||||
@ -215,6 +217,10 @@ sub SSCamSTRM_Attr($$$$) {
|
|||||||
readingsSingleUpdate($hash, "state", $val, 1);
|
readingsSingleUpdate($hash, "state", $val, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($aName eq "genericStrmHtmlTag" && $hash->{MODEL} ne "generic") {
|
||||||
|
return "This attribute is only usable for devices of MODEL \"generic\" ";
|
||||||
|
}
|
||||||
|
|
||||||
if ($cmd eq "set") {
|
if ($cmd eq "set") {
|
||||||
if ($aName =~ m/popupStreamTo/) {
|
if ($aName =~ m/popupStreamTo/) {
|
||||||
unless ($aVal =~ /^\d+$/ || $aVal eq "OK") { $_[3] = 5; }
|
unless ($aVal =~ /^\d+$/ || $aVal eq "OK") { $_[3] = 5; }
|
||||||
@ -385,6 +391,29 @@ Dependend of the Streaming-Device state, different buttons are provided to start
|
|||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<a name="genericStrmHtmlTag"></a>
|
||||||
|
<li><b>genericStrmHtmlTag</b> (only valid for MODEL "generic") <br>
|
||||||
|
This attribute contains HTML-Tags for video-specification in a Streaming-Device of type "generic".
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<b>Examples:</b>
|
||||||
|
<pre>
|
||||||
|
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
||||||
|
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
||||||
|
</video>
|
||||||
|
|
||||||
|
attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||||
|
src="http://192.168.2.10:32774"
|
||||||
|
onClick="FW_okDialog('<img src=http://192.168.2.10:32774 $PWS>')"
|
||||||
|
>
|
||||||
|
</pre>
|
||||||
|
The variables $HTMLATTR, $NAME and $PWS are placeholders and absorb the attribute "htmlattr" (if set), the SSCam-Devicename
|
||||||
|
respectively the value of attribute "popupWindowSize" in streaming-device, which specify the windowsize of a popup window.
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
</li>
|
||||||
|
|
||||||
<a name="hideDisplayName"></a>
|
<a name="hideDisplayName"></a>
|
||||||
<li><b>hideDisplayName</b><br>
|
<li><b>hideDisplayName</b><br>
|
||||||
Hide the device/alias name (link to detail view).
|
Hide the device/alias name (link to detail view).
|
||||||
@ -540,6 +569,29 @@ Abhängig vom Zustand des Streaming-Devices werden zum Start von Aktionen unters
|
|||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<a name="genericStrmHtmlTag"></a>
|
||||||
|
<li><b>genericStrmHtmlTag</b> (nur für MODEL "generic")<br>
|
||||||
|
Das Attribut enthält HTML-Tags zur Video-Spezifikation in einem Streaming-Device von Typ "generic".
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<b>Beispiele:</b>
|
||||||
|
<pre>
|
||||||
|
attr <name> genericStrmHtmlTag <video $HTMLATTR controls autoplay>
|
||||||
|
<source src='http://192.168.2.10:32000/$NAME.m3u8' type='application/x-mpegURL'>
|
||||||
|
</video>
|
||||||
|
|
||||||
|
attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||||
|
src="http://192.168.2.10:32774"
|
||||||
|
onClick="FW_okDialog('<img src=http://192.168.2.10:32774 $PWS >')"
|
||||||
|
>
|
||||||
|
</pre>
|
||||||
|
Die Variablen $HTMLATTR, $NAME und $PWS sind Platzhalter und übernehmen ein gesetztes Attribut "htmlattr", den SSCam-
|
||||||
|
Devicenamen bzw. das Attribut "popupWindowSize" im Streaming-Device, welches die Größe eines Popup-Windows festlegt.
|
||||||
|
</ul>
|
||||||
|
<br><br>
|
||||||
|
</li>
|
||||||
|
|
||||||
<a name="hideDisplayName"></a>
|
<a name="hideDisplayName"></a>
|
||||||
<li><b>hideDisplayName</b><br>
|
<li><b>hideDisplayName</b><br>
|
||||||
Verbirgt den Device/Alias-Namen (Link zur Detailansicht).
|
Verbirgt den Device/Alias-Namen (Link zur Detailansicht).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user