winMatic changes from Frank

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@974 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2011-08-07 20:21:57 +00:00
parent 5ee9c9a316
commit c3797103c2

View File

@ -782,8 +782,9 @@ CUL_HM_Set($@)
$sndcmd = sprintf("++B001%s%s0104%s%02X03", $id, $dst, $id, $a[2]); $sndcmd = sprintf("++B001%s%s0104%s%02X03", $id, $dst, $id, $a[2]);
} elsif($cmd eq "keydef") { ##################################### } elsif($cmd eq "keydef") { #####################################
if ($a[3] eq "tilt") {
$sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2], "0B220D838B228D83"); if ($a[3] eq "tilt") {
$sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2],"0B220D838B228D83");
} elsif ($a[3] eq "close") { } elsif ($a[3] eq "close") {
$sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2], "0B550D838B558D83"); $sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2], "0B550D838B558D83");
@ -798,15 +799,17 @@ CUL_HM_Set($@)
$sndcmd = sprintf("++B001%s%s0102%s%02X%s", $id, $dst, $id, $a[2], $chn); $sndcmd = sprintf("++B001%s%s0102%s%02X%s", $id, $dst, $id, $a[2], $chn);
} elsif ($a[3] eq "speedclose") { } elsif ($a[3] eq "speedclose") {
$sndcmd = $a[4]*2;
$sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2], $sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2],
sprintf("23%02XA3%02X", $sndcmd, $sndcmd)); sprintf("23%02XA3%02X", $sndcmd, $sndcmd));
} elsif ($a[3] eq "speedtilt") { } elsif ($a[3] eq "speedtilt") {
$sndcmd = $a[4]*2;
$sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2], $sndcmd = CUL_HM_maticFn($hash, $id, $dst, $a[2],
sprintf("22%02XA2%02X", $sndcmd, $sndcmd)); sprintf("22%02XA2%02X", $sndcmd, $sndcmd));
} }
} elsif($cmd eq "devicepair") { ##################################### } elsif($cmd eq "devicepair") { #####################################
return "$a[2] is not a button number" if($a[2] !~ m/^\d$/ || $a[2] < 1); return "$a[2] is not a button number" if($a[2] !~ m/^\d$/ || $a[2] < 1);
my $b1 = sprintf("%02X", $a[2]*2-1); my $b1 = sprintf("%02X", $a[2]*2-1);
@ -818,7 +821,7 @@ CUL_HM_Set($@)
my $dst2 = $dhash->{DEF}; my $dst2 = $dhash->{DEF};
my $chn2 = "01"; my $chn2 = "01";
if(length($dst) == 8) { # shadow switch device for multi-channel switch if(length($dst) == 8) { # shadow switch device for multi-channel switch
$chn2 = substr($dst2, 6, 2); $chn2 = substr($dst2, 6, 2);
$dst2 = substr($dst2, 0, 6); $dst2 = substr($dst2, 0, 6);
} }
@ -1268,13 +1271,12 @@ CUL_HM_maticFn($$$$$)
{ {
my ($hash, $id, $dst, $a2, $cfg) = @_; my ($hash, $id, $dst, $a2, $cfg) = @_;
my $sndcmd = sprintf("++B001%s%s0105%s%02X03", $id, $dst, $id, $a2); my $sndcmd = sprintf("++B001%s%s0105%s%02X03", $id, $dst, $id, $a2);
CUL_HM_SendCmd ($hash, $sndcmd, 2, 2); CUL_HM_SendCmd ($hash, $sndcmd, 10, 2);
$sndcmd = sprintf("++A001%s%s01080%s", $id, $dst, $cfg); $sndcmd = sprintf("++A001%s%s0108%s", $id, $dst, $cfg);
sleep (2); CUL_HM_SendCmd ($hash, $sndcmd, 10, 2);
CUL_HM_SendCmd ($hash, $sndcmd, 2, 2);
sleep(2);
$sndcmd = sprintf("++A001%s%s0106", $id, $dst); $sndcmd = sprintf("++A001%s%s0106", $id, $dst);
return $sndcmd; return $sndcmd;
} }
1; 1;