2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-04 17:36:39 +00:00

HMLAN issue nachtrag

git-svn-id: https://svn.fhem.de/fhem/trunk@3066 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2013-04-12 21:27:22 +00:00
parent 9dba8443c0
commit d10fc25929
2 changed files with 6 additions and 6 deletions

View File

@ -15,7 +15,7 @@ sub HMLAN_secSince2000();
sub HMLAN_SimpleWrite(@); sub HMLAN_SimpleWrite(@);
my $debug = 0; # set 1 for better log readability my $debug = 1; # set 1 for better log readability
my %sets = ( my %sets = (
"hmPairForSec" => "HomeMatic", "hmPairForSec" => "HomeMatic",
"hmPairSerial" => "HomeMatic", "hmPairSerial" => "HomeMatic",
@ -276,7 +276,7 @@ sub HMLAN_Parse($$) {##########################################################
# 00 21= (seen with 'R') # 00 21= (seen with 'R')
# 00 30= # 00 30=
# 00 41= (seen with 'R') # 00 41= (seen with 'R')
# 00 50= (seen with 'E') # 00 50= (seen with 'R')
# 00 81= open # 00 81= open
# 01 xx= (seen with 'E') # 01 xx= (seen with 'E')
# 02 xx= prestate to 04xx. # 02 xx= prestate to 04xx.
@ -293,7 +293,7 @@ sub HMLAN_Parse($$) {##########################################################
Log $ll5, "HMLAN_Parse: $name discard" if($stat & 0x000A); Log $ll5, "HMLAN_Parse: $name discard" if($stat & 0x000A);
return ;# message with no ack is send - do not dispatch return ;# message with no ack is send - do not dispatch
} }
if ($mFld[1] !~ m/00(01|02|21|41)/ && $letter eq 'R'){ if ($mFld[1] !~ m/00(01|02|21|41|50)/ && $letter eq 'R'){
Log $ll5, "HMLAN_Parse: $name discard, NACK state:".$mFld[1]; Log $ll5, "HMLAN_Parse: $name discard, NACK state:".$mFld[1];
return; return;
} }
@ -301,7 +301,7 @@ sub HMLAN_Parse($$) {##########################################################
# HMLAN sends ACK for flag 'A0' but not for 'A4'(config mode)- # HMLAN sends ACK for flag 'A0' but not for 'A4'(config mode)-
# we ack ourself an long as logic is uncertain - also possible is 'A6' for RHS # we ack ourself an long as logic is uncertain - also possible is 'A6' for RHS
if (hex($flg)&0x2){#General 4 oder 2 ? if (hex($flg)&0x4){#General 4 oder 2 ?
$hash->{helper}{nextSend}{$src} = gettimeofday() + 0.100; $hash->{helper}{nextSend}{$src} = gettimeofday() + 0.100;
} }
if (hex($flg)&0xA4 == 0xA4 && $hash->{owner} eq $dst){ if (hex($flg)&0xA4 == 0xA4 && $hash->{owner} eq $dst){

View File

@ -2783,7 +2783,7 @@ sub CUL_HM_eventP($$) {#handle protocol events
sub CUL_HM_protState($$){ sub CUL_HM_protState($$){
my ($hash,$state) = @_; my ($hash,$state) = @_;
$hash->{protState} = $state; $hash->{protState} = $state;
delete $hash->{helper}{burstEvtCnt} if ($state =~ m/^CMDs_done/); #delete $hash->{helper}{burstEvtCnt} if ($state =~ m/^CMDs_done/);
readingsSingleUpdate($hash,"state",$state,1)if (!$hash->{helper}{role}{chn}); readingsSingleUpdate($hash,"state",$state,1)if (!$hash->{helper}{role}{chn});
DoTrigger($hash->{NAME}, undef) if ($state eq "CMDs_done"); DoTrigger($hash->{NAME}, undef) if ($state eq "CMDs_done");
} }
@ -2817,7 +2817,7 @@ sub CUL_HM_respPendTout($) {
delete($hash->{cmdStack}); delete($hash->{cmdStack});
delete($hash->{protCmdPend}); delete($hash->{protCmdPend});
CUL_HM_protState($hash,"CMDs_done".($hash->{helper}{burstEvtCnt}? CUL_HM_protState($hash,"CMDs_done".($hash->{helper}{burstEvtCnt}?
("_events:".$hash->{helper}{burstEvtCnt}):"")); ("_events:".$hash->{helper}{burstEvtCnt}):""));
} }
CUL_HM_respPendRm($hash); CUL_HM_respPendRm($hash);
CUL_HM_ProcessCmdStack($hash); # continue processing commands CUL_HM_ProcessCmdStack($hash); # continue processing commands