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:
parent
aada07f1c1
commit
f6dacf4d2a
@ -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;
|
||||
|
@ -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 <name> <name>...</a><br>
|
||||
<li><a name="#param">param <name> <name>...</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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user