mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-04 05:16:45 +00:00
00_ZWDongle.pm/10_ZWave.pm: SUC/SIS patch from krikan (Forum #53066)
git-svn-id: https://svn.fhem.de/fhem/trunk@11483 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a08bec5b3b
commit
2a01f5a030
@ -26,7 +26,7 @@ my %sets = (
|
||||
onNwSec=>0xc1, onSec=>0x81 } },
|
||||
"backupCreate" => { cmd => "" },
|
||||
"backupRestore" => { cmd => "" },
|
||||
"controllerChange" => { cmd => "4d%02x@", #ZW_CONTROLLER_CHANGE
|
||||
"controllerChange" => { cmd => "4d%02x@", # ZW_CONTROLLER_CHANGE
|
||||
param => { on =>0x02, stop =>0x05,
|
||||
stopFailed =>0x06 } },
|
||||
"createNewPrimary" => { cmd => "4c%02x@", # ZW_CREATE_NEW_PRIMARY
|
||||
@ -1057,6 +1057,11 @@ ZWDongle_Ready($)
|
||||
<li>ZW_SET_SUC_NODE_ID [ok|failed|callbackSucceeded|callbackFailed]</li>
|
||||
</ul>
|
||||
|
||||
<br><b>sucRouteAdd / sucRouteDel</b>
|
||||
<li>ZW_ASSIGN_SUC_RETURN_ROUTE [started|alreadyActive|transmitOk|
|
||||
transmitNoAck|transmitFail|transmitNotIdle|
|
||||
transmitNoRoute]</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -745,6 +745,10 @@ ZWave_Cmd($$@)
|
||||
if($type eq "set") {
|
||||
$cmdList{neighborUpdate}{fmt} = "48$id";
|
||||
$cmdList{neighborUpdate}{id} = "";
|
||||
$cmdList{sucRouteAdd}{fmt} = "51$id";
|
||||
$cmdList{sucRouteAdd}{id} = "";
|
||||
$cmdList{sucRouteDel}{fmt} = "55$id";
|
||||
$cmdList{sucRouteDel}{id} = "";
|
||||
}
|
||||
$cmdList{neighborList}{fmt} = "x" if($type eq "get"); # Add meta command
|
||||
}
|
||||
@ -851,8 +855,11 @@ ZWave_Cmd($$@)
|
||||
}
|
||||
|
||||
my $data;
|
||||
if($cmd eq "neighborUpdate") {
|
||||
if($cmd eq "neighborUpdate" ||
|
||||
$cmd eq "sucRouteAdd" ||
|
||||
$cmd eq "sucRouteDel" ) {
|
||||
$data = $cmdFmt;
|
||||
$data .= ZWave_callbackId($baseHash);
|
||||
|
||||
} else {
|
||||
my $len = sprintf("%02x", length($cmdFmt)/2+1);
|
||||
@ -895,7 +902,11 @@ ZWave_Cmd($$@)
|
||||
$val = ($data ? ZWave_Parse($iohash, $data, $type) : "no data returned");
|
||||
|
||||
} elsif($type ne "get") {
|
||||
ZWave_processSendStack($hash, "next") if($cmd eq "neighborUpdate");
|
||||
if($cmd eq "neighborUpdate" ||
|
||||
$cmd eq "sucRouteAdd" ||
|
||||
$cmd eq "sucRouteDel" ) {
|
||||
ZWave_processSendStack($hash, "next");
|
||||
}
|
||||
$cmd .= " ".join(" ", @a) if(@a);
|
||||
readingsSingleUpdate($hash, "state", $cmd, 1);
|
||||
|
||||
@ -3717,6 +3728,18 @@ ZWave_Parse($$@)
|
||||
return "";
|
||||
}
|
||||
|
||||
if($cmd eq "ZW_ASSIGN_SUC_RETURN_ROUTE" ||
|
||||
$cmd eq "ZW_DELETE_SUC_RETURN_ROUTE") {
|
||||
my $retval;
|
||||
if($arg eq "00") { $retval = 'alreadyActive';
|
||||
} elsif($arg eq "01") { $retval = 'started';
|
||||
} else { $retval = 'unknown_'.$arg; # should never happen
|
||||
}
|
||||
DoTrigger($ioName, "$cmd $retval");
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
Log3 $ioName, 4, "$ioName unhandled ANSWER: $cmd $arg";
|
||||
return "";
|
||||
}
|
||||
@ -3889,6 +3912,16 @@ ZWave_Parse($$@)
|
||||
} else { $evt = 'unknown_'.$id; # should never happen
|
||||
}
|
||||
|
||||
} elsif($cmd eq "ZW_ASSIGN_SUC_RETURN_ROUTE" ||
|
||||
$cmd eq "ZW_DELETE_SUC_RETURN_ROUTE") {
|
||||
if($id eq "00") { $evt = 'transmitOk';
|
||||
} elsif($id eq "01") { $evt = 'transmitNoAck';
|
||||
} elsif($id eq "02") { $evt = 'transmitFail';
|
||||
} elsif($id eq "03") { $evt = 'transmitFailNotIdle';
|
||||
} elsif($id eq "04") { $evt = 'transmitNoRoute';
|
||||
} 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';
|
||||
@ -4246,6 +4279,13 @@ s2Hex($)
|
||||
update process. To read node's neighbor list see neighborList get
|
||||
below.</li>
|
||||
|
||||
<li>sucRouteAdd<br>
|
||||
Inform the routing/enhanced slave of the presence of a SUC/SIS. Assign
|
||||
up to 4 static return routes to SUC/SIS.</li>
|
||||
|
||||
<li>sucRouteDel<br>
|
||||
Delete static return routes to SUC/SIS node.</li>
|
||||
|
||||
<br><br><b>Class ASSOCIATION</b>
|
||||
<li>associationAdd groupId nodeId ...<br>
|
||||
Add the specified list of nodeIds to the association group groupId.<br> Note:
|
||||
@ -5105,6 +5145,11 @@ s2Hex($)
|
||||
<br><b>neighborUpdate</b>
|
||||
<li>ZW_REQUEST_NODE_NEIGHBOR_UPDATE [started|done|failed]</li>
|
||||
|
||||
<br><b>sucRouteAdd / sucRouteDel</b>
|
||||
<li>ZW_ASSIGN_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
|
||||
|
Loading…
x
Reference in New Issue
Block a user