diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index e355379bc..2ae79de3d 100755 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -44,6 +44,8 @@ my %sets = ( param => {onNw=>0xc1, on=>0x81, off=>0x05 } }, "reopen" => { cmd => "" }, "replaceFailedNode"=> { cmd => "63%02x@" }, # ZW_REPLACE_FAILED_NODE + "routeFor" => { cmd => "93%02x%02x%02x%02x%02x%02x" }, + # ZW_SET_PRIORITY_ROUTE "sendNIF" => { cmd => "12%02x05@" },# ZW_SEND_NODE_INFORMATION "setNIF" => { cmd => "03%02x%02x%02x%02x" }, # SERIAL_API_APPL_NODE_INFORMATION @@ -366,6 +368,15 @@ ZWDongle_Set($@) } } + if($type eq "routeFor") { + for(@a = @a) { + $_ =~ s/^UNKNOWN_//; + $_ = hex($defs{$_}{nodeIdHex}) + if($defs{$_} && $defs{$_}{nodeIdHex}); + return "$_ is neither a device nor a decimal id" if($_ !~ m/\d+/); + } + } + my $par = $sets{$type}{param}; if($par && !$par->{noArg}) { return "Unknown argument for $type, choose one of ".join(" ",keys %{$par}) @@ -1094,9 +1105,16 @@ ZWDongle_Ready($) Replace a non-responding node with a new one. The non-responding node must be on the failed node list. +
  • routeFor <device> <hop1> <hop2> <hop3> + <hop4> <speed>
    + set priority routing for <device>. <device> and <hopN> are + either device name or decimal nodeId or 0 for unused.
    + <speed>: 1=9,6kbps; 2=40kbps; 3=100kbps +
  • +
  • sucNodeId <decimal nodeId> <sucState> <capabilities>
    - <Configure a controller node to be a SUC/SIS or not.
    + Configure a controller node to be a SUC/SIS or not.
    <nodeId>: decimal nodeId to be SUC/SIS
    <sucState>: 0 = deactivate; 1 = activate
    <capabilities>: 0 = basic SUC; 1 = SIS