2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-01-31 12:49:34 +00:00

repair TC parameter,some minor repairs

git-svn-id: https://svn.fhem.de/fhem/trunk@1929 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2012-10-06 07:43:43 +00:00
parent 148748dec3
commit e918e5806b
2 changed files with 49 additions and 48 deletions

View File

@ -369,7 +369,7 @@ CUL_HM_Parse($$)
elsif($msgType eq "00" ){ #### DEVICE_INFO, Pairing-Request elsif($msgType eq "00" ){ #### DEVICE_INFO, Pairing-Request
CUL_HM_infoUpdtDevData($name, $shash,$p);#update data CUL_HM_infoUpdtDevData($name, $shash,$p);#update data
if($shash->{cmdStack} && ($attr{$name}{rxType} =~ m/config/)) { if($shash->{cmdStack} && (AttrVal($name, "rxType", "0") =~ m/config/)) {
CUL_HM_ProcessCmdStack($shash);# sender devices may have msgs stacked CUL_HM_ProcessCmdStack($shash);# sender devices may have msgs stacked
push @event,""; push @event,"";
} }
@ -1161,7 +1161,6 @@ CUL_HM_Get($@)
$h = $culHmModelGets{$md}{$cmd} if(!defined($h) && $culHmModelGets{$md}); $h = $culHmModelGets{$md}{$cmd} if(!defined($h) && $culHmModelGets{$md});
my @h; my @h;
@h = split(" ", $h) if($h); @h = split(" ", $h) if($h);
my $isSender = ($class eq "sender");
if(!defined($h)) { if(!defined($h)) {
my @arr = keys %culHmGlobalGets; my @arr = keys %culHmGlobalGets;
@ -1177,10 +1176,9 @@ CUL_HM_Get($@)
return "$cmd requires parameter: $h"; return "$cmd requires parameter: $h";
} }
my $id = CUL_HM_Id($hash->{IODev}); my $id = CUL_HM_Id($hash->{IODev});
my $state = join(" ", @a[1..(int(@a)-1)]);
#----------- now start processing -------------- #----------- now start processing --------------
if($cmd eq "param") { ################################################### if($cmd eq "param") { ######################################################
my $entityName = $name; my $entityName = $name;
my $entityHash = $hash; my $entityHash = $hash;
foreach (1,2){ #search channel and device foreach (1,2){ #search channel and device
@ -1198,20 +1196,21 @@ CUL_HM_Get($@)
if (ref($entityHash->{$entAttr}) eq "HASH"){ if (ref($entityHash->{$entAttr}) eq "HASH"){
foreach my $entAttr2 (keys %{$entityHash->{$entAttr}}){ foreach my $entAttr2 (keys %{$entityHash->{$entAttr}}){
if ($entAttr eq "READINGS" && $entAttr2 eq $a[2]){ if ($entAttr eq "READINGS" && $entAttr2 eq $a[2]){
return $entityHash->{$entAttr}{$entAttr2}{VAL};# if ($entAttr2{VAL}); return $entityHash->{$entAttr}{$entAttr2}{VAL};
} }
if (ref($entityHash->{$entAttr}{$entAttr2}) eq "HASH"){ if (ref($entityHash->{$entAttr}{$entAttr2}) eq "HASH"){
foreach my $entAttr3 (keys %{$entityHash->{$entAttr}{$entAttr2}}){ foreach my $entAttr3 (keys %{$entityHash->{$entAttr}{$entAttr2}}){
return "3:".$entAttr.":".$entAttr2.":".$entityHash->{$entAttr}{$entAttr2}{$entAttr3} if ($a[2] eq $entAttr3); return $entityHash->{$entAttr}{$entAttr2}{$entAttr3}
if ($a[2] eq $entAttr3);
} }
} }
else { else {
return "2:".$entityHash->{$entAttr}{$entAttr2} if ($a[2] eq $entAttr2); return $entityHash->{$entAttr}{$entAttr2} if ($a[2] eq $entAttr2);
} }
} }
} }
else{ else{
return "1:".$entityHash->{$entAttr} if ($a[2] eq $entAttr); return $entityHash->{$entAttr} if ($a[2] eq $entAttr);
} }
} }
last if ($entityName eq $devName); last if ($entityName eq $devName);
@ -1221,13 +1220,13 @@ CUL_HM_Get($@)
return "undefined"; return "undefined";
} }
elsif($cmd eq "reg") { ################################################## elsif($cmd eq "reg") { #####################################################
my (undef,undef,$addr,$list,$peerId) = @a; my (undef,undef,$addr,$list,$peerId) = @a;
my $regVal = CUL_HM_getRegFromStore($name,$addr,$list,$peerId); my $regVal = CUL_HM_getRegFromStore($name,$addr,$list,$peerId);
return ($regVal eq "invalid")? "Value not captured" return ($regVal eq "invalid")? "Value not captured"
: "0x".sprintf("%X",$regVal)." dec:".$regVal; : "0x".sprintf("%X",$regVal)." dec:".$regVal;
} }
elsif($cmd eq "regList") { ################################################## elsif($cmd eq "regList") { #################################################
my @arr = keys %culHmRegGeneral ; my @arr = keys %culHmRegGeneral ;
push @arr, keys %{$culHmRegSupported{$st}} if($culHmRegSupported{$st}); push @arr, keys %{$culHmRegSupported{$st}} if($culHmRegSupported{$st});
my $info = $st." - \n"; my $info = $st." - \n";
@ -1240,8 +1239,7 @@ CUL_HM_Get($@)
return $info; return $info;
} }
$hash->{STATE} = $state if($state); Log GetLogLevel($name,2), "CUL_HM get $name " . join(" ", @a[1..$#a]);
Log GetLogLevel($name,2), "CUL_HM set $name " . join(" ", @a[1..$#a]);
CUL_HM_ProcessCmdStack($devHash) CUL_HM_ProcessCmdStack($devHash)
if(!$attr{$name}{rxType}||$attr{$name}{rxType}=~ m/burst/); if(!$attr{$name}{rxType}||$attr{$name}{rxType}=~ m/burst/);
@ -1363,8 +1361,6 @@ CUL_HM_Set($@)
my @h; my @h;
@h = split(" ", $h) if($h); @h = split(" ", $h) if($h);
my $isSender = ($class eq "sender");
if(!defined($h) && defined($culHmSubTypeSets{$st}{pct}) && $cmd =~ m/^\d+/) { if(!defined($h) && defined($culHmSubTypeSets{$st}{pct}) && $cmd =~ m/^\d+/) {
$cmd = "pct"; $cmd = "pct";
@ -1402,37 +1398,34 @@ CUL_HM_Set($@)
if($cmd eq "raw") { ################################################## if($cmd eq "raw") { ##################################################
return "Usage: set $a[0] $cmd data [data ...]" if(@a < 3); return "Usage: set $a[0] $cmd data [data ...]" if(@a < 3);
$state = "";
for (my $i = 2; $i < @a; $i++) { for (my $i = 2; $i < @a; $i++) {
CUL_HM_PushCmdStack($hash, $a[$i]); CUL_HM_PushCmdStack($hash, $a[$i]);
} }
$state = "";
} }
elsif($cmd eq "reset") { ############################################ elsif($cmd eq "reset") { ############################################
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++A011%s%s0400", $id,$dst)); sprintf("++A011%s%s0400", $id,$dst));
} }
elsif($cmd eq "pair") { ############################################# elsif($cmd eq "pair") { #############################################
return "pair is not enabled for this type of device, ". return "pair is not enabled for this type of device, ".
"use set <IODev> hmPairForSec" "use set <IODev> hmPairForSec"
if($isSender); if($class eq "sender");
$state = "";
my $serialNr = AttrVal($name, "serialNr", undef); my $serialNr = AttrVal($name, "serialNr", undef);
return "serialNr is not set" if(!$serialNr); return "serialNr is not set" if(!$serialNr);
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++A401%s000000010A%s", $id, unpack("H*",$serialNr))); sprintf("++A401%s000000010A%s", $id, unpack("H*",$serialNr)));
$hash->{hmPairSerial} = $serialNr; $hash->{hmPairSerial} = $serialNr;
} }
elsif($cmd eq "unpair") { ########################################### elsif($cmd eq "unpair") { ###########################################
CUL_HM_pushConfig($hash, $id, $dst, 0,0,0,0, "02010A000B000C00"); CUL_HM_pushConfig($hash, $id, $dst, 0,0,0,0, "02010A000B000C00");
$state = "";
} }
elsif($cmd eq "sign") { ############################################ elsif($cmd eq "sign") { ############################################
CUL_HM_pushConfig($hash, $id, $dst, $chn,0,0,$chn, CUL_HM_pushConfig($hash, $id, $dst, $chn,0,0,$chn,
"08" . ($a[2] eq "on" ? "01":"02")); "08" . ($a[2] eq "on" ? "01":"02"));
$state = "";
} }
elsif($cmd eq "statusRequest") { ############################################ elsif($cmd eq "statusRequest") { ############################################
my $chnFound; my $chnFound;
@ -1444,23 +1437,26 @@ CUL_HM_Set($@)
my $chnNo = $chnHash->{DEF}; my $chnNo = $chnHash->{DEF};
$chnNo = substr($chnNo,6,2); $chnNo = substr($chnNo,6,2);
$chnFound = 1 if ($chnNo eq "01"); $chnFound = 1 if ($chnNo eq "01");
CUL_HM_PushCmdStack($hash,sprintf("++%s01%s%s%s0E", $flag, $id,$dst,$chnNo)); CUL_HM_PushCmdStack($hash,sprintf("++%s01%s%s%s0E",
$flag, $id,$dst,$chnNo));
} }
} }
# if channel or single channel device # if channel or single channel device
CUL_HM_PushCmdStack($hash,sprintf("++%s01%s%s%s0E",$flag,$id,$dst,$chn)) CUL_HM_PushCmdStack($hash,sprintf("++%s01%s%s%s0E",$flag,$id,$dst,$chn))
if (!$chnFound); if (!$chnFound);
$state = "";
} }
elsif($cmd eq "getpair") { ################################################## elsif($cmd eq "getpair") { ##################################################
CUL_HM_PushCmdStack($hash,sprintf("++A001%s%s00040000000000", $id,$dst)); CUL_HM_PushCmdStack($hash,sprintf("++A001%s%s00040000000000", $id,$dst));
$state = "";
} }
elsif($cmd eq "getdevicepair") { ############################################ elsif($cmd eq "getdevicepair") { ############################################
CUL_HM_PushCmdStack($hash,sprintf("++A001%s%s%s03", $id,$dst, $chn)); CUL_HM_PushCmdStack($hash,sprintf("++A001%s%s%s03", $id,$dst, $chn));
$state = "";
} }
elsif($cmd eq "getConfig") { ################################################ elsif($cmd eq "getConfig") { ################################################
CUL_HM_PushCmdStack($hash, "++A112$id$dst") if($attr{$name}{rxType} =~ m/wakeup/); # Wakeup... CUL_HM_PushCmdStack($hash, "++A112$id$dst")
if(AttrVal($name, "rxType", "0") =~ m/wakeup/); # Wakeup...
CUL_HM_PushCmdStack($hash,sprintf("++A001%s%s00040000000000",$id,$dst)) CUL_HM_PushCmdStack($hash,sprintf("++A001%s%s00040000000000",$id,$dst))
if (length($dst) == 6); if (length($dst) == 6);
my $chnFound; my $chnFound;
@ -1476,10 +1472,11 @@ CUL_HM_Set($@)
} }
# if channel or single channel device # if channel or single channel device
CUL_HM_getConfig($hash,$hash,$id,$dst,$chn)if (!$chnFound); CUL_HM_getConfig($hash,$hash,$id,$dst,$chn)if (!$chnFound);
$state = "";
} }
elsif($cmd eq "regRaw" ||$cmd eq "getRegRaw") { ############################# elsif($cmd eq "regRaw" ||$cmd eq "getRegRaw") { #############################
my ($list,$addr,$data,$peerID); my ($list,$addr,$data,$peerID);
$state = "";
($list,$addr,$data,$peerID) = ($a[2],hex($a[3]),hex($a[4]),$a[5]) ($list,$addr,$data,$peerID) = ($a[2],hex($a[3]),hex($a[4]),$a[5])
if ($cmd eq "regRaw"); if ($cmd eq "regRaw");
($list,$peerID) = ($a[2],$a[3])if ($cmd eq "getRegRaw"); ($list,$peerID) = ($a[2],$a[3])if ($cmd eq "getRegRaw");
@ -1548,7 +1545,7 @@ CUL_HM_Set($@)
elsif($cmd eq "regSet") { ################################################### elsif($cmd eq "regSet") { ###################################################
#set <name> regSet <regName> <value> <peerChn> #set <name> regSet <regName> <value> <peerChn>
my ($regName,$data,$peerChnIn) = ($a[2],$a[3],$a[4]); my ($regName,$data,$peerChnIn) = ($a[2],$a[3],$a[4]);
$state = "";
if (!$culHmRegSupported{$st}{$regName} && !$culHmRegGeneral{$regName} ){ if (!$culHmRegSupported{$st}{$regName} && !$culHmRegGeneral{$regName} ){
my @arr = keys %culHmRegGeneral ; my @arr = keys %culHmRegGeneral ;
push @arr, keys %{$culHmRegSupported{$st}} if($culHmRegSupported{$st}); push @arr, keys %{$culHmRegSupported{$st}} if($culHmRegSupported{$st});
@ -1615,13 +1612,11 @@ CUL_HM_Set($@)
my $headerbytes = $md eq "HM-LC-SW1-BA-PCB" ? "FF" : "A0"; # Needs Burst Headerbyte See CC1100 FM transceiver my $headerbytes = $md eq "HM-LC-SW1-BA-PCB" ? "FF" : "A0"; # Needs Burst Headerbyte See CC1100 FM transceiver
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++%s11%s%s02%sC80000", $headerbytes, $id,$dst, $chn)); sprintf("++%s11%s%s02%sC80000", $headerbytes, $id,$dst, $chn));
} }
elsif($cmd eq "off") { ############################################## elsif($cmd eq "off") { ##############################################
my $headerbytes = $md eq "HM-LC-SW1-BA-PCB" ? "FF" : "A0"; # Needs Burst Headerbyte See CC1100 FM transceiver my $headerbytes = $md eq "HM-LC-SW1-BA-PCB" ? "FF" : "A0"; # Needs Burst Headerbyte See CC1100 FM transceiver
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++%s11%s%s02%s000000", $headerbytes, $id,$dst,$chn)); sprintf("++%s11%s%s02%s000000", $headerbytes, $id,$dst,$chn));
} }
elsif($cmd eq "on-for-timer"||$cmd eq "on-till") { ########################## elsif($cmd eq "on-for-timer"||$cmd eq "on-till") { ##########################
my (undef,undef,$duration,$edate) = @a; #date prepared extention to entdate my (undef,undef,$duration,$edate) = @a; #date prepared extention to entdate
@ -1644,7 +1639,6 @@ CUL_HM_Set($@)
$hash->{toggleIndex} = (($hash->{toggleIndex}+1) % 128); $hash->{toggleIndex} = (($hash->{toggleIndex}+1) % 128);
CUL_HM_PushCmdStack($hash, sprintf("++A03E%s%s%s40%s%02X", $id, $dst, CUL_HM_PushCmdStack($hash, sprintf("++A03E%s%s%s40%s%02X", $id, $dst,
$dst, $chn, $hash->{toggleIndex})); $dst, $chn, $hash->{toggleIndex}));
} }
elsif($cmd eq "lock") { ################################################### elsif($cmd eq "lock") { ###################################################
CUL_HM_PushCmdStack($hash, sprintf("++B011%s%s800100FF",$id,$dst)); # LEVEL_SET CUL_HM_PushCmdStack($hash, sprintf("++B011%s%s800100FF",$id,$dst)); # LEVEL_SET
@ -1674,13 +1668,11 @@ CUL_HM_Set($@)
$rval = CUL_HM_encodeTime16((@a > 3)?$a[3]:2.5);# rampTime 0.0..85825945.6, 0=immediate $rval = CUL_HM_encodeTime16((@a > 3)?$a[3]:2.5);# rampTime 0.0..85825945.6, 0=immediate
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++A011%s%s02%s%02X%s%s",$id,$dst,$chn,$a[1]*2,$rval,$tval)); sprintf("++A011%s%s02%s%02X%s%s",$id,$dst,$chn,$a[1]*2,$rval,$tval));
} }
elsif($cmd eq "stop") { ##################################### elsif($cmd eq "stop") { #####################################
my $headerbytes = $md eq "HM-LC-SW1-BA-PCB" ? "FF" : "A0"; my $headerbytes = $md eq "HM-LC-SW1-BA-PCB" ? "FF" : "A0";
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++%s11%s%s03%s", $headerbytes, $id,$dst, $chn)); sprintf("++%s11%s%s03%s", $headerbytes, $id,$dst, $chn));
} }
elsif($cmd eq "text") { ############################################# elsif($cmd eq "text") { #############################################
$state = ""; $state = "";
@ -1752,13 +1744,22 @@ CUL_HM_Set($@)
elsif($cmd eq "led") { ###################################################### elsif($cmd eq "led") { ######################################################
if ($md eq "HM-OU-LED16"){ if ($md eq "HM-OU-LED16"){
my %color=(off=>0,red=>1,green=>2,orange=>3); my %color=(off=>0,red=>1,green=>2,orange=>3);
return "$a[2] unknown. use: ".join(" ",sort keys(%color))
if (!$color{$a[2]} && $a[2] ne "off" );
if (length($hash->{DEF}) == 6){# command called for a device, not a channel if (length($hash->{DEF}) == 6){# command called for a device, not a channel
my $col4all = sprintf("%02X",$color{$a[2]}*85);#Color for 4 LEDS my $col4all;
if (defined($color{$a[2]})){
$col4all = sprintf("%02X",$color{$a[2]}*85);#Color for 4 LEDS
$col4all = $col4all.$col4all.$col4all.$col4all;#and now for 16 $col4all = $col4all.$col4all.$col4all.$col4all;#and now for 16
}
elsif ($a[2] =~ m/^[A-Fa-f0-9]{1,8}$/i){
$col4all = sprintf("Color:%08X",hex($a[2]));
}
else{
return "$a[2] unknown. use hex or: ".join(" ",sort keys(%color));
}
CUL_HM_PushCmdStack($hash,sprintf("++A011%s%s8100%s",$id,$dst,$col4all)); CUL_HM_PushCmdStack($hash,sprintf("++A011%s%s8100%s",$id,$dst,$col4all));
}else{# operating on a channel }else{# operating on a channel
return "$a[2] unknown. use: ".join(" ",sort keys(%color))
if (!defined($color{$a[2]}) );
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++A011%s%s80%s0%s", $id,$dst,$chn, $color{$a[2]})); sprintf("++A011%s%s80%s0%s", $id,$dst,$chn, $color{$a[2]}));
} }
@ -1812,7 +1813,7 @@ CUL_HM_Set($@)
decalcDay =>{"Sat"=>0 ,"Sun"=>32 ,"Mon"=>64,"Tue"=>96, decalcDay =>{"Sat"=>0 ,"Sun"=>32 ,"Mon"=>64,"Tue"=>96,
"Wed"=>128,"Thu"=>160,"Fri"=>192}); "Wed"=>128,"Thu"=>160,"Fri"=>192});
return $a[2]."invalid for ".$cmd." select one of ". return $a[2]."invalid for ".$cmd." select one of ".
join (" ",sort keys %{$regs{$cmd}}) if(!$regs{$cmd}{$a[2]}); join (" ",sort keys %{$regs{$cmd}}) if(!defined($regs{$cmd}{$a[2]}));
$hash->{READINGS}{$cmd}{TIME} = TimeNow(); # update new value $hash->{READINGS}{$cmd}{TIME} = TimeNow(); # update new value
$hash->{READINGS}{$cmd}{VAL} = $a[2]; $hash->{READINGS}{$cmd}{VAL} = $a[2];
my $tcnf = 0; my $tcnf = 0;
@ -1835,7 +1836,6 @@ CUL_HM_Set($@)
CUL_HM_PushCmdStack($hash, "++A112$id$dst"); # Wakeup... CUL_HM_PushCmdStack($hash, "++A112$id$dst"); # Wakeup...
CUL_HM_PushCmdStack($hash, CUL_HM_PushCmdStack($hash,
sprintf("++A011%s%s0202%s", $id,$dst,$temp)); sprintf("++A011%s%s0202%s", $id,$dst,$temp));
} }
elsif($cmd =~ m/^(day|night|party)-temp$/) { ################## elsif($cmd =~ m/^(day|night|party)-temp$/) { ##################
my %tt = (day=>"03", night=>"04", party=>"06"); my %tt = (day=>"03", night=>"04", party=>"06");
@ -1844,7 +1844,6 @@ CUL_HM_Set($@)
return $temp if(length($temp) > 2); return $temp if(length($temp) > 2);
CUL_HM_PushCmdStack($hash, "++A112$id$dst"); # Wakeup... CUL_HM_PushCmdStack($hash, "++A112$id$dst"); # Wakeup...
CUL_HM_pushConfig($hash, $id, $dst, 2,0,0,5, "$tt$temp"); # List 5 CUL_HM_pushConfig($hash, $id, $dst, 2,0,0,5, "$tt$temp"); # List 5
} }
elsif($cmd =~ m/^tempList(...)/) { ################################## elsif($cmd =~ m/^tempList(...)/) { ##################################
my %day2off = ( "Sat"=>"5 0B", "Sun"=>"5 3B", "Mon"=>"5 6B", my %day2off = ( "Sat"=>"5 0B", "Sun"=>"5 3B", "Mon"=>"5 6B",
@ -1879,7 +1878,6 @@ CUL_HM_Set($@)
my $vn = "tempList$wd"; my $vn = "tempList$wd";
$hash->{READINGS}{$vn}{TIME} = TimeNow(); $hash->{READINGS}{$vn}{TIME} = TimeNow();
$hash->{READINGS}{$vn}{VAL} = $msg; $hash->{READINGS}{$vn}{VAL} = $msg;
} }
elsif($cmd eq "matic") { ##################################### elsif($cmd eq "matic") { #####################################
# Trigger pre-programmed action in the winmatic. These actions must be # Trigger pre-programmed action in the winmatic. These actions must be
@ -1943,6 +1941,7 @@ CUL_HM_Set($@)
$dst,$dst, $1 eq "On" ? "0BC8" : "0C01"), 1, 0); $dst,$dst, $1 eq "On" ? "0BC8" : "0C01"), 1, 0);
} }
elsif($cmd eq "virtual") { ################################################## elsif($cmd eq "virtual") { ##################################################
$state = "";
my (undef,undef,$maxBtnNo) = @a; my (undef,undef,$maxBtnNo) = @a;
return "please give a number between 1 and 255" return "please give a number between 1 and 255"
if ($maxBtnNo < 1 ||$maxBtnNo > 255);# arbitrary - 255 should be max if ($maxBtnNo < 1 ||$maxBtnNo > 255);# arbitrary - 255 should be max
@ -1984,6 +1983,7 @@ CUL_HM_Set($@)
elsif($cmd eq "devicepair") { ############################################### elsif($cmd eq "devicepair") { ###############################################
#devicepair => "<btnNumber> device ... [single|dual] [set|unset] [actor|remote|both]" #devicepair => "<btnNumber> device ... [single|dual] [set|unset] [actor|remote|both]"
my ($bNo,$dev,$single,$set,$target) = ($a[2],$a[3],$a[4],$a[5],$a[6]); my ($bNo,$dev,$single,$set,$target) = ($a[2],$a[3],$a[4],$a[5],$a[6]);
$state = "";
return "$bNo is not a button number" if(($bNo < 1) && !$chn); return "$bNo is not a button number" if(($bNo < 1) && !$chn);
my $peerHash = $defs{$dev} if ($dev); my $peerHash = $defs{$dev} if ($dev);
return "$dev not a CUL_HM device" return "$dev not a CUL_HM device"
@ -2768,7 +2768,7 @@ CUL_HM_parseCommon(@){
} }
elsif($msgType eq "70"){ #wakeup ####################################### elsif($msgType eq "70"){ #wakeup #######################################
CUL_HM_ProcessCmdStack($shash) CUL_HM_ProcessCmdStack($shash)
if ($attr{$shash->{NAME}}{rxType} =~ m/wakeup/); if (AttrVal($shash->{NAME}, "rxType", "0") =~ m/wakeup/);
} }
return ""; return "";
} }

