2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-07 16:59:18 +00:00

ZWLib: add PRIORITY_ROUTING get

git-svn-id: https://svn.fhem.de/fhem/trunk@12651 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2016-11-25 15:12:14 +00:00
parent cd7f48ffee
commit e4e3bc81be
2 changed files with 16 additions and 0 deletions

View File

@ -64,6 +64,7 @@ my %gets = (
"nodeList" => "02", # SERIAL_API_GET_INIT_DATA
"random" => "1c%02x", # ZW_GET_RANDOM
"raw" => "%s", # hex
"routeFor" => "92%02x", # hex
"sucNodeId" => "56", # ZW_GET_SUC_NODE_ID
"timeouts" => "06", # SERIAL_API_SET_TIMEOUTS
"version" => "15", # ZW_GET_VERSION
@ -434,8 +435,10 @@ ZWDongle_Get($@)
return "No $cmd for dummies" if(IsDummy($name));
my $a0 = $a[0];
if($cmd eq "neighborList" ||
$cmd eq "nodeInfo" ||
$cmd eq "routeFor" ||
$cmd eq "isFailedNode") {
$a[0] =~ s/^UNKNOWN_//;
@ -451,6 +454,7 @@ ZWDongle_Get($@)
return $err if($err);
my $msg="";
$a[0] = $a0 if(defined($a0));
$msg = $ret if($ret);
my @r = map { ord($_) } split("", pack('H*', $ret)) if(defined($ret));
@ -517,6 +521,16 @@ ZWDongle_Get($@)
} elsif($cmd eq "sucNodeId") { ############################
$msg = ($r[2]==0)?"no":$r[2];
} elsif($cmd eq "routeFor") { ############################
my $homeId = $hash->{homeId};
my @list = (hex(substr($msg, 6, 2)));
for(my $off=8; $off<16; $off+=2) {
my $dec = hex(substr($msg, $off, 2));
my $hex = sprintf("%02x", $dec);
my $h = $modules{ZWave}{defptr}{"$homeId $hex"};
push @list, ($h ? $h->{NAME} : "UNKNOWN_$dec") if($dec);
}
$msg = "NrRouters:".join(" ", @list);
}
$cmd .= "_".join("_", @a) if(@a);

View File

@ -90,6 +90,8 @@ use vars qw(%zw_type6);
'84' => 'STORE_HOME_ID',
'90' => 'LOCK_ROUTE_RESPONSE',
'91' => 'ZW_SEND_DATA_ROUTE_DEMO',
'92' => 'ZW_GET_PRIORITY_ROUTE',
'93' => 'ZW_SET_PRIORITY_ROUTE',
'95' => 'SERIAL_API_TEST',
'a0' => 'SERIAL_API_SLAVE_NODE_INFO',
'a1' => 'APPLICATION_SLAVE_COMMAND_HANDLER',