mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-07 19:04:20 +00:00
00_HMlan:set state after restart correct
git-svn-id: https://svn.fhem.de/fhem/trunk@13605 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
6c1507a424
commit
5cb2f45e83
@ -694,7 +694,7 @@ sub HMLAN_Parse($$) {##########################################################
|
||||
$hash->{helper}{ids}{$src}{flg} = 0 if ($type eq "00");
|
||||
|
||||
if ($stat){# message with status information
|
||||
HMLAN_condUpdate($hash,$HMcnd)if ($hash->{helper}{q}{HMcndN} != $HMcnd);
|
||||
HMLAN_condUpdate($hash,$HMcnd) if ($hash->{helper}{q}{HMcndN} != $HMcnd);
|
||||
my $myId = $attr{$name}{hmId};
|
||||
if ($stat & 0x03 && $dst eq $myId){HMLAN_qResp($hash,$src,0);}
|
||||
elsif ($stat & 0x08 && $src eq $myId){HMLAN_qResp($hash,$dst,0);}
|
||||
@ -1028,7 +1028,7 @@ sub HMLAN_KeepAliveCheck($) {##################################################
|
||||
my $hash = $defs{$name};
|
||||
if ($hash->{helper}{q}{keepAliveRec} != 1){# no answer
|
||||
if ($hash->{helper}{q}{keepAliveRpt} >2){# give up here
|
||||
HMLAN_condUpdate($hash,252);# trigger timeout event
|
||||
HMLAN_condUpdate($hash,253);# trigger timeout event
|
||||
DevIo_Disconnected($hash);
|
||||
}
|
||||
else{
|
||||
@ -1037,9 +1037,9 @@ sub HMLAN_KeepAliveCheck($) {##################################################
|
||||
}
|
||||
}
|
||||
else{
|
||||
$hash->{helper}{q}{keepAliveRpt}=0;
|
||||
$hash->{helper}{q}{keepAliveRpt} = 0;
|
||||
HMLAN_condUpdate($hash,0) if ($hash->{helper}{q}{HMcndN} == 255);
|
||||
}
|
||||
|
||||
}
|
||||
sub HMLAN_secSince2000() {#####################################################
|
||||
# Calculate the local time in seconds from 2000.
|
||||
@ -1090,6 +1090,11 @@ sub HMLAN_clearQ($) {#clear pending acks due to timeout########################
|
||||
sub HMLAN_condUpdate($$) {#####################################################
|
||||
my($hash,$HMcnd) = @_;
|
||||
my $name = $hash->{NAME};
|
||||
if (AttrVal($name,"dummy",undef)){
|
||||
readingsUpdateSingle($hash,"state","disconnected");
|
||||
$hash->{XmitOpen} = 0;
|
||||
return;
|
||||
}
|
||||
my $hashCnd = $hash->{helper}{cnd};#short to helper
|
||||
my $hashQ = $hash->{helper}{q};#short to helper
|
||||
$hash->{helper}{cnd}{$HMcnd} = 0 if (!$hash->{helper}{cnd} ||
|
||||
@ -1107,7 +1112,7 @@ sub HMLAN_condUpdate($$) {#####################################################
|
||||
if (InternalVal($name,"STATE","") eq "overload");
|
||||
}
|
||||
|
||||
my $HMcndTxt = $HMcond{$HMcnd}?$HMcond{$HMcnd}:"Unknown:$HMcnd";
|
||||
my $HMcndTxt = $HMcond{$HMcnd} ? $HMcond{$HMcnd} : "Unknown:$HMcnd";
|
||||
Log3 $hash, 1, "HMLAN_Parse: $name new condition $HMcndTxt";
|
||||
my $txt;
|
||||
$txt .= $HMcond{$_}.":".$hash->{helper}{cnd}{$_}." "
|
||||
|
Loading…
x
Reference in New Issue
Block a user