From 15f0efda9dc66f64ed732400ebf260d956a13ede Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 21 May 2013 12:48:44 +0000 Subject: [PATCH] Fixing devList for multiple devices git-svn-id: https://svn.fhem.de/fhem/trunk@3202 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_FBAHA.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/00_FBAHA.pm b/fhem/FHEM/00_FBAHA.pm index 3154c3f61..ff65b3ab7 100755 --- a/fhem/FHEM/00_FBAHA.pm +++ b/fhem/FHEM/00_FBAHA.pm @@ -143,10 +143,14 @@ FBAHA_getDevList($$) my ($hash, $onlyId) = @_; FBAHA_Write($hash, "05", "00000000"); # CONFIG_REQ - my ($err, $data) = FBAHA_ReadAnswer($hash, "CONFIG_RSP", "^06"); - return ($err) if($err); + my $data = ""; + for(;;) { + my ($err, $buf) = FBAHA_ReadAnswer($hash, "CONFIG_RSP", "^06"); + return ($err) if($err); + $data .= substr($buf, 32); + last if($buf =~ m/^060[23]/); + } - $data = substr($data, 32); # Header return FBAHA_configInd($data, $onlyId); } @@ -178,7 +182,7 @@ FBAHA_configInd($$) if(!$onlyId || $onlyId == $id); if($onlyId && $onlyId == $id) { - my $mnf = hex(substr($data,184, 4)); # empty/0 + my $mnf = hex(substr($data,184, 8)); # empty/0 my $idf = substr($data,192,40); # empty/0 my $frm = substr($data,232,40); # empty/0 push @answer, " MANUF:$mnf";