diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 4e97f4185..a3f565f74 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -1078,15 +1078,18 @@ ZWave_alarmParse($$$) { my ($t,$l,$r) = @_; - if(!$r || $r !~ m/......(..)/ || !$zwave_alarmType{$t}) { # Version 1 + if(!$r || $r !~ m/......(..)(.*)/ || !$zwave_alarmType{$t}) { # V1 or unknown return "alarm_type_$t:level $l"; } + my ($e, $v4, $s) = ($1, $2, "alarm:$zwave_alarmType{$t}: "); - my $e = $1; - return "alarm:$zwave_alarmType{$t}: ". - ($e eq "00" ? "Previous Events cleared" : - ($zwave_alarmEvent{"$t$e"} ? $zwave_alarmEvent{"$t$e"} : - "unknown Event $e")); + if($l eq "00") { + $s .= "Event cleared: "; + $e = $1 if($v4 && $v4 =~ m/..(..)../); + } + + return $s . ($zwave_alarmEvent{"$t$e"} ? + $zwave_alarmEvent{"$t$e"} : "unknown event $e"); } sub @@ -1821,7 +1824,9 @@ s2Hex($)