From ae9e6ca7153345f30612db6148a6651422b9abd5 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Sat, 11 Apr 2015 11:13:53 +0000 Subject: [PATCH] 10_ZWave.pm: Multi-Channel, V1 (Forum #36126) git-svn-id: https://svn.fhem.de/fhem/trunk@8417 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_ZWave.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 0f040b36d..05a7aff24 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -210,7 +210,7 @@ my %zwave_class = ( ZWAVEPLUS_INFO => { id => '5e', }, ZIP_GATEWAY => { id => '5f', }, MULTI_CHANNEL => { id => '60', # Version 2, aka MULTI_INSTANCE - get => { mcEndpoints => "07", # Endpoints + get => { mcEndpoints => "07", mcCapability=> "09%02x"}, parse => { "^046008(..)(..)" => '"mcEndpoints:total ".hex($2).'. '(hex($1)&0x80 ? ", dynamic":"").'. @@ -1328,7 +1328,13 @@ ZWave_Parse($$@) } my ($baseHash, $baseId, $ep) = ("",$id,""); - if($arg =~ /^..600d(..)(..)(.*)/) { # MULTI_CHANNEL CMD_ENCAP + if($arg =~ /^..6006(..)(.*)/) { # MULTI_CHANNEL CMD_ENCAP, V1, Forum #36126 + $ep = $1; + $baseHash = $modules{ZWave}{defptr}{"$homeId $id"}; + $id = "$id$ep"; + $arg = sprintf("%02x$2", length($2)/2); + } + if($arg =~ /^..600d(..)(..)(.*)/) { # MULTI_CHANNEL CMD_ENCAP, V2 $ep = ($1 ne "00" ? $1 : $2); $baseHash = $modules{ZWave}{defptr}{"$homeId $id"}; $id = "$id$ep";