From 0725f93966b023041b24c52c836db006c7e7e6ce Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Fri, 10 Jul 2015 13:29:54 +0000 Subject: [PATCH] 00_ZWDongle.pm: no resend exception fo ZW_SEND_DATA (Forum #37418) 10_ZWDongle.pm: activate callbackid for get git-svn-id: https://svn.fhem.de/fhem/trunk@8930 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_ZWDongle.pm | 23 +---------------------- fhem/FHEM/10_ZWave.pm | 2 +- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index 522e83436..33cba4b7e 100755 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -509,11 +509,6 @@ ZWDongle_Write($$$) { my ($hash,$fn,$msg) = @_; - if($fn !~ m/^[0-9A-F]+$/i) { # ACK initiated from ZWDongle - ZWDongle_shiftSendStack($hash, 5, $fn); - return; - } - Log3 $hash, 5, "ZWDongle_Write $fn $msg"; # assemble complete message $msg = "$fn$msg"; @@ -630,14 +625,7 @@ ZWDongle_Read($@) my $fb = substr($data, 0, 2); if($fb eq "06") { # ACK - # ZWDongle messages are removed upon first ACK. - # Other network messages are removed if ZW_SEND_DATA:OK is received - my $sst = $hash->{SendStack}->[0]; - if($sst && $sst !~ m/^01....13/) { - ZWDongle_shiftSendStack($hash, 5, "ACK received"); - } - - + ZWDongle_shiftSendStack($hash, 5, "ACK received"); $data = substr($data, 2); next; } @@ -693,15 +681,6 @@ ZWDongle_Read($@) Log3 $name, 4, "ZWDongle_Read $name: sending ACK, processing $msg"; DevIo_SimpleWrite($hash, "06", 1); # Send ACK - # SEND_DATA answer: remove message from SendStack. TODO: check callbackId - if($msg =~ m/^0013..(..)/ || $msg =~ m/^0113(..)/ ){ - my $m = $1; - my %msg = ('00'=>'OK', '01'=>'NO_ACK', '02'=>'FAIL', - '03'=>'NOT_IDLE', '04'=>'NOROUTE' ); - $m = $msg{$m} ? $msg{$m} : "UNKNOWN $m"; - ZWDongle_shiftSendStack($hash, 5, "ZW_SEND_DATA:$m received"); - } - last if(defined($local) && (!defined($regexp) || ($msg =~ m/$regexp/))); $hash->{PARTIAL} = $data; # Recursive call by ZWave get, Forum #37418 ZWDongle_Parse($hash, $name, $msg) if($init_done); diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 44c4b565c..0aa3d457c 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -634,7 +634,7 @@ ZWave_Cmd($$@) } } else { - $data .= $id if($type eq "set"); # callback=>id + $data .= $id; # callback=>id } IOWrite($hash, "00", $data);