From 92f899a1cfeefd06ff5f6f15b920876ce65f540e Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 9 Nov 2015 18:14:53 +0000 Subject: [PATCH] 10_ZWave.pm: parse get association result (Forum #43768) git-svn-id: https://svn.fhem.de/fhem/trunk@9840 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_ZWave.pm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index b3aed37a4..d59e2f7b0 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -325,8 +325,7 @@ my %zwave_class = ( associationRequestAll => 'ZWave_associationRequest($hash,"")' }, get => { association => "02%02x", associationGroups => "05" }, - parse => { "..8503(..)(..)..(.*)" => - 'sprintf("assocGroup_%d:Max %d Nodes %d", hex($1), hex($2), hex($3))', + parse => { "..8503(..)(..)..(.*)" => 'ZWave_assocGroup($homeId,$1,$2,$3)', "..8506(..)" => '"assocGroups:".hex($1)' }, init => { ORDER=>10, CMD=> '"set $NAME associationAdd 1 $CTRLID"' } }, VERSION => { id => '86', @@ -1872,6 +1871,19 @@ ZWave_sensorbinaryV2Parse($$) ":".$value; } +sub +ZWave_assocGroup($$$$) +{ + my ($homeId, $gId, $max, $nodes) = @_; + my %list = map { $defs{$_}{nodeIdHex} => $_ } + grep { $defs{$_}{homeId} && $defs{$_}{homeId} eq $homeId } + keys %defs; + $nodes = join(" ", + map { $list{$_} ? $list{$_} : "UNKNOWN_".hex($_); } + ($nodes =~ m/../g)); + return sprintf("assocGroup_%d:Max %d Nodes %s", hex($gId),hex($max), $nodes); +} + ############################################## # SECURITY (start) ##############################################