mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-13 05:06:35 +00:00
IR-Send Update in CUL_IR
git-svn-id: https://svn.fhem.de/fhem/trunk@1077 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
53c85131c4
commit
a00436cbc5
@ -14,13 +14,14 @@ sub CUL_IR_Define($$);
|
||||
sub CUL_IR_Undef($$);
|
||||
sub CUL_IR_Initialize($);
|
||||
sub CUL_IR_Parse($$);
|
||||
#sub CUL_IR_SendCmd($$$$);
|
||||
sub CUL_IR_SendCmd($$);
|
||||
sub CUL_IR_Set($@);
|
||||
sub CUL_IR_Attr(@);
|
||||
|
||||
|
||||
my %sets = (
|
||||
"irLearnForSec" => ""
|
||||
"irLearnForSec" => "",
|
||||
"irSend" => ""
|
||||
);
|
||||
|
||||
|
||||
@ -231,42 +232,69 @@ CUL_IR_Set($@)
|
||||
InternalTimer(gettimeofday()+$arg, "CUL_IR_RemoveIRLearn", $hash, 1);
|
||||
}
|
||||
|
||||
if($type eq "irSend") { ####################################
|
||||
return "Usage: set $name irSend <IR-Code | ButtonName>"
|
||||
if(!$arg || $arg !~ m/^\w+$/);
|
||||
CUL_IR_SendCmd ($hash, $arg);
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
###################################
|
||||
#sub
|
||||
#CUL_IR_SendCmd($$$$)
|
||||
#{
|
||||
# my ($hash, $cmd, $sleep, $waitforack) = @_;
|
||||
# my $io = $hash->{IODev};
|
||||
# my $l4 = GetLogLevel($hash->{NAME},4);
|
||||
#
|
||||
# select(undef, undef, undef, 0.1*$sleep) if($sleep);
|
||||
#
|
||||
# $cmd =~ m/^(..)(.*)$/;
|
||||
# my ($mn, $cmd2) = ($1, $2);
|
||||
#
|
||||
# if($mn eq "++") {
|
||||
# $mn = $io->{HM_CMDNR} ? ($io->{HM_CMDNR} +1) : 1;
|
||||
# $mn = 0 if($mn > 255);
|
||||
sub
|
||||
CUL_IR_SendCmd($$)
|
||||
{
|
||||
my ($hash, $arg) = @_;
|
||||
my $l4 = GetLogLevel($hash->{NAME},4);
|
||||
my $found = 0;
|
||||
my $ir;
|
||||
my $cmd;
|
||||
my $bcmd;
|
||||
|
||||
# } else {
|
||||
# $mn = hex($mn);
|
||||
if ($arg =~ m/^Button.*/) { #Argument is a ButtonName
|
||||
# Search for single Button(s)
|
||||
foreach my $name (keys %{ $attr{$hash->{NAME}} }) {
|
||||
if ($name eq $arg) {
|
||||
($ir, $bcmd) = split("[ \t]", $attr{$hash->{NAME}}{$name}, 2);
|
||||
$found++;
|
||||
}
|
||||
}
|
||||
if (!$found) {
|
||||
Log 2, "$hash->{NAME}->irSend: No Button found with name $arg, please define/learn a new one";
|
||||
return "$hash->{NAME}: Unknown button name $arg";
|
||||
}
|
||||
$cmd = sprintf("Is%s", substr($ir, 1));
|
||||
} else {
|
||||
if (length ($arg) == 12) {
|
||||
if ($arg =~ m/^[0-9A-F]+$/) {
|
||||
$cmd = sprintf("Is%s", $arg);
|
||||
} else {
|
||||
Log 2, "$hash->{NAME}->irSend: Wrong IR-Code";
|
||||
return "$hash->{NAME}: Wrong IR-Code";
|
||||
}
|
||||
} elsif (length ($arg) == 13) {
|
||||
if (substr($arg, 0, 1) eq "I") {
|
||||
if (substr($arg, 1) =~ m/^[0-9A-F]+$/) {
|
||||
$cmd = sprintf("Is%s", substr($arg, 1));
|
||||
} else {
|
||||
Log 2, "$hash->{NAME}->irSend: Wrong IR-Code";
|
||||
return "$hash->{NAME}: Wrong IR-Code";
|
||||
}
|
||||
} else {
|
||||
Log 2, "$hash->{NAME}->irSend: Wrong IR-Code";
|
||||
return "$hash->{NAME}: Wrong IR-Code";
|
||||
}
|
||||
} else {
|
||||
Log 2, "$hash->{NAME}->irSend: Wrong IR-Code";
|
||||
return "$hash->{NAME}: Wrong IR-Code";
|
||||
}
|
||||
|
||||
# }
|
||||
|
||||
# $io->{HM_CMDNR} = $mn;
|
||||
# $cmd = sprintf("As%02X%02x%s", length($cmd2)/2+1, $mn, $cmd2);
|
||||
# Log $l4, "CUL_IR SEND $cmd";
|
||||
# IOWrite($hash, "", $cmd);
|
||||
# if($waitforack) {
|
||||
# $hash->{ackWaiting} = $cmd;
|
||||
# $hash->{ackCmdSent} = 1;
|
||||
# InternalTimer(gettimeofday()+0.4, "CUL_IR_Resend", $hash, 0);
|
||||
# }
|
||||
#}
|
||||
}
|
||||
Log $l4, "$hash->{NAME} SEND $cmd";
|
||||
IOWrite($hash, "", $cmd);
|
||||
}
|
||||
|
||||
sub
|
||||
CUL_IR_Attr(@)
|
||||
|
Loading…
x
Reference in New Issue
Block a user