mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-08 07:24:21 +00:00
10_ZWDongle.pm: replaceFailedNode.patch (Forum #41701)
git-svn-id: https://svn.fhem.de/fhem/trunk@9348 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
3d4e85bdeb
commit
1ec9a63eb5
@ -31,7 +31,7 @@ my %sets = (
|
||||
param => {nwOn=>0xc1, on=>0x81, off=>0x05 } },
|
||||
"createNode" => { cmd => "60%02x" }, # ZW_REQUEST_NODE_INFO'
|
||||
"removeFailedNode" => { cmd => "61%02x@" }, # ZW_REMOVE_FAILED_NODE_ID
|
||||
"replaceFailedNode"=> { cmd => "63%02x" }, # ZW_REPLACE_FAILED_NODE
|
||||
"replaceFailedNode"=> { cmd => "63%02x@" }, # ZW_REPLACE_FAILED_NODE
|
||||
"neighborUpdate" => { cmd => "48%02x" }, # ZW_REQUEST_NODE_NEIGHBOR_UPDATE
|
||||
"sendNIF" => { cmd => "12%02x05@" },# ZW_SEND_NODE_INFORMATION
|
||||
"setNIF" => { cmd => "03%02x%02x%02x%02x" },
|
||||
@ -882,10 +882,14 @@ ZWDongle_Ready($)
|
||||
below.</li>
|
||||
|
||||
<li>removeFailedNode<br>
|
||||
Remove a non-responding node that must be on the failed Node list from
|
||||
the node list in controller. Instead, always use removeNode if possible.
|
||||
Remove a non-responding node -that must be on the failed Node list- from
|
||||
the routing table in controller. Instead,always use removeNode if possible.
|
||||
Note: the corresponding fhem device have to be deleted manually.</li>
|
||||
|
||||
<li>replaceFailedNode<br>
|
||||
Replace a non-responding node with a new one. The non-responding node
|
||||
must be on the failed Node list.</li>
|
||||
|
||||
<li>reopen<br>
|
||||
First close and then open the device. Used for debugging purposes.
|
||||
</li>
|
||||
@ -953,13 +957,19 @@ ZWDongle_Ready($)
|
||||
<li>ZW_ADD_NODE_TO_NETWORK [learnReady|nodeFound|controller|done|failed]
|
||||
</li>
|
||||
<li>ZW_REMOVE_FAILED_NODE_ID
|
||||
[notPrimaryController|noCallbackFunction|failedNodeNotFound|
|
||||
failedNodeProcessBusy|failedNodeRemoveFail|nodeOk|nodeRemoved|
|
||||
nodeNotRemoved]
|
||||
[failedNodeRemoveStarted|notPrimaryController|noCallbackFunction|
|
||||
failedNodeNotFound|failedNodeRemoveProcessBusy|
|
||||
failedNodeRemoveFail|nodeOk|nodeRemoved|nodeNotRemoved]
|
||||
</li>
|
||||
<li>ZW_REMOVE_NODE_FROM_NETWORK
|
||||
[learnReady|nodeFound|slave|controller|done|failed]
|
||||
</li>
|
||||
<li>ZW_REPLACE_FAILED_NODE
|
||||
[failedNodeRemoveStarted|notPrimaryController|noCallbackFunction|
|
||||
failedNodeNotFound|failedNodeRemoveProcessBusy|
|
||||
failedNodeRemoveFail|nodeOk|failedNodeReplace|
|
||||
failedNodeReplaceDone|failedNodeRemoveFailed]
|
||||
</li>
|
||||
<li>UNDEFINED ZWave_${type6}_$id ZWave $homeId $id $classes"
|
||||
</li>
|
||||
<li>ZW_REQUEST_NODE_NEIGHBOR_UPDATE [started|done|failed]
|
||||
|
@ -2525,22 +2525,16 @@ ZWave_Parse($$@)
|
||||
Log3 $ioName, 2, "SERIAL_API_SET_TIMEOUTS: ACK:$1 BYTES:$2";
|
||||
return "";
|
||||
}
|
||||
if($cmd eq "ZW_REMOVE_FAILED_NODE_ID") {
|
||||
if($cmd eq "ZW_REMOVE_FAILED_NODE_ID" ||
|
||||
$cmd eq "ZW_REPLACE_FAILED_NODE") {
|
||||
my $retval;
|
||||
if ($arg eq "00") {
|
||||
$retval = 'failedNodeRemoveStarted';
|
||||
} elsif ($arg eq "02") {
|
||||
$retval = 'notPrimaryController';
|
||||
} elsif ($arg eq "04") {
|
||||
$retval = 'noCallbackFunction';
|
||||
} elsif ($arg eq "08") {
|
||||
$retval = 'failedNodeNotFound';
|
||||
} elsif ($arg eq "10") {
|
||||
$retval = 'failedNodeRemoveProcessBusy';
|
||||
} elsif ($arg eq "20") {
|
||||
$retval = 'failedNodeRemoveFail';
|
||||
} else {
|
||||
$retval = 'unknown_'.$arg; # should never happen
|
||||
if($arg eq "00") { $retval = 'failedNodeRemoveStarted';
|
||||
} elsif($arg eq "02") { $retval = 'notPrimaryController';
|
||||
} elsif($arg eq "04") { $retval = 'noCallbackFunction';
|
||||
} elsif($arg eq "08") { $retval = 'failedNodeNotFound';
|
||||
} elsif($arg eq "10") { $retval = 'failedNodeRemoveProcessBusy';
|
||||
} elsif($arg eq "20") { $retval = 'failedNodeRemoveFail';
|
||||
} else { $retval = 'unknown_'.$arg; # should never happen
|
||||
}
|
||||
DoTrigger($ioName, "$cmd $retval");
|
||||
return "";
|
||||
@ -2656,25 +2650,25 @@ ZWave_Parse($$@)
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_REQUEST_NODE_NEIGHBOR_UPDATE") {
|
||||
if ($id eq "21") {
|
||||
$evt = 'started';
|
||||
} elsif ($id eq "22") {
|
||||
$evt = 'done';
|
||||
} elsif ($id eq "23") {
|
||||
$evt = 'failed';
|
||||
} else {
|
||||
$evt = 'unknown'; # should never happen
|
||||
if($id eq "21") { $evt = 'started';
|
||||
} elsif($id eq "22") { $evt = 'done';
|
||||
} elsif($id eq "23") { $evt = 'failed';
|
||||
} else { $evt = 'unknown'; # should never happen
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_REMOVE_FAILED_NODE_ID") {
|
||||
if ($id eq "00") {
|
||||
$evt = 'nodeOk';
|
||||
} elsif ($id eq "01") {
|
||||
$evt = 'failedNodeRemoved';
|
||||
} elsif ($id eq "02") {
|
||||
$evt = 'failedNodeNotRemoved';
|
||||
} else {
|
||||
$evt = 'unknown_'.$id; # should never happen
|
||||
if($id eq "00") { $evt = 'nodeOk';
|
||||
} elsif($id eq "01") { $evt = 'failedNodeRemoved';
|
||||
} elsif($id eq "02") { $evt = 'failedNodeNotRemoved';
|
||||
} else { $evt = 'unknown_'.$id; # should never happen
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_REPLACE_FAILED_NODE") {
|
||||
if($id eq "00") { $evt = 'nodeOk';
|
||||
} elsif($id eq "03") { $evt = 'failedNodeReplace';
|
||||
} elsif($id eq "04") { $evt = 'failedNodeReplaceDone';
|
||||
} elsif($id eq "05") { $evt = 'failedNodeRemoveFailed';
|
||||
} else { $evt = 'unknown_'.$id; # should never happen
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user