2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-20 07:16:03 +00:00

ZWave.pm: MCA code completed, zwave.me remote tested (Forum #35513)

git-svn-id: https://svn.fhem.de/fhem/trunk@8296 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2015-03-26 22:51:09 +00:00
parent c05f585274
commit d694abe932

View File

@ -286,7 +286,7 @@ my %zwave_class = (
COMPOSITE => { id => '8d', }, COMPOSITE => { id => '8d', },
MULTI_CHANNEL_ASSOCIATION=> { id => '8e', # aka MULTI_INSTANCE_ASSOCIATION MULTI_CHANNEL_ASSOCIATION=> { id => '8e', # aka MULTI_INSTANCE_ASSOCIATION
set => { mcaAdd => "01%02x%02x*", set => { mcaAdd => "01%02x%02x*",
mcaRemove => "04%02x%02x*" }, mcaDel => "04%02x*" },
get => { mca => "02%02x", get => { mca => "02%02x",
mcaGroupings=> "05" }, mcaGroupings=> "05" },
parse => { "..8e03(..)(..)(.*)" parse => { "..8e03(..)(..)(.*)"
@ -1311,10 +1311,11 @@ ZWave_Parse($$@)
$arg = sprintf("%s%02x%s", $1, hex($2) & 0x7f, $3); $arg = sprintf("%s%02x%s", $1, hex($2) & 0x7f, $3);
} }
my $baseHash; my ($baseHash, $baseId, $ep) = ("",$id,"");
if($arg =~ /^..600d(..)(..)(.*)/) { # MULTI_CHANNEL CMD_ENCAP if($arg =~ /^..600d(..)(..)(.*)/) { # MULTI_CHANNEL CMD_ENCAP
$ep = ($1 ne "00" ? $1 : $2);
$baseHash = $modules{ZWave}{defptr}{"$homeId $id"}; $baseHash = $modules{ZWave}{defptr}{"$homeId $id"};
$id = "$id$1"; $id = "$id$ep";
$arg = sprintf("%02x$3", length($3)/2); $arg = sprintf("%02x$3", length($3)/2);
} }
my $hash = $modules{ZWave}{defptr}{"$homeId $id"}; my $hash = $modules{ZWave}{defptr}{"$homeId $id"};
@ -1322,8 +1323,10 @@ ZWave_Parse($$@)
if(!$hash) { if(!$hash) {
$id = hex($id); $id=hex($id); $baseId=hex($baseId); $ep=hex($ep);
Log3 $ioName, 3, "Unknown ZWave device $homeId $id, please define it"; my $ret = "UNDEFINED ZWave_Endpoint_$baseId.$ep ZWave $homeId $id";
Log3 $ioName, 3, "$ret, please define it";
DoTrigger("global", $ret);
return ""; return "";
} }
@ -1563,6 +1566,24 @@ s2Hex($)
<li>positionSlat<br> <li>positionSlat<br>
drive slat to position %</li> drive slat to position %</li>
<br><br><b>Class MULTI_CHANNEL_ASSOCIATION</b>
<li>mcaAdd groupId node1 node2 ... 0 node1 endPoint1 node2 endPoint2 ...<br>
Add a list of node or node:endpoint associations. The latter can be used to
create channels on remotes. E.g. to configure the button 1,2,... on the
zwave.me remote, use:
<ul>
set remote mcaAdd 2 0 1 2<br>
set remote mcaAdd 3 0 1 3<br>
....
</ul>
For each button a separate FHEM device will be generated.
</li>
<li>mcaDel groupId node1 node2 ... 0 node1 endPoint1 node2 endPoint2 ...<br>
delete node or node:endpoint associations.
Special cases: just specifying the groupId will delete everything for this
groupId. Specifying 0 for groupid will delete all associations.
</li>
<br><br><b>Class PROTECTION</b> <br><br><b>Class PROTECTION</b>
<li>protectionOff<br> <li>protectionOff<br>
device is unprotected</li> device is unprotected</li>
@ -1753,6 +1774,12 @@ s2Hex($)
MULTI_CHANNEL device. The device is only created for channel 2 or greater. MULTI_CHANNEL device. The device is only created for channel 2 or greater.
</li> </li>
<br><br><b>Class MULTI_CHANNEL_ASSOCIATION</b>
<li>mca groupid<br>
return the associations for the groupid. for the syntax of the returned
data see the mcaAdd command above.
</li>
<br><br><b>Class PROTECTION</b> <br><br><b>Class PROTECTION</b>
<li>protection<br> <li>protection<br>
returns the protection state. It can be on, off or seq.</li> returns the protection state. It can be on, off or seq.</li>