dupTimeout

git-svn-id: https://svn.fhem.de/fhem/trunk@847 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig
2011-03-04 06:48:28 +00:00
parent 353edc0278
commit e3f5128c58
2 changed files with 20 additions and 10 deletions

View File

@@ -957,6 +957,12 @@ A line ending with \ will be concatenated with the next one, so long lines
Recommended level is 3 for normal use. Recommended level is 3 for normal use.
</li><br> </li><br>
<a name="dupInterval"></a>
<li>dupTimeout<br>
Define the timeout for which 2 identical events from two different
receiver are considered a duplicate. Default is 0.5 seconds.
</li><br>
</ul> </ul>
</ul> </ul>
@@ -5482,9 +5488,9 @@ Terminating
<h3>FHEMWEB</h3> <h3>FHEMWEB</h3>
<ul> <ul>
FHEMWEB is the builtin web-frontend (webpgm2). It implements a simple web FHEMWEB is the builtin web-frontend (webpgm2). It implements a simple web
server, so no additional program is needed. However, if HTTPS is desired, server (optionally with Basic-Auth and HTTPS), so no additional program is
FHEMWEB must be configured to run behind a webserver (e.g. apache) which needed.
translates the HTTPS from the outside to HTTP for FHEMWEB.<br> <br> <br> <br>
<a name="FHEMWEBdefine"></a> <a name="FHEMWEBdefine"></a>
<b>Define</b> <b>Define</b>
@@ -5569,11 +5575,14 @@ Terminating
<a name="smallscreen"></a> <a name="smallscreen"></a>
<li>smallscreen<br/> <li>smallscreen<br/>
Optimize for small screen size, e.g. smartphones. Optimize for small screen size, e.g. smartphones.<br>
Note: The default configuration installed with make install-pgm2 Note: The default configuration installed with make install-pgm2
installs 2 FHEMWEB instances: port 8083 for desktop browsers and installs 2 FHEMWEB instances: port 8083 for desktop browsers and
port 8084 for smallscreen browsers. <b>Note:</b>After viewing the port 8084 for smallscreen browsers, both using SVG rendering. As
site on the iPhone in Safari, try to add it to the home-screen. Android does not support SVG at the moment, change plotmode to
gnuplot-scroll.<br>
WebApp suppport: After viewing the site on the iPhone or iPad in
Safari, add it to the home-screen to get full-screen support.
</li><br> </li><br>
<a name="nofork"></a> <a name="nofork"></a>
@@ -5587,6 +5596,7 @@ Terminating
request a username/password authentication for access. You have to set request a username/password authentication for access. You have to set
the basicAuth attribute to the Base64 encoded value of the basicAuth attribute to the Base64 encoded value of
&lt;user&gt;:&lt;password&gt;, e.g.:<ul> &lt;user&gt;:&lt;password&gt;, e.g.:<ul>
# Calculate first the encoded string with the commandline program<br>
$ echo -n fhemuser:secret | base64<br> $ echo -n fhemuser:secret | base64<br>
ZmhlbXVzZXI6c2VjcmV0<br> ZmhlbXVzZXI6c2VjcmV0<br>
fhem.cfg:<br> fhem.cfg:<br>
@@ -5594,7 +5604,7 @@ Terminating
</ul> </ul>
You can of course use other means of base64 encoding, e.g. online You can of course use other means of base64 encoding, e.g. online
Base64 encoders. If basicAuthMsg is set, it will be displayed in the Base64 encoders. If basicAuthMsg is set, it will be displayed in the
browser when requesting the username/password. popup window when requesting the username/password.
</li><br> </li><br>
<a name="HTTPS"></a> <a name="HTTPS"></a>

View File

@@ -167,7 +167,7 @@ my $nextat; # Time when next timer will be triggered.
my $intAtCnt=0; my $intAtCnt=0;
my %duplicate; # Pool of received msg for multi-fhz/cul setups my %duplicate; # Pool of received msg for multi-fhz/cul setups
my $duplidx=0; # helper for the above pool my $duplidx=0; # helper for the above pool
my $cvsid = '$Id: fhem.pl,v 1.134 2011-02-28 07:27:10 rudolfkoenig Exp $'; my $cvsid = '$Id: fhem.pl,v 1.135 2011-03-04 06:48:28 rudolfkoenig Exp $';
my $namedef = my $namedef =
"where <name> is either:\n" . "where <name> is either:\n" .
"- a single device name\n" . "- a single device name\n" .
@@ -186,7 +186,7 @@ $modules{_internal_}{AttrList} =
"archivecmd allowfrom archivedir configfile lastinclude logfile " . "archivecmd allowfrom archivedir configfile lastinclude logfile " .
"modpath nrarchive pidfilename port statefile title userattr " . "modpath nrarchive pidfilename port statefile title userattr " .
"verbose:1,2,3,4,5 mseclog version nofork logdir holiday2we " . "verbose:1,2,3,4,5 mseclog version nofork logdir holiday2we " .
"autoload_undefined_devices"; "autoload_undefined_devices dupTimeout";
$modules{_internal_}{AttrFn} = "GlobalAttr"; $modules{_internal_}{AttrFn} = "GlobalAttr";
my $commonAttr = "eventMap"; my $commonAttr = "eventMap";
@@ -2376,7 +2376,7 @@ CheckDuplicate($$)
$msg = substr($msg, 8) if($msg =~ m/^81/ && length($msg) > 8); $msg = substr($msg, 8) if($msg =~ m/^81/ && length($msg) > 8);
my $now = gettimeofday(); my $now = gettimeofday();
my $lim = $now-0.5; my $lim = $now-AttrVal("global","dupTimeout", 0.5);
foreach my $oidx (keys %duplicate) { foreach my $oidx (keys %duplicate) {
if($duplicate{$oidx}{TIM} < $lim) { if($duplicate{$oidx}{TIM} < $lim) {