2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-01 00:19:00 +00:00

Ack repeated requests

git-svn-id: https://svn.fhem.de/fhem/trunk@3268 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2013-06-09 18:22:21 +00:00
parent aada07f1c1
commit f6dacf4d2a
2 changed files with 20 additions and 20 deletions

View File

@ -454,15 +454,17 @@ sub CUL_HM_Parse($$) {##############################
my $msgX = "No:$mNo - t:$mTp s:$src d:$dst ".($p?$p:"");
if($shash->{lastMsg} && $shash->{lastMsg} eq $msgX) { #duplicate -lost 'ack'?
if($shash->{helper}{rpt} && #was responded
$shash->{helper}{rpt}{IO} eq $ioName && #from same IO
$shash->{helper}{rpt}{msg} eq $msg && #not from repeater
$shash->{helper}{rpt}{ts} < gettimeofday()-0.5){#todo: hack since HMLAN sends duplicate status messages
if( $shash->{helper}{rpt} #was responded
&& $shash->{helper}{rpt}{IO} eq $ioName #from same IO
&& $shash->{helper}{rpt}{flg} eq substr($msg,5,1) #not from repeater
# && $shash->{helper}{rpt}{ts} < gettimeofday()-0.5 #todo: hack since HMLAN sends duplicate status messages
){
my $ack = $shash->{helper}{rpt}{ack};#shorthand
my $i=0;
CUL_HM_SndCmd(${$ack}[$i++],${$ack}[$i++]) while ($i<@{$ack});
$shash->{helper}{rpt}{ts} = gettimeofday();
Log GetLogLevel($name,4), "CUL_HM $name dup: repeat ack, dont process";
Log 1,"General ############ duplicate";
}
else{
Log GetLogLevel($name,4), "CUL_HM $name dup: dont process";
@ -1272,7 +1274,7 @@ sub CUL_HM_Parse($$) {##############################
if (@ack) {# send acks and store for repeat
my $sRptHash = $modules{CUL_HM}{defptr}{$src}{helper}{rpt};
$sRptHash->{IO} = $ioName;
$sRptHash->{msg} = $msg;
$sRptHash->{flg} = substr($msg,5,1);
$sRptHash->{ack} = \@ack;
$sRptHash->{ts} = gettimeofday();
my $i=0;

View File

@ -530,42 +530,40 @@ sub HMinfo_post($) {###########################################################
even though the commands are more a get funktion they are implemented
as set to allow simple web interface usage<br>
<ul>
<li><a href="#models">models</a><br>
<li><a name="#models">models</a><br>
list all HM models that are supported in FHEM
</li>
<li><a href="#param">param &lt;name&gt; &lt;name&gt;...</a><br>
<li><a name="#param">param &lt;name&gt; &lt;name&gt;...</a><br>
returns a table parameter values (attribute, readings,...)
for all entities as a table
</li>
<li><a href="#regCheck">regCheck</a><br>
<li><a name="#regCheck">regCheck</a><br>
performs a consistancy check on register readings for completeness
</li>
<li><a href="#peerCheck">peerCheck</a><br>
<li><a name="#peerCheck">peerCheck</a><br>
performs a consistancy check on peers. If a peer is set in one channel
this funktion will search wether the peer also exist on the opposit side.
</li>
<li><a href="#configCheck">configCheck</a><br>
<li><a name="#configCheck">configCheck</a><br>
performs a consistancy check of HM settings. It includes regCheck and peerCheck
</li>
<li><a href="#peerXref">peerXref</a><br>
<li><a name="#peerXref">peerXref</a><br>
provides a cross-reference on peerings, a kind of who-with-who summary over HM
</li>
<li><a href="#saveConfig">saveConfig</a><br>
performs a save for all HM register setting.
<li><a name="#saveConfig">saveConfig</a><br>
performs a save for all HM register setting and peers. See <a href="#CUL_HMsaveConfig">CUL_HM saveConfig</a>.
</li>
<li><a href="#clearProtocol">clearProtocol</a><br>
<li><a name="#clearProtocol">clearProtocol</a><br>
executes a set clear msgEvents on all HM devices
</li>
<li><a href="#clearReadings">clearReadings</a><br>
<li><a name="#clearReadings">clearReadings</a><br>
executes a set clear readings on all HM devices
</li>
<li><a href="#clearRssi">clearRssi</a><br>
<li><a name="#clearRssi">clearRssi</a><br>
executes a set clear rssi on all HM devices
</li>
<li><a href="#autoReadReg">autoReadReg</a><br>
stimulates a read of the configuration for the devices.
</li>
<li><a href="#sys">sys</a><br>
<li><a name="#autoReadReg">autoReadReg</a><br>
stimulates a read of the configuration for the CUL_HM devices with attribut autoReadReg set to 1 or higher.
</li>
</ul>
</ul>