mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-28 11:01:59 +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:
parent
d652801c91
commit
dac0506ab5
@ -63,7 +63,7 @@ HMLAN_Define($$)
|
|||||||
my $name = $a[0];
|
my $name = $a[0];
|
||||||
my $dev = $a[2];
|
my $dev = $a[2];
|
||||||
$dev .= ":1000" if($dev !~ m/:/);
|
$dev .= ":1000" if($dev !~ m/:/);
|
||||||
$attr{$name}{hmId} = sprintf("%06X", time()&0xffffff);
|
$attr{$name}{hmId} = sprintf("%06X", time() % 0xffffff);
|
||||||
|
|
||||||
if($dev eq "none") {
|
if($dev eq "none") {
|
||||||
Log 1, "$name device is none, commands will be echoed only";
|
Log 1, "$name device is none, commands will be echoed only";
|
||||||
@ -200,12 +200,12 @@ HMLAN_Write($$$)
|
|||||||
|
|
||||||
my $dst = substr($msg, 16, 6);
|
my $dst = substr($msg, 16, 6);
|
||||||
if(!$lhash{$dst} && $dst ne "000000") {
|
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");
|
||||||
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;
|
$lhash{$dst} = 1;
|
||||||
}
|
}
|
||||||
my $tm = int(gettimeofday()*1000) & 0xffffffff;
|
my $tm = int(gettimeofday()*1000) % 0xffffffff;
|
||||||
$msg = sprintf("S%08X,00,00000000,01,%08X,%s",
|
$msg = sprintf("S%08X,00,00000000,01,%08X,%s",
|
||||||
$tm, $tm, substr($msg, 4));
|
$tm, $tm, substr($msg, 4));
|
||||||
HMLAN_SimpleWrite($hash, $msg);
|
HMLAN_SimpleWrite($hash, $msg);
|
||||||
|
@ -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/^(....)(..)(....)(....)(..)(..)(..)/) {
|
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/^(....)(..)/) {
|
if($cmd eq "8670" && $p =~ m/^(....)(..)/) {
|
||||||
my ( $t, $h) =
|
my ( $t, $h) =
|
||||||
@ -430,7 +430,7 @@ CUL_HM_Parse($$)
|
|||||||
if($id eq $dst && $cmd ne "8002");
|
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(..)(..)(..)/) {
|
if($p =~ m/814(.)0200(..)(..)(..)/) {
|
||||||
my ($k_cnt, $k_v1, $k_v2, $k_v3) = ($1,$2,$3,$4);
|
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} ".
|
"CUL_HM pair: $name $stt, model $attr{$name}{model} ".
|
||||||
"serialNr $attr{$name}{serialNr}";
|
"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
|
# Abort if we are not authorized
|
||||||
if($dst eq "000000") {
|
if($dst eq "000000") {
|
||||||
if(!$iohash->{hmPair}) {
|
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 "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -834,6 +834,7 @@ CUL_HM_Resend($)
|
|||||||
{
|
{
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
return if(!$hash->{ackCmdSent}); # Double timer?
|
||||||
if($hash->{ackCmdSent} == 3) {
|
if($hash->{ackCmdSent} == 3) {
|
||||||
delete($hash->{ackCmdSent});
|
delete($hash->{ackCmdSent});
|
||||||
delete($hash->{ackWaiting});
|
delete($hash->{ackWaiting});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user