From 7a3d7a70af6c03a082dbb35d9eab2ef5436ced9d Mon Sep 17 00:00:00 2001 From: mgehre Date: Sun, 9 Dec 2012 15:03:41 +0000 Subject: [PATCH] CUL_MAX: send Ack to correct address and don't wait for Ack after Ack git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@2306 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/14_CUL_MAX.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/14_CUL_MAX.pm b/fhem/FHEM/14_CUL_MAX.pm index 94de6eadc..210ea9feb 100644 --- a/fhem/FHEM/14_CUL_MAX.pm +++ b/fhem/FHEM/14_CUL_MAX.pm @@ -207,7 +207,7 @@ CUL_MAX_Parse($$) Dispatch($shash, "MAX,$isToMe,$msgType,$src,$payload", {RAWMSG => $rmsg}); #Only ShutterContactState needs ack if($msgType eq "ShutterContactState" and $dst eq $shash->{addr}) { - CUL_MAX_SendAck($shash,$msgcnt,$dst); + CUL_MAX_SendAck($shash,$msgcnt,$src); } } else { Log 5, "Unhandled message $msgType"; @@ -222,7 +222,7 @@ sub CUL_MAX_SendAck($$$) { my ($hash,$msgcnt,$dst) = @_; - return CUL_MAX_Send($hash, "Ack", $dst, "00", "", "00", $msgcnt); + return CUL_MAX_Send($hash, "Ack", $dst, "00", "00", "00", $msgcnt); } #All inputs are hex strings, $cmd is one from %msgCmd2Id @@ -251,6 +251,7 @@ CUL_MAX_Send(@) IOWrite($hash, "", "Zs". $packet); #Schedule checking for Ack + return undef if($cmd eq "Ack"); #we don't get an Ack for an Ack my $timeout = gettimeofday()+$ackTimeout; $waitForAck[@waitForAck] = { "packet" => $packet, "dest" => $dst,