From 95e74cb29ac322073e3e4617265a5a3ed207d581 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 16 Oct 2011 08:45:41 +0000 Subject: [PATCH] threeStateSensor changes by Peterp git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@1075 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/10_CUL_HM.pm | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/FHEM/10_CUL_HM.pm b/FHEM/10_CUL_HM.pm index 3dc4683b2..19d6ca7f1 100755 --- a/FHEM/10_CUL_HM.pm +++ b/FHEM/10_CUL_HM.pm @@ -557,23 +557,34 @@ CUL_HM_Parse($$) } elsif($st eq "threeStateSensor") { ##################################### - push @event, "cover:closed" if($p =~ m/^0601..00$/); - push @event, "cover:open" if($p =~ m/^0601..0E$/); - push @event, "state:alive" if($p =~ m/^0601000E$/); - $p =~ m/^....(..)$/; my $lst = defined($1) ? $1 : "00"; - my %txt; - %txt = ("C8"=>"open", "64"=>"tilted", "00"=>"closed"); - %txt = ("C8"=>"wet", "64"=>"damp", "00"=>"dry") # by peterp - if($model eq "HM-SEC-WDS"); + if($p =~ m/^0601000E$/) { + push @event, "state:alive"; - if($txt{$lst}) { - push @event, "contact:$txt{$lst}$target"; + } elsif($p =~ m/^0601..00$/) { + push @event, "cover:closed"; + push @event, "state:alive"; + + } elsif($p =~ m/^0601..0E$/) { + push @event, "cover:open"; + push @event, "state:sabotage"; } else { - $lst = "00"; # for the ack + + my %txt; + %txt = ("C8"=>"open", "64"=>"tilted", "00"=>"closed"); + %txt = ("C8"=>"wet", "64"=>"damp", "00"=>"dry") # by peterp + if($model eq "HM-SEC-WDS"); + + if($txt{$lst}) { + push @event, "contact:$txt{$lst}$target"; + + } else { + $lst = "00"; # for the ack + + } }