2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 16:56:54 +00:00

Create shadow device even in dummy mode

git-svn-id: https://svn.fhem.de/fhem/trunk@868 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2011-03-18 20:33:08 +00:00
parent d652801c91
commit dac0506ab5
2 changed files with 21 additions and 20 deletions

View File

@ -63,7 +63,7 @@ HMLAN_Define($$)
my $name = $a[0];
my $dev = $a[2];
$dev .= ":1000" if($dev !~ m/:/);
$attr{$name}{hmId} = sprintf("%06X", time()&0xffffff);
$attr{$name}{hmId} = sprintf("%06X", time() % 0xffffff);
if($dev eq "none") {
Log 1, "$name device is none, commands will be echoed only";
@ -200,12 +200,12 @@ HMLAN_Write($$$)
my $dst = substr($msg, 16, 6);
if(!$lhash{$dst} && $dst ne "000000") {
HMLAN_SimpleWrite($hash, "+$dst,00,00,\r\n+$dst,00,00,\r\n+112A29");
HMLAN_SimpleWrite($hash, "+$dst,00,00,\r\n+$dst,00,00,\r\n+$dst");
HMLAN_SimpleWrite($hash, "-$dst");
HMLAN_SimpleWrite($hash, "+$dst,00,00,\r\n+$dst,00,00,\r\n+112A29");
HMLAN_SimpleWrite($hash, "+$dst,00,00,\r\n+$dst,00,00,\r\n+$dst");
$lhash{$dst} = 1;
}
my $tm = int(gettimeofday()*1000) & 0xffffffff;
my $tm = int(gettimeofday()*1000) % 0xffffffff;
$msg = sprintf("S%08X,00,00000000,01,%08X,%s",
$tm, $tm, substr($msg, 4));
HMLAN_SimpleWrite($hash, $msg);

View File

@ -360,7 +360,7 @@ CUL_HM_Parse($$)
}
} elsif($model eq "KS550" || $model eq "HM-WDS100-C6-O") {
} elsif($model eq "KS550" || $model eq "HM-WDS100-C6-O") { ############
if($cmd eq "8670" && $p =~ m/^(....)(..)(....)(....)(..)(..)(..)/) {
@ -392,7 +392,7 @@ CUL_HM_Parse($$)
}
} elsif($model eq "HM-CC-TC") {
} elsif($model eq "HM-CC-TC") { ####################################
if($cmd eq "8670" && $p =~ m/^(....)(..)/) {
my ( $t, $h) =
@ -430,7 +430,7 @@ CUL_HM_Parse($$)
if($id eq $dst && $cmd ne "8002");
} elsif($st eq "KFM" && $model eq "KFM-Sensor") {
} elsif($st eq "KFM" && $model eq "KFM-Sensor") { ###################
if($p =~ m/814(.)0200(..)(..)(..)/) {
my ($k_cnt, $k_v1, $k_v2, $k_v3) = ($1,$2,$3,$4);
@ -731,6 +731,19 @@ CUL_HM_Pair(@)
"CUL_HM pair: $name $stt, model $attr{$name}{model} ".
"serialNr $attr{$name}{serialNr}";
# Create shadow device for multi-channel
if($stn eq "switch" &&
$attr{$name}{devInfo} =~ m,(..)(..)(..), ) {
my ($b1, $b2, $b3) = (hex($1), hex($2), $3);
for(my $i = $b2+1; $i<=$b1; $i++) {
my $nSrc = sprintf("%s%02X", $src, $i);
if(!defined($modules{CUL_HM}{defptr}{$nSrc})) {
delete($defs{"global"}{INTRIGGER}); # Hack
DoTrigger("global", "UNDEFINED ${name}_CHN_$i CUL_HM $nSrc");
}
}
}
# Abort if we are not authorized
if($dst eq "000000") {
if(!$iohash->{hmPair}) {
@ -767,19 +780,6 @@ CUL_HM_Pair(@)
}
# Create shadow device for multi-channel
if($stn eq "switch" &&
$attr{$name}{devInfo} =~ m,(..)(..)(..), ) {
my ($b1, $b2, $b3) = (hex($1), hex($2), $3);
for(my $i = $b2+1; $i<=$b1; $i++) {
my $nSrc = sprintf("%s%02X", $src, $i);
if(!defined($modules{CUL_HM}{defptr}{$nSrc})) {
delete($defs{"global"}{INTRIGGER}); # Hack
DoTrigger("global", "UNDEFINED ${name}_CHN_$i CUL_HM $nSrc");
}
}
}
return "";
}
@ -834,6 +834,7 @@ CUL_HM_Resend($)
{
my $hash = shift;
my $name = $hash->{NAME};
return if(!$hash->{ackCmdSent}); # Double timer?
if($hash->{ackCmdSent} == 3) {
delete($hash->{ackCmdSent});
delete($hash->{ackWaiting});