mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
trigger source event, WDS30-OT
git-svn-id: https://svn.fhem.de/fhem/trunk@3441 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
58eec9a078
commit
7ee13d6bf5
@ -162,6 +162,7 @@ sub CUL_HM_reqStatus($){
|
||||
sub CUL_HM_autoReadConfig($){
|
||||
# will trigger a getConfig and statusrequest for each device assigned.
|
||||
#
|
||||
return if (!$modules{CUL_HM}{helper}{autoRdCfgLst});
|
||||
while(@{$modules{CUL_HM}{helper}{autoRdCfgLst}}){
|
||||
my $name = shift(@{$modules{CUL_HM}{helper}{autoRdCfgLst}});
|
||||
my $hash = $defs{$name};
|
||||
@ -443,6 +444,8 @@ sub CUL_HM_Parse($$) {##############################
|
||||
my $shash = $modules{CUL_HM}{defptr}{$src};
|
||||
my $dhash = $modules{CUL_HM}{defptr}{$dst};
|
||||
|
||||
|
||||
|
||||
$respRemoved = 0; #set to 'no response in this message' at start
|
||||
if(!$shash) { # Unknown source
|
||||
# Generate an UNKNOWN event for pairing requests, ignore everything else
|
||||
@ -818,6 +821,16 @@ sub CUL_HM_Parse($$) {##############################
|
||||
}
|
||||
push @event, $statemsg;
|
||||
}
|
||||
elsif ($mTp eq "53"){
|
||||
my ($mChn,@dat) = unpack 'A2(A6)*',$p;
|
||||
my %dField = (41=>"temp_T1",42=>"temp_T2",43=>"temp_T1-T2",44=>"temp_T2-T1");
|
||||
foreach (@dat){
|
||||
my ($a,$d) = unpack 'A2A4',$_;
|
||||
$d = hex($d);
|
||||
$d -= 0x10000 if($d & 0x4000);
|
||||
push @event, sprintf("Val_$dField{$a}:%0.1f",$d/10);
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif($st =~ m /^(switch|dimmer|blindActuator)$/) {##########################
|
||||
if (($mTp eq "02" && $p =~ m/^01/) || # handle Ack_Status
|
||||
@ -1556,8 +1569,21 @@ sub CUL_HM_parseCommon(@){#####################################################
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif($mTp eq "40"){ #someone is triggere#################
|
||||
# elsif($mTp eq "40"){ #someone is triggered################
|
||||
# CUL_HM_qStateUpdatIfEnab($dst)if (hex($mFlg) & 0x20 && $dhash);
|
||||
# }
|
||||
elsif($mTp =~ m /^4[01]/){ #someone is triggered##########
|
||||
CUL_HM_qStateUpdatIfEnab($dst)if (hex($mFlg) & 0x20 && $dhash);
|
||||
my $cName = CUL_HM_id2Name($src.sprintf("%02X",hex(substr($p,0,2))& 0x3f));
|
||||
my $level = "-";
|
||||
$level = hex(substr($p,4,2))." %" if (length($p)>5);
|
||||
my @peers = split(",",AttrVal($cName,"peerIDs",""));
|
||||
foreach my $peer (@peers){
|
||||
my $pName = CUL_HM_id2Name($peer);
|
||||
next if (!$defs{$pName});
|
||||
CUL_HM_UpdtReadBulk($defs{$pName},1,"trig_$cName:$level",
|
||||
"trigLast:$cName");
|
||||
}
|
||||
}
|
||||
elsif($mTp eq "70"){ #Time to trigger TC##################
|
||||
#send wakeup and process command stack
|
||||
@ -4812,6 +4838,10 @@ sub CUL_HM_putHash($) {# provide data for HMinfo
|
||||
ValveErrorPosition $vep %<br>
|
||||
ValveOffset $of %<br>
|
||||
time-request<br>
|
||||
trig_<src> <value> #channel was triggered by <src> channel.
|
||||
This event relies on complete reading of channels configuration, otherwise Data can be
|
||||
incomplete or incorrect.<br>
|
||||
trigLast <channel> #last receiced trigger<br>
|
||||
</li>
|
||||
<li><B>HM-CC-VD</B><br>
|
||||
$vp %<br>
|
||||
|
@ -188,6 +188,7 @@ my %culHmModel=(
|
||||
"00A3" => {name=>"HM-LC-Dim1L-Pl-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||
"00A4" => {name=>"HM-LC-Dim1T-Pl-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||
"00A7" => {name=>"HM-Sen-RD-O" ,st=>'' ,cyc=>'' ,rxt=>'' ,lst=>'1:1,4:1' ,chn=>"Rain:1:1,Sw:2:2",},
|
||||
"00A8" => {name=>"HM-WDS30-OT2-SM" ,st=>'THSensor' ,cyc=>'00:05' ,rxt=>'c:w' ,lst=>'1:1,4:1' ,chn=>"",},
|
||||
"00A9" => {name=>"HM-PB-6-WM55" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:6",},
|
||||
#263 167 HM Smoke Detector Schueco
|
||||
#"HM-RC-Key4-2"
|
||||
@ -989,15 +990,15 @@ my %culHmBits = (
|
||||
MODE => '04,2,$val=hex($val)',
|
||||
} },
|
||||
"12" => { txt => "HAVE_DATA"},
|
||||
"3E" => { txt => "SWITCH", params => {
|
||||
"3E" => { txt => "SWITCH" , params => {
|
||||
DST => "00,6",
|
||||
UNKNOWN => "06,2",
|
||||
CHANNEL => "08,2",
|
||||
COUNTER => "10,2", } },
|
||||
"3F" => { txt => "TimeStamp", params => {
|
||||
"3F" => { txt => "TimeStamp" , params => {
|
||||
UNKNOWN => "00,4",
|
||||
TIME => "04,2", } },
|
||||
"40" => { txt => "REMOTE", params => {
|
||||
"40" => { txt => "REMOTE" , params => {
|
||||
BUTTON => '00,2,$val=(hex($val)&0x3F)',
|
||||
LONG => '00,2,$val=(hex($val)&0x40)?1:0',
|
||||
LOWBAT => '00,2,$val=(hex($val)&0x80)?1:0',
|
||||
@ -1008,12 +1009,16 @@ my %culHmBits = (
|
||||
LOWBAT => '00,2,$val=(hex($val)&0x80)?1:0',
|
||||
VALUE => '02,2,$val=(hex($val))',
|
||||
NEXT => '04,2,$val=(hex($val))',} },
|
||||
"53" => { txt => "WaterSensor", params => {
|
||||
CMD => "00,2",
|
||||
SEQ => '02,2,$val=(hex($val))-64',
|
||||
V1 => '08,2,$val=(hex($val))',
|
||||
V2 => '10,2,$val=(hex($val))',
|
||||
V3 => '12,2,$val=(hex($val))'} },
|
||||
"53" => { txt => "SensorData" , params => {
|
||||
CMD => "00,2",
|
||||
Fld1=> "02,2",
|
||||
Val1=> '04,4,$val=(hex($val))',
|
||||
Fld2=> "08,2",
|
||||
Val2=> '10,4,$val=(hex($val))',
|
||||
Fld3=> "14,2",
|
||||
Val3=> '16,4,$val=(hex($val))',
|
||||
Fld4=> "20,2",
|
||||
Val4=> '24,4,$val=(hex($val))'} },
|
||||
"58" => { txt => "ClimateEvent", params => {
|
||||
CMD => "00,2",
|
||||
ValvePos => '02,2,$val=(hex($val))', } },
|
||||
|
Loading…
x
Reference in New Issue
Block a user