From 0083b2ece1b68684a695a272450a4cbc1e391a03 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 3 Oct 2016 13:24:19 +0000 Subject: [PATCH] 10_ZWave.pm: add SWITCH_BINARY V2 report (Forum #58106) git-svn-id: https://svn.fhem.de/fhem/trunk@12255 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_ZWave.pm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 4c0786d4d..8fd9c1b83 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -62,8 +62,10 @@ my %zwave_class = ( set => { off => "0100", on => "01FF" }, get => { swbStatus => "02", }, - parse => { "03250300" => "state:off", - "032503ff" => "state:on", + parse => { "..250300" => "state:off", + "..2503ff" => "state:on", + "052503(..)(..)(..)" => 'sprintf("swbStatus:%s target %s '. + 'duration %s", hex($1), hex($2), ZWave_duration($3))', "03250100" => "state:setOff", "032501ff" => "state:setOn" } } , SWITCH_MULTILEVEL => { id => '26', @@ -4521,6 +4523,14 @@ ZWave_Attr(@) return undef; } +sub +ZWave_duration($) +{ + my ($duration) = @_; + my $time = hex($duration); + $time = ($time - 0x7f) * 60 if($time>0x7f && $time<=0xfd); + return (lc($duration) eq "fe" ? "unknown" : "$time seconds"); +} ##################################### # Show the help from the device.xml, if the correct entry is selected