mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-08 07:24:21 +00:00
sign on/off tested & fixed
git-svn-id: https://svn.fhem.de/fhem/trunk@860 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
6c476fcad8
commit
546a823698
@ -325,6 +325,7 @@ HMLAN_SimpleWrite(@)
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
return if(!$hash || AttrVal($hash->{NAME}, "dummy", undef));
|
return if(!$hash || AttrVal($hash->{NAME}, "dummy", undef));
|
||||||
|
|
||||||
|
select(undef, undef, undef, 0.01);
|
||||||
Log GetLogLevel($name,5), "SW: $msg";
|
Log GetLogLevel($name,5), "SW: $msg";
|
||||||
|
|
||||||
$msg .= "\r\n" unless($nonl);
|
$msg .= "\r\n" unless($nonl);
|
||||||
|
@ -191,8 +191,11 @@ CUL_HM_Parse($$)
|
|||||||
$dname = "broadcast" if($dst eq "000000");
|
$dname = "broadcast" if($dst eq "000000");
|
||||||
$dname = $iohash->{NAME} if($dst eq $id);
|
$dname = $iohash->{NAME} if($dst eq $id);
|
||||||
|
|
||||||
if($p =~ m/NACK$/) {
|
if($p =~ m/NACK$/) { # HMLAN special
|
||||||
if($dhash) {
|
if($dhash) {
|
||||||
|
delete($dhash->{ackCmdSent});
|
||||||
|
delete($dhash->{ackWaiting});
|
||||||
|
delete($dhash->{cmdStack});
|
||||||
$dhash->{STATE} = "MISSING ACK";
|
$dhash->{STATE} = "MISSING ACK";
|
||||||
DoTrigger($dname, "MISSING ACK");
|
DoTrigger($dname, "MISSING ACK");
|
||||||
}
|
}
|
||||||
@ -520,6 +523,12 @@ CUL_HM_Set($@)
|
|||||||
} elsif($cmd eq "reset") { ############################################
|
} elsif($cmd eq "reset") { ############################################
|
||||||
$sndcmd = sprintf("++A011%s%s0400", $id,$dst);
|
$sndcmd = sprintf("++A011%s%s0400", $id,$dst);
|
||||||
|
|
||||||
|
} elsif($cmd eq "pair") { #############################################
|
||||||
|
my $serialNr = AttrVal($name, "serialNr", undef);
|
||||||
|
return "serialNr is not set" if(!$serialNr);
|
||||||
|
$sndcmd = sprintf("++A401%s000000010A%s", $id, unpack("H*",$serialNr));
|
||||||
|
$shash->{hmPairSerial} = $serialNr;
|
||||||
|
|
||||||
} elsif($cmd eq "unpair") { ###########################################
|
} elsif($cmd eq "unpair") { ###########################################
|
||||||
$sndcmd =
|
$sndcmd =
|
||||||
sprintf("++A001%s%s00050000000000", $id,$dst);
|
sprintf("++A001%s%s00050000000000", $id,$dst);
|
||||||
@ -530,18 +539,12 @@ CUL_HM_Set($@)
|
|||||||
|
|
||||||
} elsif($cmd eq "sign") { ############################################
|
} elsif($cmd eq "sign") { ############################################
|
||||||
$sndcmd =
|
$sndcmd =
|
||||||
sprintf("++A001%s%s%s050000000000", $id,$dst, $chn);
|
sprintf("++A001%s%s%s0500000000%s", $id,$dst,$chn,$chn);
|
||||||
CUL_HM_PushCmdStack($shash,
|
CUL_HM_PushCmdStack($shash,
|
||||||
sprintf("++A001%s%s%s0808%s",$id,$dst, $chn,
|
sprintf("++A001%s%s%s0808%s",$id,$dst,$chn,
|
||||||
($a[2] eq "on" ? "01" : "02"));
|
($a[2] eq "on" ? "01" : "02")));
|
||||||
CUL_HM_PushCmdStack($shash,
|
CUL_HM_PushCmdStack($shash,
|
||||||
sprintf("++A001%s%s%s06",$id,$dst, $chn));
|
sprintf("++A001%s%s%s06",$id,$dst,$chn));
|
||||||
|
|
||||||
} elsif($cmd eq "pair") { #############################################
|
|
||||||
my $serialNr = AttrVal($name, "serialNr", undef);
|
|
||||||
return "serialNr is not set" if(!$serialNr);
|
|
||||||
$sndcmd = sprintf("++A401%s000000010A%s", $id, unpack("H*",$serialNr));
|
|
||||||
$shash->{hmPairSerial} = $serialNr;
|
|
||||||
|
|
||||||
} elsif($cmd eq "statusRequest") { ####################################
|
} elsif($cmd eq "statusRequest") { ####################################
|
||||||
$sndcmd = sprintf("++A001%s%s%s0E", $id,$dst, $chn);
|
$sndcmd = sprintf("++A001%s%s%s0E", $id,$dst, $chn);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user