From 1b36b5100474f879a8ce1648c0924d6e3318dbb6 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 7 Jun 2016 17:34:52 +0000 Subject: [PATCH] 10_ZWave.pm: ZW_ASSIGN_RETURN_ROUTE patch from krikan (Forum #54248) git-svn-id: https://svn.fhem.de/fhem/trunk@11630 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_ZWave.pm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 7cf76a494..e12ae29ba 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -768,6 +768,10 @@ ZWave_Cmd($$@) if($type eq "set") { $cmdList{neighborUpdate}{fmt} = "48$id"; $cmdList{neighborUpdate}{id} = ""; + $cmdList{returnRouteAdd}{fmt} = "46$id%02x"; + $cmdList{returnRouteAdd}{id} = ""; + $cmdList{returnRouteDel}{fmt} = "47$id"; + $cmdList{returnRouteDel}{id} = ""; my $iohash = $hash->{IODev}; if($iohash && ReadingsVal($iohash->{NAME}, "sucNodeId","no") ne "no") { $cmdList{sucRouteAdd}{fmt} = "51$id"; @@ -882,6 +886,8 @@ ZWave_Cmd($$@) my $data; if($cmd eq "neighborUpdate" || + $cmd eq "returnRouteAdd" || + $cmd eq "returnRouteDel" || $cmd eq "sucRouteAdd" || $cmd eq "sucRouteDel" ) { $data = $cmdFmt; @@ -926,6 +932,8 @@ ZWave_Cmd($$@) if($type ne "get") { if($cmd eq "neighborUpdate" || + $cmd eq "returnRouteAdd" || + $cmd eq "returnRouteDel" || $cmd eq "sucRouteAdd" || $cmd eq "sucRouteDel" ) { ZWave_processSendStack($hash, "next"); @@ -3534,7 +3542,7 @@ ZWave_getHash($$$) if(defined($version) && ($type eq "get" || $type eq "set")) { my %h; if($version > 0) { - map { + map { my $zv = $zwave_classVersion{$_}; if(!$zv || ((!$zv->{min} || $zv->{min} <= $version) && (!$zv->{max} || $zv->{max} >= $version))) { @@ -3769,6 +3777,8 @@ ZWave_Parse($$@) if($cmd eq "ZW_ASSIGN_SUC_RETURN_ROUTE" || $cmd eq "ZW_DELETE_SUC_RETURN_ROUTE" || + $cmd eq "ZW_ASSIGN_RETURN_ROUTE" || + $cmd eq "ZW_DELETE_RETURN_ROUTE" || $cmd eq "ZW_SEND_SUC_ID") { my $retval; if($arg eq "00") { $retval = 'alreadyActive'; @@ -3963,6 +3973,8 @@ ZWave_Parse($$@) } elsif($cmd eq "ZW_ASSIGN_SUC_RETURN_ROUTE" || $cmd eq "ZW_DELETE_SUC_RETURN_ROUTE" || + $cmd eq "ZW_ASSIGN_RETURN_ROUTE" || + $cmd eq "ZW_DELETE_RETURN_ROUTE" || $cmd eq "ZW_SEND_SUC_ID") { if($id eq "00") { $evt = 'transmitOk'; } elsif($id eq "01") { $evt = 'transmitNoAck'; @@ -4355,6 +4367,13 @@ s2Hex($) update process. To read node's neighbor list see neighborList get below. +
  • returnRouteAdd <decimal nodeId>
    + Assign up to 4 static return routes to the routing/enhanced slave to + allow direct communication to <decimal nodeId>. (experts only)
  • + +
  • returnRouteDel
    + Delete all static return routes. (experts only)
  • +
  • sucRouteAdd
    Inform the routing/enhanced slave of the presence of a SUC/SIS. Assign up to 4 static return routes to SUC/SIS.
  • @@ -5232,6 +5251,16 @@ s2Hex($)
    neighborUpdate
  • ZW_REQUEST_NODE_NEIGHBOR_UPDATE [started|done|failed]
  • +
    returnRouteAdd +
  • ZW_ASSIGN_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk| + transmitNoAck|transmitFail|transmitNotIdle| + transmitNoRoute]
  • + +
    returnRouteDel +
  • ZW_ASSIGN_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk| + transmitNoAck|transmitFail|transmitNotIdle| + transmitNoRoute]
  • +
    sucRouteAdd
  • ZW_ASSIGN_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk| transmitNoAck|transmitFail|transmitNotIdle|