View File

@ -3420,7 +3420,7 @@ A line ending with \ will be concatenated with the next one, so long lines
Note4: the direct buttons on a HM device are hidden by default. Note4: the direct buttons on a HM device are hidden by default.
Nevertheless those are implemented as links as well. To get access to Nevertheless those are implemented as links as well. To get access to
the 'internal links' it is necessary to issue 'set &lt;name&gt; setReg the 'internal links' it is necessary to issue 'set &lt;name&gt; setReg
intKeyVisib 81' or 'set &lt;name&gt; setRegRaw List0 2 81'. Reset it intKeyVisib 1' or 'set &lt;name&gt; setRegRaw List0 2 81'. Reset it
by replacing '81' with '01'<br> example:<br> by replacing '81' with '01'<br> example:<br>
<ul><code> <ul><code>
@ -3672,7 +3672,8 @@ A line ending with \ will be concatenated with the next one, so long lines
<li><B>led [off|red|green|yellow]</B><br> <li><B>led [off|red|green|yellow]</B><br>
switches the LED of the channel to the color. If the command is switches the LED of the channel to the color. If the command is
executed on a device it will set all LEDs to the specified executed on a device it will set all LEDs to the specified
color<br></li> color.<br>
For Expert all LEDs can be set individual by providing a 8-digit hex number to the device.<br></li>
<li><B>ilum &lt;brightness&gt;&lt;duration&gt; </B><br> <li><B>ilum &lt;brightness&gt;&lt;duration&gt; </B><br>
&lt;brightness&gt; [0-15] of backlight.<br> &lt;brightness&gt; [0-15] of backlight.<br>
&lt;duration&gt; [0-127] in sec. 0 is permanent 'on'.<br> &lt;duration&gt; [0-127] in sec. 0 is permanent 'on'.<br>