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:
parent
9dba8443c0
commit
d10fc25929
@ -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){
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user