ZWave/ZWDongle: SUC/SIS Patches from krikan (Forum #53066)
git-svn-id: https://svn.fhem.de/fhem/trunk@11488 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -47,6 +47,8 @@ my %sets = (
|
||||
# SERIAL_API_APPL_NODE_INFORMATION
|
||||
"sucNodeId" => { cmd => "54%02x%02x00%02x@"},
|
||||
# ZW_SET_SUC_NODE_ID
|
||||
"sucRequestUpdate" => { cmd => "53%02x@"}, # ZW_REQUEST_NETWORK_UPDATE
|
||||
"sucSendNodeId" => { cmd => "57%02x25@"}, # ZW_SEND_SUC_ID
|
||||
"timeouts" => { cmd => "06%02x%02x" }, # SERIAL_API_SET_TIMEOUTS
|
||||
);
|
||||
|
||||
@@ -943,6 +945,14 @@ ZWDongle_Ready($)
|
||||
<capabilities>: 0 = basic SUC; 1 = SIS
|
||||
</li>
|
||||
|
||||
<li>sucRequestUpdate <decimal nodeId of SUC/SIS><br>
|
||||
Request network updates from SUC/SIS. Primary do not need it.
|
||||
</li>
|
||||
|
||||
<li>sucSendNodeId <decimal nodeId><br>
|
||||
Send SUC/SIS nodeId to the specified decimal controller nodeId.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
@@ -1015,7 +1025,13 @@ ZWDongle_Ready($)
|
||||
<ul>
|
||||
|
||||
<br><b>General</b>
|
||||
<li>UNDEFINED ZWave_${type6}_$id ZWave $homeId $id $classes"</li>
|
||||
<li>UNDEFINED ZWave_${type6}_$id ZWave $homeId $id $classes</li>
|
||||
|
||||
<li>ZW_APPLICATION_UPDATE addDone $nodeId</li>
|
||||
|
||||
<li>ZW_APPLICATION_UPDATE deleteDone $nodeId</li>
|
||||
|
||||
<li>ZW_APPLICATION_UPDATE sudId $nodeId</li>
|
||||
|
||||
<br><b>addNode</b>
|
||||
<li>ZW_ADD_NODE_TO_NETWORK [learnReady|nodeFound|slave|controller|
|
||||
@@ -1053,15 +1069,28 @@ ZWDongle_Ready($)
|
||||
failedNodeRemoveFail|nodeOk|failedNodeReplace|
|
||||
failedNodeReplaceDone|failedNodeRemoveFailed]</li>
|
||||
|
||||
<br><b>sucNetworkUpdate</b>
|
||||
<li>ZW_REQUEST_NETWORK_UPDATE [started|selfOrNoSUC|done|abort|wait|diabled|
|
||||
overflow]</li>
|
||||
|
||||
<br><b>sucNodeId</b>
|
||||
<li>ZW_SET_SUC_NODE_ID [ok|failed|callbackSucceeded|callbackFailed]</li>
|
||||
</ul>
|
||||
|
||||
<br><b>sucRouteAdd / sucRouteDel</b>
|
||||
<br><b>sucRouteAdd</b>
|
||||
<li>ZW_ASSIGN_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk|
|
||||
transmitNoAck|transmitFail|transmitNotIdle|
|
||||
transmitNoRoute]</li>
|
||||
|
||||
<br><b>sucRouteDel</b>
|
||||
<li>ZW_DELETE_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk|
|
||||
transmitNoAck|transmitFail|transmitNotIdle|
|
||||
transmitNoRoute]</li>
|
||||
|
||||
<br><b>sucSendNodeId</b>
|
||||
<li>ZW_SEND_SUC_ID [started|alreadyActive|transmitOk|
|
||||
transmitNoAck|transmitFail|transmitNotIdle|
|
||||
transmitNoRoute]</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
@@ -3718,10 +3718,10 @@ ZWave_Parse($$@)
|
||||
return "";
|
||||
}
|
||||
|
||||
if($cmd eq "ZW_SET_SUC_NODE_ID") {
|
||||
if($cmd eq "ZW_REQUEST_NETWORK_UPDATE") {
|
||||
my $retval;
|
||||
if($arg eq "00") { $retval = 'failed';
|
||||
} elsif($arg eq "01") { $retval = 'ok';
|
||||
if($arg eq "00") { $retval = 'selfOrNoSUC';
|
||||
} elsif($arg eq "01") { $retval = 'started';
|
||||
} else { $retval = 'unknown_'.$arg; # should never happen
|
||||
}
|
||||
DoTrigger($ioName, "$cmd $retval");
|
||||
@@ -3729,7 +3729,8 @@ ZWave_Parse($$@)
|
||||
}
|
||||
|
||||
if($cmd eq "ZW_ASSIGN_SUC_RETURN_ROUTE" ||
|
||||
$cmd eq "ZW_DELETE_SUC_RETURN_ROUTE") {
|
||||
$cmd eq "ZW_DELETE_SUC_RETURN_ROUTE" ||
|
||||
$cmd eq "ZW_SEND_SUC_ID") {
|
||||
my $retval;
|
||||
if($arg eq "00") { $retval = 'alreadyActive';
|
||||
} elsif($arg eq "01") { $retval = 'started';
|
||||
@@ -3739,6 +3740,15 @@ ZWave_Parse($$@)
|
||||
return "";
|
||||
}
|
||||
|
||||
if($cmd eq "ZW_SET_SUC_NODE_ID") {
|
||||
my $retval;
|
||||
if($arg eq "00") { $retval = 'failed';
|
||||
} elsif($arg eq "01") { $retval = 'ok';
|
||||
} else { $retval = 'unknown_'.$arg; # should never happen
|
||||
}
|
||||
DoTrigger($ioName, "$cmd $retval");
|
||||
return "";
|
||||
}
|
||||
|
||||
Log3 $ioName, 4, "$ioName unhandled ANSWER: $cmd $arg";
|
||||
return "";
|
||||
@@ -3913,7 +3923,8 @@ ZWave_Parse($$@)
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_ASSIGN_SUC_RETURN_ROUTE" ||
|
||||
$cmd eq "ZW_DELETE_SUC_RETURN_ROUTE") {
|
||||
$cmd eq "ZW_DELETE_SUC_RETURN_ROUTE" ||
|
||||
$cmd eq "ZW_SEND_SUC_ID") {
|
||||
if($id eq "00") { $evt = 'transmitOk';
|
||||
} elsif($id eq "01") { $evt = 'transmitNoAck';
|
||||
} elsif($id eq "02") { $evt = 'transmitFail';
|
||||
@@ -3922,6 +3933,15 @@ ZWave_Parse($$@)
|
||||
} else { $evt = 'unknown_'.$id; # should never happen
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_REQUEST_NETWORK_UPDATE") {
|
||||
if($id eq "00") { $evt = 'done';
|
||||
} elsif($id eq "01") { $evt = 'abort';
|
||||
} elsif($id eq "02") { $evt = 'wait';
|
||||
} elsif($id eq "03") { $evt = 'disabled';
|
||||
} elsif($id eq "04") { $evt = 'overflow';
|
||||
} else { $evt = 'unknown_'.$id; # should never happen
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_SET_SUC_NODE_ID") {
|
||||
if($id eq "05") { $evt = 'callbackSucceeded';
|
||||
} elsif($id eq "06") { $evt = 'callbackFailed';
|
||||
@@ -5145,11 +5165,16 @@ s2Hex($)
|
||||
<br><b>neighborUpdate</b>
|
||||
<li>ZW_REQUEST_NODE_NEIGHBOR_UPDATE [started|done|failed]</li>
|
||||
|
||||
<br><b>sucRouteAdd / sucRouteDel</b>
|
||||
<br><b>sucRouteAdd</b>
|
||||
<li>ZW_ASSIGN_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk|
|
||||
transmitNoAck|transmitFail|transmitNotIdle|
|
||||
transmitNoRoute]</li>
|
||||
|
||||
<br><b>sucRouteDel</b>
|
||||
<li>ZW_DELETE_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk|
|
||||
transmitNoAck|transmitFail|transmitNotIdle|
|
||||
transmitNoRoute]</li>
|
||||
|
||||
<br><b>Class ALARM</b>
|
||||
<li>Devices with class version 1 support: alarm_type_X:level Y</li>
|
||||
<li>For higher class versions more detailed events with 100+ different
|
||||
|
||||
Reference in New Issue
Block a user