From f33e7798efbc93e33d985d0da6c7b11a4d9bc3e1 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Sat, 19 Apr 2014 06:07:06 +0000 Subject: [PATCH] ZWave: patches from fhem-me (forum #19147) git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@5564 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_ZWDongle.pm | 4 ++-- fhem/FHEM/10_ZWave.pm | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index 93df34daa..c255dae25 100755 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -410,9 +410,10 @@ ZWave_HandleSendStack($) { my $hash = shift; shift @{$hash->{SendStack}}; + RemoveInternalTimer($hash); # remove timer to avoid re-trigger return if(!@{$hash->{SendStack}}); ZWDongle_Write($hash, "00", $hash->{SendStack}->[0], 1); - InternalTimer(gettimeofday()+0.1, "ZWave_HandleSendStack", $hash, 0); + InternalTimer(gettimeofday()+0.5, "ZWave_HandleSendStack", $hash, 0); } ##################################### @@ -509,7 +510,6 @@ ZWDongle_ReadAnswer($$$) if(!$hash || ($^O !~ /Win/ && !defined($hash->{FD}))); my $to = ($hash->{RA_Timeout} ? $hash->{RA_Timeout} : 3); - shift @{$hash->{SendStack}}; # Hope this is right. for(;;) { my $buf; diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 78c26e048..c49be7141 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -619,7 +619,11 @@ ZWave_Parse($$@) return $ret; } elsif($cmd eq "ZW_SEND_DATA") { - Log3 $ioName, 2, "$ioName ERROR: SEND_DATA returned $id" if($id ne "00"); + if($id ne "00") { + Log3 $ioName, 2, "$ioName ERROR: SEND_DATA returned $id"; + } else { + ZWave_HandleSendStack($iodev); + } return ""; }