mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-01 01:09:47 +00:00
ccu preparation
git-svn-id: https://svn.fhem.de/fhem/trunk@5678 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
1c0da3d1a6
commit
e059af1a46
@ -19,6 +19,7 @@ my $culHmRegType =\%HMConfig::culHmRegType;
|
|||||||
my $culHmRegModel =\%HMConfig::culHmRegModel;
|
my $culHmRegModel =\%HMConfig::culHmRegModel;
|
||||||
my $culHmRegChan =\%HMConfig::culHmRegChan;
|
my $culHmRegChan =\%HMConfig::culHmRegChan;
|
||||||
my $culHmGlobalGets =\%HMConfig::culHmGlobalGets;
|
my $culHmGlobalGets =\%HMConfig::culHmGlobalGets;
|
||||||
|
my $culHmVrtGets =\%HMConfig::culHmVrtGets;
|
||||||
my $culHmSubTypeGets =\%HMConfig::culHmSubTypeGets;
|
my $culHmSubTypeGets =\%HMConfig::culHmSubTypeGets;
|
||||||
my $culHmModelGets =\%HMConfig::culHmModelGets;
|
my $culHmModelGets =\%HMConfig::culHmModelGets;
|
||||||
my $culHmGlobalSetsDevice =\%HMConfig::culHmGlobalSetsDevice;
|
my $culHmGlobalSetsDevice =\%HMConfig::culHmGlobalSetsDevice;
|
||||||
@ -218,7 +219,7 @@ sub CUL_HM_updateConfig($){
|
|||||||
$hash->{helper}{role}{vrt} = 1;
|
$hash->{helper}{role}{vrt} = 1;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
CUL_HM_ID2PeerList($name,"",1); # update peerList out of peerIDs
|
CUL_HM_ID2PeerList($name,"",1); # update peerList out of peerIDs
|
||||||
|
|
||||||
my $chn = substr($id."00",6,2);
|
my $chn = substr($id."00",6,2);
|
||||||
my $st = CUL_HM_Get($hash,$name,"param","subType");
|
my $st = CUL_HM_Get($hash,$name,"param","subType");
|
||||||
@ -317,7 +318,7 @@ sub CUL_HM_updateConfig($){
|
|||||||
CUL_HM_ActAdd($id,$actCycle) if ($actCycle );#add 2 ActionDetect?
|
CUL_HM_ActAdd($id,$actCycle) if ($actCycle );#add 2 ActionDetect?
|
||||||
# --- set default attrubutes if missing ---
|
# --- set default attrubutes if missing ---
|
||||||
if ( $hash->{helper}{role}{dev}
|
if ( $hash->{helper}{role}{dev}
|
||||||
&& AttrVal($name,"subType","") ne "virtual"){
|
&& $st ne "virtual"){
|
||||||
$attr{$name}{expert} = AttrVal($name,"expert" ,"2_full");
|
$attr{$name}{expert} = AttrVal($name,"expert" ,"2_full");
|
||||||
$attr{$name}{autoReadReg}= AttrVal($name,"autoReadReg","4_reqStatus");
|
$attr{$name}{autoReadReg}= AttrVal($name,"autoReadReg","4_reqStatus");
|
||||||
}
|
}
|
||||||
@ -338,11 +339,13 @@ sub CUL_HM_updateConfig($){
|
|||||||
$webCmd = AttrVal($name,"webCmd",undef);
|
$webCmd = AttrVal($name,"webCmd",undef);
|
||||||
if(!defined $webCmd){
|
if(!defined $webCmd){
|
||||||
if ($st eq "virtual" ){
|
if ($st eq "virtual" ){
|
||||||
if ($hash->{helper}{fkt} && $hash->{helper}{fkt} eq "sdLead") {$webCmd="teamCall:alarmOn:alarmOff";}
|
if ($hash->{helper}{fkt} && $hash->{helper}{fkt} eq "sdLead") {$webCmd="teamCall:alarmOn:alarmOff";}
|
||||||
elsif($hash->{helper}{fkt} && $hash->{helper}{fkt} eq "vdCtrl") {$webCmd="valvePos";}
|
elsif($hash->{helper}{fkt} && $hash->{helper}{fkt} eq "vdCtrl") {$webCmd="valvePos";}
|
||||||
elsif($hash->{helper}{fkt} && $hash->{helper}{fkt} eq "virtThSens"){$webCmd="virtTemp:virtHum";}
|
elsif($hash->{helper}{fkt} && $hash->{helper}{fkt} eq "virtThSens"){$webCmd="virtTemp:virtHum";}
|
||||||
elsif($hash->{helper}{role}{chn}) {$webCmd="press short:press long";}
|
elsif(!$hash->{helper}{role}{dev}) {$webCmd="press short:press long";}
|
||||||
else {$webCmd="virtual";}
|
elsif($md =~ m/^virtual_/) {$webCmd="virtual";}
|
||||||
|
elsif($md eq "CCU-FHEM") {$webCmd="virtual:update";
|
||||||
|
CUL_HM_UpdtCentral($name);}
|
||||||
|
|
||||||
}elsif((!$hash->{helper}{role}{chn} &&
|
}elsif((!$hash->{helper}{role}{chn} &&
|
||||||
$md !~ m/(HM-CC-TC|ROTO_ZEL-STG-RM-FWT)/)
|
$md !~ m/(HM-CC-TC|ROTO_ZEL-STG-RM-FWT)/)
|
||||||
@ -424,6 +427,7 @@ sub CUL_HM_Define($$) {##############################
|
|||||||
delete $devHash->{helper}{role}{chn};#device no longer
|
delete $devHash->{helper}{role}{chn};#device no longer
|
||||||
delete $devHash->{peerList};
|
delete $devHash->{peerList};
|
||||||
delete $devHash->{READINGS}{peerList};
|
delete $devHash->{READINGS}{peerList};
|
||||||
|
delete $attr{$devName}{peerIDs};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{# define a device
|
else{# define a device
|
||||||
@ -602,7 +606,7 @@ sub CUL_HM_Attr(@) {#################################
|
|||||||
my $id = $hash->{DEF};
|
my $id = $hash->{DEF};
|
||||||
if ($id ne $K_actDetID && $attrVal){# if not action detector
|
if ($id ne $K_actDetID && $attrVal){# if not action detector
|
||||||
my @ids = grep /......../,split(",",$attrVal);
|
my @ids = grep /......../,split(",",$attrVal);
|
||||||
$attr{$name}{peerIDs} = join",",@ids;
|
$attr{$name}{peerIDs} = join",",@ids if (@ids);
|
||||||
CUL_HM_ID2PeerList($name,"",1); # update peerList out of peerIDs
|
CUL_HM_ID2PeerList($name,"",1); # update peerList out of peerIDs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1390,7 +1394,7 @@ sub CUL_HM_Parse($$) {#########################################################
|
|||||||
: int((($val-$lvlMin)/($lvlMax - $lvlMin))*200)/2;
|
: int((($val-$lvlMin)/($lvlMax - $lvlMin))*200)/2;
|
||||||
|
|
||||||
# blind option: reverse Level Meaning 0 = open, 100 = closed
|
# blind option: reverse Level Meaning 0 = open, 100 = closed
|
||||||
if ("levelInverse" eq AttrVal($name, "param", "")){
|
if ("levelInverse" eq AttrVal($name, "param", "")){;
|
||||||
$pVal = $val = 100-$val;
|
$pVal = $val = 100-$val;
|
||||||
}
|
}
|
||||||
$physLvl = ReadingsVal($name,"phyLevel",$val)
|
$physLvl = ReadingsVal($name,"phyLevel",$val)
|
||||||
@ -1577,7 +1581,7 @@ sub CUL_HM_Parse($$) {#########################################################
|
|||||||
push @evtEt,[$shash,1,"flags:". (($flag)?"none" :$flag )];
|
push @evtEt,[$shash,1,"flags:". (($flag)?"none" :$flag )];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif($st eq "virtual"){ ####################################################
|
elsif($st eq "virtual" && $md =~ m/^virtual_/){ #############################
|
||||||
# possibly add code to count all acks that are paired.
|
# possibly add code to count all acks that are paired.
|
||||||
if($mTp eq "02") {# this must be a reflection from what we sent, ignore
|
if($mTp eq "02") {# this must be a reflection from what we sent, ignore
|
||||||
push @evtEt,[$shash,1,""];
|
push @evtEt,[$shash,1,""];
|
||||||
@ -1833,7 +1837,8 @@ sub CUL_HM_Parse($$) {#########################################################
|
|||||||
|
|
||||||
#------------ parse if FHEM or virtual actor is destination ---------------
|
#------------ parse if FHEM or virtual actor is destination ---------------
|
||||||
|
|
||||||
if(AttrVal($dname, "subType", "none") eq "virtual"){# see if need for answer
|
if( AttrVal($dname, "subType", "none") eq "virtual"
|
||||||
|
&& AttrVal($dname, "model", "none") =~ m/^virtual_/){# see if need for answer
|
||||||
my $sendAck = 0;
|
my $sendAck = 0;
|
||||||
if($mTp =~ m/^4/ && @mI > 1) { #Push Button event
|
if($mTp =~ m/^4/ && @mI > 1) { #Push Button event
|
||||||
my ($recChn,$trigNo) = (hex($mI[0]),hex($mI[1]));# button number/event count
|
my ($recChn,$trigNo) = (hex($mI[0]),hex($mI[1]));# button number/event count
|
||||||
@ -1896,12 +1901,12 @@ sub CUL_HM_Parse($$) {#########################################################
|
|||||||
if($mTp =~ m/^4./ && #Push Button event
|
if($mTp =~ m/^4./ && #Push Button event
|
||||||
($mFlgH & 0x20)){ #response required Flag
|
($mFlgH & 0x20)){ #response required Flag
|
||||||
# fhem CUL shall ack a button press
|
# fhem CUL shall ack a button press
|
||||||
# if($mFlgH & 0x02){
|
if ($md =~ m/HM-SEC-SC/){
|
||||||
|
push @ack,$shash,$mNo."8002".$dst.$src."0101".((hex($mI[0])&1)?"C8":"00")."00";
|
||||||
|
}
|
||||||
|
else{
|
||||||
push @ack,$shash,$mNo."8002$dst$src"."00";
|
push @ack,$shash,$mNo."8002$dst$src"."00";
|
||||||
# }
|
}
|
||||||
# else{
|
|
||||||
# push @ack,$shash,$mNo."8002".$dst.$src."0101".((hex($mI[0])&1)?"C8":"00")."00";
|
|
||||||
# }
|
|
||||||
Log3 $name,5,"CUL_HM $name prep ACK for $mI[0]";
|
Log3 $name,5,"CUL_HM $name prep ACK for $mI[0]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2478,16 +2483,19 @@ sub CUL_HM_Get($@) {#+++++++++++++++++ get command+++++++++++++++++++++++++++++
|
|||||||
my $fkt = $hash->{helper}{fkt}?$hash->{helper}{fkt}:"";
|
my $fkt = $hash->{helper}{fkt}?$hash->{helper}{fkt}:"";
|
||||||
|
|
||||||
my $h = undef;
|
my $h = undef;
|
||||||
$h = $culHmGlobalGets->{$cmd};
|
$h = $culHmGlobalGets->{$cmd} if(!$roleV);
|
||||||
|
$h = $culHmVrtGets->{$cmd} if($roleV);
|
||||||
$h = $culHmSubTypeGets->{$st}{$cmd} if(!defined($h) && $culHmSubTypeGets->{$st});
|
$h = $culHmSubTypeGets->{$st}{$cmd} if(!defined($h) && $culHmSubTypeGets->{$st});
|
||||||
$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);
|
||||||
|
|
||||||
if(!defined($h)) {
|
if(!defined($h)) {
|
||||||
my @arr = keys %{$culHmGlobalGets};
|
my @arr;
|
||||||
|
push @arr, keys %{$culHmGlobalGets} if(!$roleV);
|
||||||
|
push @arr, keys %{$culHmVrtGets} if($roleV);
|
||||||
push @arr, keys %{$culHmSubTypeGets->{$st}} if($culHmSubTypeGets->{$st});
|
push @arr, keys %{$culHmSubTypeGets->{$st}} if($culHmSubTypeGets->{$st});
|
||||||
push @arr, keys %{$culHmModelGets->{$md}} if($culHmModelGets->{$md});
|
push @arr, keys %{$culHmModelGets->{$md}} if($culHmModelGets->{$md});
|
||||||
my $usg = "Unknown argument $cmd, choose one of ".join(" ",sort @arr);
|
my $usg = "Unknown argument $cmd, choose one of ".join(" ",sort @arr);
|
||||||
|
|
||||||
return $usg;
|
return $usg;
|
||||||
@ -2737,7 +2745,7 @@ sub CUL_HM_Set($@) {#+++++++++++++++++ set command+++++++++++++++++++++++++++++
|
|||||||
}
|
}
|
||||||
my $usg = "Unknown argument $cmd, choose one of ".join(" ",sort @arr1);
|
my $usg = "Unknown argument $cmd, choose one of ".join(" ",sort @arr1);
|
||||||
$usg =~ s/ pct/ pct:slider,0,1,100/;
|
$usg =~ s/ pct/ pct:slider,0,1,100/;
|
||||||
$usg =~ s/ virtual/ virtual:slider,1,1,40/;
|
$usg =~ s/ virtual/ virtual:slider,1,1,50/;
|
||||||
|
|
||||||
return $usg;
|
return $usg;
|
||||||
}
|
}
|
||||||
@ -3678,15 +3686,17 @@ sub CUL_HM_Set($@) {#+++++++++++++++++ set command+++++++++++++++++++++++++++++
|
|||||||
CUL_HM_PushCmdStack($hash, $msg);
|
CUL_HM_PushCmdStack($hash, $msg);
|
||||||
CUL_HM_parseSDteam("41",$dst,$dst,"01".$p);
|
CUL_HM_parseSDteam("41",$dst,$dst,"01".$p);
|
||||||
}
|
}
|
||||||
|
|
||||||
elsif($cmd eq "virtual") { ##################################################
|
elsif($cmd eq "virtual") { ##################################################
|
||||||
$state = "";
|
$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 50"
|
||||||
if ($maxBtnNo < 1 ||$maxBtnNo > 255);# arbitrary - 255 should be max
|
if ($maxBtnNo < 1 ||$maxBtnNo > 50);# arbitrary - 255 should be max
|
||||||
return $name." already defines as ".$attr{$name}{subType}
|
return $name." already defines as ".$attr{$name}{subType}
|
||||||
if ($attr{$name}{subType} && $attr{$name}{subType} ne "virtual");
|
if ($attr{$name}{subType} && $attr{$name}{subType} ne "virtual");
|
||||||
$attr{$name}{subType} = "virtual";
|
$attr{$name}{subType} = "virtual";
|
||||||
$attr{$name}{model} = "virtual_".$maxBtnNo;
|
$attr{$name}{model} = "virtual_".$maxBtnNo
|
||||||
|
if (!$attr{$name}{model} ||$attr{$name}{model} =~ m/^virtual_/);
|
||||||
my $devId = $hash->{DEF};
|
my $devId = $hash->{DEF};
|
||||||
for (my $btn=1;$btn <= $maxBtnNo;$btn++){
|
for (my $btn=1;$btn <= $maxBtnNo;$btn++){
|
||||||
my $chnName = $name."_Btn".$btn;
|
my $chnName = $name."_Btn".$btn;
|
||||||
@ -3700,7 +3710,13 @@ sub CUL_HM_Set($@) {#+++++++++++++++++ set command+++++++++++++++++++++++++++++
|
|||||||
CommandDelete(undef,$hash->{$channel})
|
CommandDelete(undef,$hash->{$channel})
|
||||||
if (hex($chNo) > $maxBtnNo);
|
if (hex($chNo) > $maxBtnNo);
|
||||||
}
|
}
|
||||||
|
CUL_HM_UpdtCentral($name) if ($md eq "CCU_FHEM");
|
||||||
}
|
}
|
||||||
|
elsif($cmd eq "update") { ##################################################
|
||||||
|
$state = "";
|
||||||
|
CUL_HM_UpdtCentral($name);
|
||||||
|
}
|
||||||
|
|
||||||
elsif($cmd eq "press") { ####################################################
|
elsif($cmd eq "press") { ####################################################
|
||||||
my $mode = 0;
|
my $mode = 0;
|
||||||
if ($a[2]){
|
if ($a[2]){
|
||||||
@ -4975,11 +4991,11 @@ sub CUL_HM_protState($$){
|
|||||||
sub CUL_HM_ID2PeerList ($$$) {
|
sub CUL_HM_ID2PeerList ($$$) {
|
||||||
my($name,$peerID,$set) = @_;
|
my($name,$peerID,$set) = @_;
|
||||||
my $peerIDs = AttrVal($name,"peerIDs","");
|
my $peerIDs = AttrVal($name,"peerIDs","");
|
||||||
|
return if (!$peerID && !$peerIDs);
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
$peerIDs =~ s/$peerID//g; #avoid duplicate, support unset
|
$peerIDs =~ s/$peerID//g; #avoid duplicate, support unset
|
||||||
$peerID =~ s/^000000../00000000/; #correct end detector
|
$peerID =~ s/^000000../00000000/; #correct end detector
|
||||||
$peerIDs.= $peerID."," if($set);
|
$peerIDs.= $peerID."," if($set);
|
||||||
|
|
||||||
my %tmpHash = map { $_ => 1 } split(",",$peerIDs);#remove duplicates
|
my %tmpHash = map { $_ => 1 } split(",",$peerIDs);#remove duplicates
|
||||||
$peerIDs = ""; #clear list
|
$peerIDs = ""; #clear list
|
||||||
my $peerNames = ""; #prepare names
|
my $peerNames = ""; #prepare names
|
||||||
@ -6129,6 +6145,25 @@ sub CUL_HM_storeRssi(@){
|
|||||||
if (AttrVal($name,"rssiLog",undef));
|
if (AttrVal($name,"rssiLog",undef));
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
sub CUL_HM_UpdtCentral($){
|
||||||
|
my $name = shift;
|
||||||
|
my $id = CUL_HM_name2Id($name);
|
||||||
|
my @myIos;
|
||||||
|
foreach (CUL_HM_noDup(grep !/^$/,map{AttrVal($_,"IODev","")}keys %defs)){
|
||||||
|
push @myIos,$_ if (CUL_HM_Id($defs{$_} eq $defs{$name}{DEF}));
|
||||||
|
}
|
||||||
|
$defs{$name}{assignedIOs} = join(",",@myIos);
|
||||||
|
foreach my $ccuBId (CUL_HM_noDup(grep /$id/ ,map{split ",",AttrVal($_,"peerIDs","")}keys %defs)){
|
||||||
|
my $btnS = substr($ccuBId,6,2);
|
||||||
|
my $btn = hex($btnS) + 0;
|
||||||
|
next if (!$btn);
|
||||||
|
CommandDefine(undef,$name."_Btn$btn CUL_HM $ccuBId")
|
||||||
|
if (!$modules{CUL_HM}{defptr}{$ccuBId});
|
||||||
|
foreach my $pn (grep !/^$/,map{$_ if (AttrVal($_,"peerIDs","") =~ m/$id$btnS/)}keys %defs){
|
||||||
|
CUL_HM_ID2PeerList ($name."_Btn$btn",CUL_HM_name2Id($pn),1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub CUL_HM_stateUpdatDly($$){#delayed queue of status-request
|
sub CUL_HM_stateUpdatDly($$){#delayed queue of status-request
|
||||||
my ($name,$time) = @_;
|
my ($name,$time) = @_;
|
||||||
|
@ -18,6 +18,7 @@ use vars qw(%culHmRegType);
|
|||||||
use vars qw(%culHmRegModel);
|
use vars qw(%culHmRegModel);
|
||||||
use vars qw(%culHmRegChan);
|
use vars qw(%culHmRegChan);
|
||||||
use vars qw(%culHmGlobalGets);
|
use vars qw(%culHmGlobalGets);
|
||||||
|
use vars qw(%culHmVrtGets);
|
||||||
use vars qw(%culHmSubTypeGets);
|
use vars qw(%culHmSubTypeGets);
|
||||||
use vars qw(%culHmModelGets);
|
use vars qw(%culHmModelGets);
|
||||||
use vars qw(%culHmGlobalSetsDevice);
|
use vars qw(%culHmGlobalSetsDevice);
|
||||||
@ -182,7 +183,7 @@ my $K_actDetID = '000000'; # id of actionDetector
|
|||||||
"006D" => {name=>"HM-OU-LED16" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'' ,lst=>'p' ,chn=>"Led:1:16",},
|
"006D" => {name=>"HM-OU-LED16" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'' ,lst=>'p' ,chn=>"Led:1:16",},
|
||||||
"006E" => {name=>"HM-LC-Dim1L-CV-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"006E" => {name=>"HM-LC-Dim1L-CV-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
"006F" => {name=>"HM-LC-Dim1L-Pl-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"006F" => {name=>"HM-LC-Dim1L-Pl-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
"0070" => {name=>"HM-LC-Dim2L-SM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2,Sw1_V:3:4,Sw2_V:5:6",},#
|
"0070" => {name=>"HM-LC-Dim2L-SM-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2,Sw1_V:3:4,Sw2_V:5:6",},#
|
||||||
"0071" => {name=>"HM-LC-Dim1T-Pl-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"0071" => {name=>"HM-LC-Dim1T-Pl-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
"0072" => {name=>"HM-LC-Dim1T-CV-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"0072" => {name=>"HM-LC-Dim1T-CV-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
"0073" => {name=>"HM-LC-Dim1T-FM-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"0073" => {name=>"HM-LC-Dim1T-FM-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
@ -270,6 +271,7 @@ my $K_actDetID = '000000'; # id of actionDetector
|
|||||||
"00D2" => {name=>"HM-LC-Bl1-FM-2" ,st=>'blindActuator' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",}, # radio-controlled blind actuator 1-channel (flush-mount)
|
"00D2" => {name=>"HM-LC-Bl1-FM-2" ,st=>'blindActuator' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",}, # radio-controlled blind actuator 1-channel (flush-mount)
|
||||||
"8001" => {name=>"PS-switch" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:4",},
|
"8001" => {name=>"PS-switch" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:4",},
|
||||||
"8002" => {name=>"PS-Th-Sens" ,st=>'THSensor' ,cyc=>'' ,rxt=>'' ,lst=>'1,4' ,chn=>"Sen:1:4",},
|
"8002" => {name=>"PS-Th-Sens" ,st=>'THSensor' ,cyc=>'' ,rxt=>'' ,lst=>'1,4' ,chn=>"Sen:1:4",},
|
||||||
|
"FFF0" => {name=>"CCU-FHEM" ,st=>'virtual' ,cyc=>'' ,rxt=>'' ,lst=>'' ,chn=>"Btn:1:50",},
|
||||||
|
|
||||||
# "HM-LGW-O-TW-W-EU" #Funk LAN Gateway
|
# "HM-LGW-O-TW-W-EU" #Funk LAN Gateway
|
||||||
#################open:---------------------------
|
#################open:---------------------------
|
||||||
@ -420,7 +422,7 @@ my $K_actDetID = '000000'; # id of actionDetector
|
|||||||
energyOpt =>{a=> 8.0,s=>1.0,l=>0,min=>0 ,max=>127 ,c=>'' ,f=>2 ,u=>'s' ,d=>1,t=>"energy Option: Duration of ilumination"},
|
energyOpt =>{a=> 8.0,s=>1.0,l=>0,min=>0 ,max=>127 ,c=>'' ,f=>2 ,u=>'s' ,d=>1,t=>"energy Option: Duration of ilumination"},
|
||||||
# sec_mdir
|
# sec_mdir
|
||||||
cyclicInfoMsg =>{a=> 9.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message" ,lit=>{off=>0,on=>200}},
|
cyclicInfoMsg =>{a=> 9.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message" ,lit=>{off=>0,on=>200}},
|
||||||
sabotageMsg =>{a=> 16.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"enable sabotage message" ,lit=>{off=>0,on=>200}},# changed to 200
|
sabotageMsg =>{a=> 16.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"enable sabotage message" ,lit=>{off=>0,on=>1}},# sc needs 1 - others?
|
||||||
cyclicInfoMsgDis=>{a=> 17.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message"},
|
cyclicInfoMsgDis=>{a=> 17.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message"},
|
||||||
lowBatLimit =>{a=> 18.0,s=>1.0,l=>0,min=>10 ,max=>12 ,c=>'' ,f=>10 ,u=>'V' ,d=>1,t=>"low batterie limit, step .1V"},
|
lowBatLimit =>{a=> 18.0,s=>1.0,l=>0,min=>10 ,max=>12 ,c=>'' ,f=>10 ,u=>'V' ,d=>1,t=>"low batterie limit, step .1V"},
|
||||||
lowBatLimitBA =>{a=> 18.0,s=>1.0,l=>0,min=>5 ,max=>15 ,c=>'' ,f=>10 ,u=>'V' ,d=>0,t=>"low batterie limit, step .1V"},
|
lowBatLimitBA =>{a=> 18.0,s=>1.0,l=>0,min=>5 ,max=>15 ,c=>'' ,f=>10 ,u=>'V' ,d=>0,t=>"low batterie limit, step .1V"},
|
||||||
@ -896,10 +898,10 @@ $culHmRegModel{"KS888"} = $culHmRegModel{"HM-WDS100-C6-O"};
|
|||||||
$culHmRegModel{"HM-SEC-SC-2"} = $culHmRegModel{"HM-SEC-SC"};
|
$culHmRegModel{"HM-SEC-SC-2"} = $culHmRegModel{"HM-SEC-SC"};
|
||||||
|
|
||||||
$culHmRegModel{"HM-LC-Dim1L-Pl-2"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};#rf_d
|
$culHmRegModel{"HM-LC-Dim1L-Pl-2"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};#rf_d
|
||||||
$culHmRegModel{"HM-LC-Dim1L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
$culHmRegModel{"HM-LC-DIM1L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
||||||
$culHmRegModel{"Schueco-263-132"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
$culHmRegModel{"Schueco-263-132"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
||||||
$culHmRegModel{"HM-LC-Dim2L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
$culHmRegModel{"HM-LC-DIM2L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
||||||
$culHmRegModel{"HM-LC-Dim2L-SM"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
$culHmRegModel{"HM-LC-DIM2L-SM"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
|
||||||
|
|
||||||
$culHmRegModel{"HM-LC-Dim1L-Pl-644"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};#RF_DIM_1l_644
|
$culHmRegModel{"HM-LC-Dim1L-Pl-644"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};#RF_DIM_1l_644
|
||||||
$culHmRegModel{"HM-LC-Dim1L-CV-644"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};
|
$culHmRegModel{"HM-LC-Dim1L-CV-644"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};
|
||||||
@ -1234,6 +1236,11 @@ $culHmRegChan{"ROTO_ZEL-STG-RM-FWT03"}= $culHmRegChan{"HM-CC-TC03"};
|
|||||||
cmdList => "",
|
cmdList => "",
|
||||||
saveConfig => "<filename> ...",
|
saveConfig => "<filename> ...",
|
||||||
);
|
);
|
||||||
|
%culHmVrtGets = (
|
||||||
|
param => "<param>",
|
||||||
|
cmdList => "",
|
||||||
|
saveConfig => "<filename> ...",
|
||||||
|
);
|
||||||
%culHmSubTypeGets = (
|
%culHmSubTypeGets = (
|
||||||
none4Type =>{ "test"=>"" },
|
none4Type =>{ "test"=>"" },
|
||||||
);
|
);
|
||||||
@ -1251,8 +1258,8 @@ $culHmRegChan{"ROTO_ZEL-STG-RM-FWT03"}= $culHmRegChan{"HM-CC-TC03"};
|
|||||||
);
|
);
|
||||||
%culHmGlobalSetsVrtDev = (# virtuals and devices without subtype
|
%culHmGlobalSetsVrtDev = (# virtuals and devices without subtype
|
||||||
raw => "data ...",
|
raw => "data ...",
|
||||||
virtual =>"<noButtons>",
|
virtual => "<noButtons>",
|
||||||
clear => "[readings|register|rssi|msgEvents]",
|
clear => "[readings|rssi|msgEvents]",
|
||||||
);
|
);
|
||||||
%culHmGlobalSetsDevice = (# all devices but virtuals
|
%culHmGlobalSetsDevice = (# all devices but virtuals
|
||||||
raw => "data ...",
|
raw => "data ...",
|
||||||
@ -1463,6 +1470,8 @@ $culHmModelSets{"HM-Sen-Wa-Od"} = $culHmModelSets{"HM-SEC-SD"};
|
|||||||
,press =>"[long|short] [<peer>] ..."
|
,press =>"[long|short] [<peer>] ..."
|
||||||
,inhibit =>"[on|off]"
|
,inhibit =>"[on|off]"
|
||||||
,statusRequest =>""},
|
,statusRequest =>""},
|
||||||
|
|
||||||
|
"CCU-FHEM00" =>{ update =>""},
|
||||||
);
|
);
|
||||||
# clones- - - - - - - - - - - - - - - - -
|
# clones- - - - - - - - - - - - - - - - -
|
||||||
#$culHmChanSets{"HM-OU-CF-PL02"} = $culHmChanSets{"HM-OU-CF-PL01"};
|
#$culHmChanSets{"HM-OU-CF-PL02"} = $culHmChanSets{"HM-OU-CF-PL01"};
|
||||||
|
Loading…
Reference in New Issue
Block a user