mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-02 00:48:53 +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:"");
|
my $msgX = "No:$mNo - t:$mTp s:$src d:$dst ".($p?$p:"");
|
||||||
|
|
||||||
if($shash->{lastMsg} && $shash->{lastMsg} eq $msgX) { #duplicate -lost 'ack'?
|
if($shash->{lastMsg} && $shash->{lastMsg} eq $msgX) { #duplicate -lost 'ack'?
|
||||||
if($shash->{helper}{rpt} && #was responded
|
if( $shash->{helper}{rpt} #was responded
|
||||||
$shash->{helper}{rpt}{IO} eq $ioName && #from same IO
|
&& $shash->{helper}{rpt}{IO} eq $ioName #from same IO
|
||||||
$shash->{helper}{rpt}{msg} eq $msg && #not from repeater
|
&& $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
|
# && $shash->{helper}{rpt}{ts} < gettimeofday()-0.5 #todo: hack since HMLAN sends duplicate status messages
|
||||||
|
){
|
||||||
my $ack = $shash->{helper}{rpt}{ack};#shorthand
|
my $ack = $shash->{helper}{rpt}{ack};#shorthand
|
||||||
my $i=0;
|
my $i=0;
|
||||||
CUL_HM_SndCmd(${$ack}[$i++],${$ack}[$i++]) while ($i<@{$ack});
|
CUL_HM_SndCmd(${$ack}[$i++],${$ack}[$i++]) while ($i<@{$ack});
|
||||||
$shash->{helper}{rpt}{ts} = gettimeofday();
|
$shash->{helper}{rpt}{ts} = gettimeofday();
|
||||||
Log GetLogLevel($name,4), "CUL_HM $name dup: repeat ack, dont process";
|
Log GetLogLevel($name,4), "CUL_HM $name dup: repeat ack, dont process";
|
||||||
|
Log 1,"General ############ duplicate";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
Log GetLogLevel($name,4), "CUL_HM $name dup: dont process";
|
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
|
if (@ack) {# send acks and store for repeat
|
||||||
my $sRptHash = $modules{CUL_HM}{defptr}{$src}{helper}{rpt};
|
my $sRptHash = $modules{CUL_HM}{defptr}{$src}{helper}{rpt};
|
||||||
$sRptHash->{IO} = $ioName;
|
$sRptHash->{IO} = $ioName;
|
||||||
$sRptHash->{msg} = $msg;
|
$sRptHash->{flg} = substr($msg,5,1);
|
||||||
$sRptHash->{ack} = \@ack;
|
$sRptHash->{ack} = \@ack;
|
||||||
$sRptHash->{ts} = gettimeofday();
|
$sRptHash->{ts} = gettimeofday();
|
||||||
my $i=0;
|
my $i=0;
|
||||||
|
@ -530,42 +530,40 @@ sub HMinfo_post($) {###########################################################
|
|||||||
even though the commands are more a get funktion they are implemented
|
even though the commands are more a get funktion they are implemented
|
||||||
as set to allow simple web interface usage<br>
|
as set to allow simple web interface usage<br>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#models">models</a><br>
|
<li><a name="#models">models</a><br>
|
||||||
list all HM models that are supported in FHEM
|
list all HM models that are supported in FHEM
|
||||||
</li>
|
</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,...)
|
returns a table parameter values (attribute, readings,...)
|
||||||
for all entities as a table
|
for all entities as a table
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#regCheck">regCheck</a><br>
|
<li><a name="#regCheck">regCheck</a><br>
|
||||||
performs a consistancy check on register readings for completeness
|
performs a consistancy check on register readings for completeness
|
||||||
</li>
|
</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
|
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.
|
this funktion will search wether the peer also exist on the opposit side.
|
||||||
</li>
|
</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
|
performs a consistancy check of HM settings. It includes regCheck and peerCheck
|
||||||
</li>
|
</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
|
provides a cross-reference on peerings, a kind of who-with-who summary over HM
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#saveConfig">saveConfig</a><br>
|
<li><a name="#saveConfig">saveConfig</a><br>
|
||||||
performs a save for all HM register setting.
|
performs a save for all HM register setting and peers. See <a href="#CUL_HMsaveConfig">CUL_HM saveConfig</a>.
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#clearProtocol">clearProtocol</a><br>
|
<li><a name="#clearProtocol">clearProtocol</a><br>
|
||||||
executes a set clear msgEvents on all HM devices
|
executes a set clear msgEvents on all HM devices
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#clearReadings">clearReadings</a><br>
|
<li><a name="#clearReadings">clearReadings</a><br>
|
||||||
executes a set clear readings on all HM devices
|
executes a set clear readings on all HM devices
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#clearRssi">clearRssi</a><br>
|
<li><a name="#clearRssi">clearRssi</a><br>
|
||||||
executes a set clear rssi on all HM devices
|
executes a set clear rssi on all HM devices
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#autoReadReg">autoReadReg</a><br>
|
<li><a name="#autoReadReg">autoReadReg</a><br>
|
||||||
stimulates a read of the configuration for the devices.
|
stimulates a read of the configuration for the CUL_HM devices with attribut autoReadReg set to 1 or higher.
|
||||||
</li>
|
|
||||||
<li><a href="#sys">sys</a><br>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user