diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm
index 369f43841..eadc478ac 100644
--- a/fhem/FHEM/10_ZWave.pm
+++ b/fhem/FHEM/10_ZWave.pm
@@ -467,7 +467,7 @@ my %zwave_class = (
REMOTE_ASSOCIATION => { id => '7d' },
BATTERY => { id => '80',
get => { battery => "02" },
- parse => { "0.8003(..)"=> '"battery:".($1 eq "ff" ? "low":hex($1)." %")'} },
+ parse => { "0.8003(..)"=> 'ZWave_battery($1)'} } ,
CLOCK => { id => '81',
get => { clock => "05" },
set => { clock => 'ZWave_clockSet()' },
@@ -3172,6 +3172,18 @@ ZWave_protectionParse($$)
return "protection:$lpt $rpt";
}
+sub
+ZWave_battery($) # Forum #87575
+{
+ my ($val) = @_;
+ my @ret;
+
+ push @ret, "battery:".($val eq "ff" ? "low":hex($val)." %");
+ push @ret, "batteryState:".($val eq "ff" ? "low":"ok");
+ push @ret, "batteryPercent:".hex($val) if($val ne "ff");
+ return @ret;
+}
+
sub
ZWave_configParse($$$$)
{
@@ -5841,7 +5853,7 @@ s2Hex($)
Class BATTERY