From c1b1af71676ef79ead55ec5f130fdc65fe99c54f Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Fri, 25 Nov 2016 19:18:53 +0000 Subject: [PATCH] 00_ZWDongle: routeFor fixes (forum #61359) git-svn-id: https://svn.fhem.de/fhem/trunk@12654 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_ZWDongle.pm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index c1ca2e82c..e355379bc 100755 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -523,14 +523,18 @@ ZWDongle_Get($@) } elsif($cmd eq "routeFor") { ############################ my $homeId = $hash->{homeId}; - my @list = (hex(substr($msg, 6, 2))); - for(my $off=8; $off<16; $off+=2) { + my @list; + for(my $off=6; $off<16; $off+=2) { my $dec = hex(substr($msg, $off, 2)); my $hex = sprintf("%02x", $dec); - my $h = $modules{ZWave}{defptr}{"$homeId $hex"}; + my $h = ($hex eq $hash->{nodeIdHex} ? + $hash : $modules{ZWave}{defptr}{"$homeId $hex"}); push @list, ($h ? $h->{NAME} : "UNKNOWN_$dec") if($dec); } - $msg = "NrRouters:".join(" ", @list); + my $f = substr($msg, 17, 1); + push @list, ("at ".($f==1 ? "9.6": ($f==2 ? "40":"100"))."kbps") + if(@list && $f =~ m/[123]/); + $msg = (@list ? join(" ", @list) : "N/A"); } $cmd .= "_".join("_", @a) if(@a); @@ -1150,6 +1154,10 @@ ZWDongle_Ready($) Send raw data <hex> to the controller. Developer only. +