mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
49_SSCam.pm: contrib 8.17.0
git-svn-id: https://svn.fhem.de/fhem/trunk@20140 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
fc40d64a70
commit
0481e31ecf
@ -1,5 +1,5 @@
|
||||
########################################################################################################################
|
||||
# $Id: 49_SSCam.pm 19750 2019-06-30 20:34:25Z DS_Starter $
|
||||
# $Id: 49_SSCam.pm 19996 2019-08-13 21:21:54Z DS_Starter $
|
||||
#########################################################################################################################
|
||||
# 49_SSCam.pm
|
||||
#
|
||||
@ -48,6 +48,10 @@ eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
||||
|
||||
# Versions History intern
|
||||
our %SSCam_vNotesIntern = (
|
||||
"8.17.0" => "09.09.2019 fix warnings, suport hide buttons in streaming device ",
|
||||
"8.16.3" => "13.08.2019 commandref revised ",
|
||||
"8.16.2" => "17.07.2019 change function SSCam_ptzpanel using css stylesheet ",
|
||||
"8.16.1" => "16.07.2019 fix warnings ",
|
||||
"8.16.0" => "14.07.2019 change detail link generation from SSCamSTRM to SSCam ",
|
||||
"8.15.2" => "14.07.2019 fix order of snaps in snapgallery when adding new snaps, fix english date formating in composegallery, ".
|
||||
"align center of FTUI table, set compatibility to 8.2.5 ",
|
||||
@ -953,7 +957,6 @@ sub SSCam_Set($@) {
|
||||
if($spec =~ /STRM:/) {
|
||||
$spec =~ m/.*STRM:(.*).*/i; # Snap by SSCamSTRM-Device
|
||||
$hash->{HELPER}{INFORM} = $1;
|
||||
$hash->{HELPER}{SNAPBYSTRMDEV} = 1;
|
||||
}
|
||||
|
||||
my $emtxt = AttrVal($name, "snapEmailTxt", "");
|
||||
@ -1948,7 +1951,7 @@ sub SSCam_FWdetailFn ($$$$) {
|
||||
$ret .= $hash->{".setup"};
|
||||
}
|
||||
|
||||
$hash->{".ptzhtml"} = SSCam_ptzpanel($d) if($hash->{".ptzhtml"} eq "");
|
||||
$hash->{".ptzhtml"} = SSCam_ptzpanel($d,$d) if($hash->{".ptzhtml"} eq "");
|
||||
|
||||
if($hash->{".ptzhtml"} ne "" && AttrVal($d,"ptzPanel_use",1)) {
|
||||
$ret .= $hash->{".ptzhtml"};
|
||||
@ -6956,13 +6959,18 @@ sub SSCam_ptzpanel(@) {
|
||||
my $valPresets = ReadingsVal("$name","Presets","");
|
||||
my $valPatrols = ReadingsVal("$name","Patrols","");
|
||||
my $rowisset = 0;
|
||||
my $ptz_ret;
|
||||
my $row;
|
||||
my ($pbs,$pbsf) = ("","");
|
||||
my ($row,$ptz_ret);
|
||||
|
||||
return "" if(SSCam_myVersion($hash) <= 71);
|
||||
|
||||
$ptz_ret = "<div class=\"ptzpanel\">";
|
||||
$ptz_ret.= '<table class="rc_body">';
|
||||
$pbs = AttrVal($ptzcdev,"ptzButtonSize", 100); # Größe der Druckbuttons in %
|
||||
$pbsf = AttrVal($ptzcdev,"ptzButtonSizeFTUI", 100); # Größe der Druckbuttons im FTUI in %
|
||||
|
||||
$ptz_ret = "";
|
||||
$ptz_ret .= "<style>TD.ptzcontrol {padding: 5px 7px;}</style>";
|
||||
$ptz_ret .= "<style>.defsize { font-size:16px; } </style>";
|
||||
$ptz_ret .= '<table class="rc_body defsize">';
|
||||
|
||||
foreach my $rownr (0..9) {
|
||||
$rownr = sprintf("%2.2d",$rownr);
|
||||
@ -6973,7 +6981,7 @@ sub SSCam_ptzpanel(@) {
|
||||
my @btn = split (",",$row); # die Anzahl Buttons in einer Reihe
|
||||
|
||||
foreach my $btnnr (0..$#btn) {
|
||||
$ptz_ret .= '<td class="rc_button">';
|
||||
$ptz_ret .= '<td class="ptzcontrol">';
|
||||
if ($btn[$btnnr] ne "") {
|
||||
my $cmd;
|
||||
my $img;
|
||||
@ -6986,8 +6994,12 @@ sub SSCam_ptzpanel(@) {
|
||||
}
|
||||
if ($img =~ m/\.svg/) { # Verwendung für SVG's
|
||||
$img = FW_makeImage($img, $cmd, "rc-button");
|
||||
} else { # $FW_ME = URL-Pfad unter dem der FHEMWEB-Server via HTTP erreichbar ist, z.B. /fhem
|
||||
if($ftui) {
|
||||
$img = "<img src=\"$FW_ME/$iconpath/$iconprefix$img\" height=\"$pbsf%\" width=\"$pbsf%\">";
|
||||
} else {
|
||||
$img = "<img src=\"$FW_ME/$iconpath/$iconprefix$img\">"; # $FW_ME = URL-Pfad unter dem der FHEMWEB-Server via HTTP erreichbar ist, z.B. /fhem
|
||||
$img = "<img src=\"$FW_ME/$iconpath/$iconprefix$img\" height=\"$pbs%\" width=\"$pbs%\">";
|
||||
}
|
||||
}
|
||||
if ($cmd || $cmd eq "0") {
|
||||
my $cmd1 = "FW_cmd('$FW_ME$FW_subdir?XHR=1&cmd=set $name $cmd')"; # $FW_subdir = Sub-path in URL, used by FLOORPLAN/weblink
|
||||
@ -7002,9 +7014,7 @@ sub SSCam_ptzpanel(@) {
|
||||
}
|
||||
$ptz_ret .= "</tr>\n";
|
||||
}
|
||||
|
||||
$ptz_ret .= "</table>";
|
||||
$ptz_ret .= "</div>";
|
||||
|
||||
########################
|
||||
# add Preset & Patrols
|
||||
@ -7021,7 +7031,6 @@ sub SSCam_ptzpanel(@) {
|
||||
}
|
||||
if($Presets) {
|
||||
$Presets =~ s,^<td[^>]*>(.*)</td>$,$1,;
|
||||
# Log3($name, 1, "$name - commandArgs: $Presets");
|
||||
} else {
|
||||
$Presets = FW_pH "cmd.$name=set $name $cmdPreset", $cmdPreset, 0, "", 1, 1;
|
||||
}
|
||||
@ -7033,32 +7042,23 @@ sub SSCam_ptzpanel(@) {
|
||||
last if(defined($Patrols));
|
||||
}
|
||||
|
||||
# Rahmenklasse
|
||||
$ptz_ret .= "<div class=\"ptzpanel\">";
|
||||
$ptz_ret .= "<table class=\"rc_body\">";
|
||||
if($Patrols) {
|
||||
$Patrols =~ s,^<td[^>]*>(.*)</td>$,$1,;
|
||||
} else {
|
||||
$Patrols = FW_pH "cmd.$name=set $name $cmdPatrol", $cmdPatrol, 0, "", 1, 1;
|
||||
}
|
||||
|
||||
$ptz_ret .= '<table class="rc_body defsize">';
|
||||
|
||||
$ptz_ret .= "<tr>";
|
||||
$ptz_ret .= '<td class="rc_button">';
|
||||
$ptz_ret .= "<td>Preset: </td><td>$Presets</td>";
|
||||
$ptz_ret .= "</tr>";
|
||||
|
||||
# Dropdown Klasse
|
||||
$ptz_ret .= "<table class=\"webcmd\">";
|
||||
$ptz_ret .= "<tr>";
|
||||
$ptz_ret .= "<td style=\"font-size:250%;\">Preset: </td><td><div class='col3'>$Presets</div></td>";
|
||||
$ptz_ret .= "<td>Patrol: </td><td>$Patrols</td>";
|
||||
$ptz_ret .= "</tr>";
|
||||
$ptz_ret .= "</table>";
|
||||
|
||||
$ptz_ret .= "<table class=\"webcmd\">";
|
||||
$ptz_ret .= "<tr>";
|
||||
$ptz_ret .= "<td style=\"font-size:250%;\">Patrol: </td><td><div class='col3'>$Patrols</div></td>";
|
||||
$ptz_ret .= "</tr>";
|
||||
$ptz_ret .= "</table>";
|
||||
|
||||
# Rahmenklasse end
|
||||
$ptz_ret .= "</td>";
|
||||
$ptz_ret .= "</tr>";
|
||||
$ptz_ret .= "</table>";
|
||||
$ptz_ret .= "</div>";
|
||||
|
||||
#####################
|
||||
}
|
||||
|
||||
if ($rowisset) {
|
||||
@ -7230,6 +7230,8 @@ sub SSCam_StreamDev($$$;$) {
|
||||
$ha = AttrVal($strmdev, "htmlattrFTUI", $ha); # wenn aus FTUI aufgerufen divers setzen
|
||||
}
|
||||
|
||||
my $hf = AttrVal($strmdev, "hideButtons", 0); # Drucktasten im unteren Bereich ausblenden ?
|
||||
|
||||
my $pws = AttrVal($strmdev, "popupWindowSize", ""); # Größe eines Popups
|
||||
$pws =~ s/"//g if($pws);
|
||||
|
||||
@ -7317,7 +7319,7 @@ sub SSCam_StreamDev($$$;$) {
|
||||
$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(!$hf) {
|
||||
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
||||
# Aufnahmebutton endlos Start
|
||||
$ret .= "<a onClick=\"$cmdrecendless\" onmouseover=\"Tip('$ttrecstart')\" onmouseout=\"UnTip()\">$imgrecendless </a>";
|
||||
@ -7326,9 +7328,10 @@ sub SSCam_StreamDev($$$;$) {
|
||||
$ret .= "<a onClick=\"$cmdrecstop\" onmouseover=\"Tip('$ttrecstop')\" onmouseout=\"UnTip()\">$imgrecstop </a>";
|
||||
}
|
||||
$ret .= "<a onClick=\"$cmddosnap\" onmouseover=\"Tip('$ttsnap')\" onmouseout=\"UnTip()\">$imgdosnap </a>";
|
||||
}
|
||||
$ret .= "</td>";
|
||||
if(AttrVal($camname,"ptzPanel_use",1)) {
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,'','',$ftui);
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,$strmdev,'',$ftui);
|
||||
if($ptz_ret) {
|
||||
$ret .= "<td>$ptz_ret</td>";
|
||||
}
|
||||
@ -7352,7 +7355,9 @@ sub SSCam_StreamDev($$$;$) {
|
||||
} else {
|
||||
$ret .= "<td><img src='data:image/jpeg;base64,$link' $gattr><br>";
|
||||
}
|
||||
if(!$hf) {
|
||||
$ret .= "<a onClick=\"$cmddosnap\" onmouseover=\"Tip('$ttsnap')\" onmouseout=\"UnTip()\">$imgdosnap </a>";
|
||||
}
|
||||
$ret .= "</td>";
|
||||
$streamHash->{HELPER}{STREAM} = "<img src=data:image/jpeg;base64,$link $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||
$streamHash->{HELPER}{STREAMACTIVE} = 1 if($link); # Statusbit wenn ein Stream aktiviert ist
|
||||
@ -7394,6 +7399,7 @@ sub SSCam_StreamDev($$$;$) {
|
||||
}
|
||||
$ret .= "<br>";
|
||||
Log3($strmdev, 4, "$strmdev - generic Stream params:\n$htag");
|
||||
if(!$hf) {
|
||||
$ret .= "<a onClick=\"$cmdrefresh\" onmouseover=\"Tip('$ttrefresh')\" onmouseout=\"UnTip()\">$imgrefresh </a>";
|
||||
$ret .= $imgblank;
|
||||
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
||||
@ -7404,9 +7410,10 @@ sub SSCam_StreamDev($$$;$) {
|
||||
$ret .= "<a onClick=\"$cmdrecstop\" onmouseover=\"Tip('$ttrecstop')\" onmouseout=\"UnTip()\">$imgrecstop </a>";
|
||||
}
|
||||
$ret .= "<a onClick=\"$cmddosnap\" onmouseover=\"Tip('$ttsnap')\" onmouseout=\"UnTip()\">$imgdosnap </a>";
|
||||
}
|
||||
$ret .= "</td>";
|
||||
if(AttrVal($camname,"ptzPanel_use",1)) {
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,'','',$ftui);
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,$strmdev,'',$ftui);
|
||||
if($ptz_ret) {
|
||||
$ret .= "<td>$ptz_ret</td>";
|
||||
}
|
||||
@ -7439,7 +7446,7 @@ sub SSCam_StreamDev($$$;$) {
|
||||
|
||||
$streamHash->{HELPER}{STREAM} = "<video $pws id=video_$d></video>"; # Stream für "set <SSCamSTRM-Device> popupStream" speichern
|
||||
$streamHash->{HELPER}{STREAMACTIVE} = 1; # Statusbit wenn ein Stream aktiviert ist
|
||||
|
||||
if(!$hf) {
|
||||
$ret .= "<a onClick=\"$cmdrefresh\" onmouseover=\"Tip('$ttrefresh')\" onmouseout=\"UnTip()\">$imgrefresh </a>";
|
||||
$ret .= $imgblank;
|
||||
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
||||
@ -7450,9 +7457,10 @@ sub SSCam_StreamDev($$$;$) {
|
||||
$ret .= "<a onClick=\"$cmdrecstop\" onmouseover=\"Tip('$ttrecstop')\" onmouseout=\"UnTip()\">$imgrecstop </a>";
|
||||
}
|
||||
$ret .= "<a onClick=\"$cmddosnap\" onmouseover=\"Tip('$ttsnap')\" onmouseout=\"UnTip()\">$imgdosnap </a>";
|
||||
}
|
||||
$ret .= "</td>";
|
||||
if(AttrVal($camname,"ptzPanel_use",1)) {
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,'','',$ftui);
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,$strmdev,'',$ftui);
|
||||
if($ptz_ret) {
|
||||
$ret .= "<td>$ptz_ret</td>";
|
||||
}
|
||||
@ -7489,7 +7497,7 @@ sub SSCam_StreamDev($$$;$) {
|
||||
}
|
||||
$ret .= "</td>";
|
||||
if(AttrVal($camname,"ptzPanel_use",1) && $hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,'','',$ftui);
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,$strmdev,'',$ftui);
|
||||
if($ptz_ret) {
|
||||
$ret .= "<td>$ptz_ret</td>";
|
||||
}
|
||||
@ -7604,7 +7612,7 @@ sub SSCam_StreamDev($$$;$) {
|
||||
$ret .= "<a onClick=\"$cmddosnap\" onmouseover=\"Tip('$ttsnap')\" onmouseout=\"UnTip()\">$imgdosnap </a>";
|
||||
$ret .= "</td>";
|
||||
if(AttrVal($camname,"ptzPanel_use",1)) {
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,'','',$ftui);
|
||||
my $ptz_ret = SSCam_ptzpanel($camname,$strmdev,'',$ftui);
|
||||
if($ptz_ret) {
|
||||
$ret .= "<td>$ptz_ret</td>";
|
||||
}
|
||||
@ -7705,6 +7713,7 @@ sub SSCam_composegallery ($;$$$) {
|
||||
? ReadingsTimestamp($name,"LastSnapTime"," ")
|
||||
: ReadingsTimestamp($name,"LastUpdateTime"," ")); # letzte Aktualisierung
|
||||
$lupt =~ s/ / \/ /;
|
||||
my ($alias,$dlink,$hf) = ("","","");
|
||||
|
||||
# Kontext des SSCamSTRM-Devices speichern für SSCam_refresh
|
||||
$hash->{HELPER}{STRMDEV} = $strmdev; # Name des aufrufenden SSCamSTRM-Devices
|
||||
@ -7715,6 +7724,8 @@ sub SSCam_composegallery ($;$$$) {
|
||||
my $streamHash = $defs{$strmdev}; # Hash des SSCamSTRM-Devices
|
||||
$uuid = $streamHash->{FUUID}; # eindeutige UUID des Streamingdevices
|
||||
delete $streamHash->{HELPER}{STREAM};
|
||||
$alias = AttrVal($strmdev, "alias", $strmdev); # Linktext als Aliasname oder Devicename setzen
|
||||
$dlink = "<a href=\"/fhem?detail=$strmdev\">$alias</a>";
|
||||
}
|
||||
|
||||
my $cmddosnap = "FW_cmd('$FW_ME$FW_subdir?XHR=1&cmd=set $name snap 1 2 STRM:$uuid')"; # Snapshot auslösen mit Kennzeichnung "by STRM-Device"
|
||||
@ -7727,15 +7738,13 @@ sub SSCam_composegallery ($;$$$) {
|
||||
|
||||
my $ha = AttrVal($name, "snapGalleryHtmlAttr", AttrVal($name, "htmlattr", 'width="500" height="325"'));
|
||||
|
||||
my $alias = AttrVal($strmdev, "alias", $strmdev); # Linktext als Aliasname oder Devicename setzen
|
||||
my $dlink = "<a href=\"/fhem?detail=$strmdev\">$alias</a>";
|
||||
|
||||
# falls "SSCam_composegallery" durch ein SSCamSTRM-Device aufgerufen wird
|
||||
my $pws = "";
|
||||
if ($strmdev) {
|
||||
$pws = AttrVal($strmdev, "popupWindowSize", ""); # Größe eines Popups (umgelegt: Forum:https://forum.fhem.de/index.php/topic,45671.msg927912.html#msg927912)
|
||||
$pws =~ s/"//g if($pws);
|
||||
$ha = AttrVal($strmdev, "htmlattr", $ha); # htmlattr vom SSCamSTRM-Device übernehmen falls von SSCamSTRM-Device aufgerufen und gesetzt
|
||||
$hf = AttrVal($strmdev, "hideButtons", 0); # Drucktasten im unteren Bereich ausblenden ?
|
||||
if($ftui) {
|
||||
$ha = AttrVal($strmdev, "htmlattrFTUI", $ha); # wenn aus FTUI aufgerufen divers setzen
|
||||
}
|
||||
@ -7814,7 +7823,9 @@ sub SSCam_composegallery ($;$$$) {
|
||||
$htmlCode .= "</tbody>";
|
||||
$htmlCode .= "</table>";
|
||||
$htmlCode .= "</div>";
|
||||
if(!$hf) {
|
||||
$htmlCode .= "<a onClick=\"$cmddosnap\" onmouseover=\"Tip('$ttsnap')\" onmouseout=\"UnTip()\">$imgdosnap </a>" if($strmdev);
|
||||
}
|
||||
$htmlCode .= "</html>";
|
||||
|
||||
return $htmlCode;
|
||||
@ -9108,12 +9119,12 @@ sub SSCam_setVersionInfo($) {
|
||||
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
||||
# META-Daten sind vorhanden
|
||||
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 49_SSCam.pm 19750 2019-06-30 20:34:25Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 49_SSCam.pm 19996 2019-08-13 21:21:54Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
$modules{$type}{META}{x_version} =~ s/1.1.1/$v/g;
|
||||
} else {
|
||||
$modules{$type}{META}{x_version} = $v;
|
||||
}
|
||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 49_SSCam.pm 19750 2019-06-30 20:34:25Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 49_SSCam.pm 19996 2019-08-13 21:21:54Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
||||
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
||||
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
||||
@ -10691,14 +10702,15 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
</li>
|
||||
|
||||
<a name="recTelegramTxt"></a>
|
||||
<li><b>snapTelegramTxt tbot => <TelegramBot device>, peers => [<peer1 peer2 ...>], subject => [<subject text>] </b><br>
|
||||
<li><b>recTelegramTxt tbot => <TelegramBot device>, peers => [<peer1 peer2 ...>], subject => [<subject text>] </b><br>
|
||||
Activates the permanent shipping of recordings by TelegramBot after their creation. <br>
|
||||
The attribute has to be definied in the form as described. With key "tbot" the TelegramBot device is specified,
|
||||
which is used for shipping the data. Of course, the <a href="http://fhem.de/commandref.html#TelegramBot">TelegramBot device</a>
|
||||
must be available and has to be running well. <br>
|
||||
The setting of "peers" and "subject" is optional, but the keys must (empty) specified.
|
||||
If "peer" is empty, teh default peer of the TelegramBot is used. <br>
|
||||
You can use the following placeholders in "subject". <br><br>
|
||||
If "peer" is empty, the default peer of the TelegramBot device is used. <br><br>
|
||||
|
||||
You can use the following placeholders within "subject". <br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
@ -10712,13 +10724,13 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<b>Examples:</b><br>
|
||||
recTelegramTxt tbot => teleBot, peers => , subject => Motion alarm ($FILE) <br>
|
||||
recTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
recTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
recTelegramTxt tbot => teleBot, peers => , subject => Motion alarm from $CAM. At $CTIME the recording $FILE was created. Now it is $TIME. <br>
|
||||
</ul>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => , subject => Motion alarm ($FILE) <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => #nabugroup, subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => -123456, subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => , subject => Motion alarm from $CAM. At $CTIME the recording $FILE was created. Now it is $TIME. <br>
|
||||
<br>
|
||||
</li><br>
|
||||
|
||||
@ -10823,8 +10835,9 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
which is used for shipping the data. Of course, the <a href="http://fhem.de/commandref.html#TelegramBot">TelegramBot device</a>
|
||||
must be available and has to be running well. <br>
|
||||
The setting of "peers" and "subject" is optional, but the keys must (empty) specified.
|
||||
If "peer" is empty, teh default peer of the TelegramBot is used. <br>
|
||||
You can use the following placeholders in "subject". <br><br>
|
||||
If "peer" is empty, the default peer of the TelegramBot device is used. <br><br>
|
||||
|
||||
You can use the following placeholders within "subject". <br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
@ -10838,13 +10851,13 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<b>Examples:</b><br>
|
||||
snapTelegramTxt tbot => teleBot, peers => , subject => Motion alarm ($FILE) <br>
|
||||
snapTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
snapTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
snapTelegramTxt tbot => teleBot, peers => , subject => Motion alarm from $CAM. At $CTIME the snapshot $FILE was created <br>
|
||||
</ul>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => , subject => Motion alarm ($FILE) <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => #nabugroup, subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => -123456, subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => , subject => Motion alarm from $CAM. At $CTIME the snapshot $FILE was created <br>
|
||||
<br>
|
||||
</li><br>
|
||||
|
||||
@ -12512,7 +12525,8 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
anzugeben, welches für den Versand der Daten verwendet werden soll.
|
||||
Das <a href="http://fhem.de/commandref_DE.html#TelegramBot">TelegramBot-Device</a> muss natürlich vorhanden und funktionstüchtig sein. <br>
|
||||
Die Angabe von "peers" und "subject" ist optional, jedoch muß der Schlüssel (leer) angegeben werden.
|
||||
Wurde "peer" leer gelassen, wird der Default-Peer des TelegramBot verwendet. <br>
|
||||
Wurde "peer" leer gelassen, wird der Default-Peer des TelegramBot-Device verwendet. <br><br>
|
||||
|
||||
Es können die folgenden Platzhalter im subject verwendet werden. <br><br>
|
||||
|
||||
<ul>
|
||||
@ -12527,13 +12541,13 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<b>Beispiele:</b><br>
|
||||
recTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm ($FILE) <br>
|
||||
recTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
recTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
recTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm bei $CAM. Es wurde $CTIME die Aufnahme $FILE erstellt. Jetzt ist es $TIME. <br>
|
||||
</ul>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm ($FILE) <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => #nabugroup, subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => -123456, subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
attr <device> recTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm bei $CAM. Es wurde $CTIME die Aufnahme $FILE erstellt. Jetzt ist es $TIME. <br>
|
||||
<br>
|
||||
</li><br>
|
||||
|
||||
@ -12641,8 +12655,9 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
anzugeben, welches für den Versand der Daten verwendet werden soll.
|
||||
Das <a href="http://fhem.de/commandref_DE.html#TelegramBot">TelegramBot-Device</a> muss natürlich vorhanden und funktionstüchtig sein. <br>
|
||||
Die Angabe von "peers" und "subject" ist optional, jedoch muß der Schlüssel (leer) angegeben werden.
|
||||
Wurde "peer" leer gelassen, wird der Default-Peer des TelegramBot verwendet. <br>
|
||||
Es können die Platzhalter im subject verwendet werden. <br><br>
|
||||
Wurde "peer" leer gelassen, wird der Default-Peer des TelegramBot-Devices verwendet. <br><br>
|
||||
|
||||
Es können folgende Platzhalter im subject verwendet werden. <br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
@ -12656,13 +12671,13 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<b>Beispiele:</b><br>
|
||||
snapTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm ($FILE) <br>
|
||||
snapTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
snapTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
snapTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm bei $CAM. Es wurde $CTIME der Schnappschuss $FILE erstellt <br>
|
||||
</ul>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm ($FILE) <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => @nabuko @foo @bar, subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => #nabugroup, subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => -123456, subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => , subject => <br>
|
||||
attr <device> snapTelegramTxt tbot => teleBot, peers => , subject => Bewegungsalarm bei $CAM. Es wurde $CTIME der Schnappschuss $FILE erstellt <br>
|
||||
<br>
|
||||
</li><br>
|
||||
|
||||
|
@ -35,7 +35,8 @@ eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
||||
|
||||
# Versions History intern
|
||||
our %SSCamSTRM_vNotesIntern = (
|
||||
"2.7.0" => "14.07.2019 FTUI support, new attributes htmlattrFTUI, hideDisplayNameFTUI ",
|
||||
"2.8.0" => "09.09.2019 new attribute hideFooter ",
|
||||
"2.7.0" => "15.07.2019 FTUI support, new attributes htmlattrFTUI, hideDisplayNameFTUI, ptzButtonSize, ptzButtonSizeFTUI ",
|
||||
"2.6.0" => "21.06.2019 GetFn -> get <name> html ",
|
||||
"2.5.0" => "27.03.2019 add Meta.pm support ",
|
||||
"2.4.0" => "24.02.2019 support for \"genericStrmHtmlTag\" in streaming device MODEL generic ",
|
||||
@ -85,9 +86,12 @@ sub SSCamSTRM_Initialize($) {
|
||||
"htmlattrFTUI ".
|
||||
"hideDisplayName:1,0 ".
|
||||
"hideDisplayNameFTUI:1,0 ".
|
||||
"hideButtons:1,0 ".
|
||||
"popupWindowSize ".
|
||||
"popupStreamFW:$fwd ".
|
||||
"popupStreamTo:OK,1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50,60 ".
|
||||
"ptzButtonSize:selectnumbers,50,5,100,0,lin ".
|
||||
"ptzButtonSizeFTUI:selectnumbers,50,5,100,0,lin ".
|
||||
$readingFnAttributes;
|
||||
$hash->{RenameFn} = "SSCamSTRM_Rename";
|
||||
$hash->{CopyFn} = "SSCamSTRM_Copy";
|
||||
@ -525,6 +529,12 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
<a name="hideButtons"></a>
|
||||
<li><b>hideButtons</b><br>
|
||||
Hide the buttons in the footer. It has no impact for streaming devices of type "switched".
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a name="hideDisplayName"></a>
|
||||
<li><b>hideDisplayName</b><br>
|
||||
Hide the device/alias name (link to detail view).
|
||||
@ -591,6 +601,18 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
attr <name> popupWindowSize width="600" height="425" <br>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a name="ptzButtonSize"></a>
|
||||
<li><b>ptzButtonSize</b><br>
|
||||
Specifies the PTZ-panel button size (in %).
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a name="ptzButtonSizeFTUI"></a>
|
||||
<li><b>ptzButtonSizeFTUI</b><br>
|
||||
Specifies the PTZ-panel button size used in a Tablet UI (in %).
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
@ -738,6 +760,12 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
<a name="hideButtons"></a>
|
||||
<li><b>hideButtons</b><br>
|
||||
Verbirgt die Drucktasten in der Fußzeile. Dieses Attribut hat keinen Einfluß bei Streaming-Devices vom Typ "switched".
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a name="hideDisplayName"></a>
|
||||
<li><b>hideDisplayName</b><br>
|
||||
Verbirgt den Device/Alias-Namen (Link zur Detailansicht).
|
||||
@ -803,6 +831,18 @@ attr <name> genericStrmHtmlTag <img $HTMLATTR
|
||||
attr <name> popupWindowSize width="600" height="425" <br>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a name="ptzButtonSize"></a>
|
||||
<li><b>ptzButtonSize</b><br>
|
||||
Legt die Größe der Drucktasten des PTZ Paneels fest (in %).
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a name="ptzButtonSizeFTUI"></a>
|
||||
<li><b>ptzButtonSizeFTUI</b><br>
|
||||
Legt die Größe der Drucktasten des PTZ Paneels in einem Tablet UI fest (in %).
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
|
Loading…
x
Reference in New Issue
Block a user