mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 18:59:33 +00:00
wakeupmode improvement, add alive supervision for HM
git-svn-id: https://svn.fhem.de/fhem/trunk@1981 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
51adaf1d9e
commit
aca4737104
@ -101,7 +101,9 @@ CUL_Initialize($)
|
||||
$hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 " .
|
||||
"showtime:1,0 model:CUL,CUN,CUR loglevel:0,1,2,3,4,5,6 " .
|
||||
"sendpool addvaltrigger " .
|
||||
"rfmode:SlowRF,HomeMatic,MAX hmId hmProtocolEvents";
|
||||
"rfmode:SlowRF,HomeMatic,MAX hmId ".
|
||||
"hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger";
|
||||
|
||||
$hash->{ShutdownFn} = "CUL_Shutdown";
|
||||
|
||||
}
|
||||
|
@ -43,7 +43,8 @@ HMLAN_Initialize($)
|
||||
$hash->{UndefFn} = "HMLAN_Undef";
|
||||
$hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 " .
|
||||
"loglevel:0,1,2,3,4,5,6 addvaltrigger " .
|
||||
"hmId hmProtocolEvents hmKey";
|
||||
"hmId hmKey " .
|
||||
"hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger";
|
||||
}
|
||||
|
||||
#####################################
|
||||
@ -190,8 +191,6 @@ HMLAN_ReadAnswer($$$)
|
||||
}
|
||||
}
|
||||
|
||||
my %lhash;
|
||||
|
||||
#####################################
|
||||
sub
|
||||
HMLAN_Write($$$)
|
||||
@ -199,7 +198,7 @@ HMLAN_Write($$$)
|
||||
my ($hash,$fn,$msg) = @_;
|
||||
|
||||
my $dst = substr($msg, 16, 6);
|
||||
if(!$lhash{$dst} && $dst ne "000000") { # Don't think I grok the logic
|
||||
if(hex(substr($msg, 6, 2))&0x01) { # wakeup flag set, shake actor awake
|
||||
HMLAN_SimpleWrite($hash, "+$dst,00,00,");
|
||||
HMLAN_SimpleWrite($hash, "+$dst,00,00,");
|
||||
HMLAN_SimpleWrite($hash, "+$dst,00,00,");
|
||||
@ -208,7 +207,6 @@ HMLAN_Write($$$)
|
||||
HMLAN_SimpleWrite($hash, "+$dst,00,00,");
|
||||
HMLAN_SimpleWrite($hash, "+$dst,00,00,");
|
||||
HMLAN_SimpleWrite($hash, "+$dst,00,00,");
|
||||
$lhash{$dst} = 1;
|
||||
}
|
||||
my $tm = int(gettimeofday()*1000) % 0xffffffff;
|
||||
$msg = sprintf("S%08X,00,00000000,01,%08X,%s",
|
||||
@ -217,7 +215,8 @@ HMLAN_Write($$$)
|
||||
|
||||
# Avoid problems with structure set
|
||||
# TODO: rewrite it to use a queue+internaltimer like the CUL
|
||||
select(undef, undef, undef, 0.3); # needed for structure set by meesus.
|
||||
select(undef, undef, undef, 0.01); # needed for structure set by meesus.
|
||||
# may not be needed at all if acks are handled properly
|
||||
}
|
||||
|
||||
#####################################
|
||||
@ -278,7 +277,8 @@ HMLAN_Parse($$)
|
||||
($1, $2, $3, $4, $5, $6);
|
||||
|
||||
$dmsg = sprintf("A%02X%s", length($msg)/2, uc($msg));
|
||||
$dmsg .= "NACK" if($status !~ m/00(01|02|21)/);
|
||||
$dmsg .= "NACK" if($status !~ m/00(01|02|21)/);
|
||||
|
||||
$hash->{uptime} = HMLAN_uptime($msec);
|
||||
|
||||
} elsif($rmsg =~
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user