From a0b348e8c21fe2fe5f7d969044829143b6ab5c4c Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Wed, 25 Nov 2009 10:12:29 +0000 Subject: [PATCH] rain_diff addition + div by zero fix git-svn-id: https://svn.fhem.de/fhem/trunk@485 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/13_KS300.pm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/13_KS300.pm b/fhem/FHEM/13_KS300.pm index 3ceaa739b..8a68803b6 100755 --- a/fhem/FHEM/13_KS300.pm +++ b/fhem/FHEM/13_KS300.pm @@ -91,11 +91,11 @@ KS300_Parse($$) my @v; my @txt = ( "rain_raw", "rain", "wind", "humidity", "temperature", - "israining", "unknown1", "unknown2", "unknown3"); - my @sfx = ( "(counter)", "(l/m2)", "(km/h)", "(%)", "(Celsius)", - "(yes/no)", "","",""); + "israining", "unknown1", "unknown2", "unknown3","rain_now"); + my @sfx = ( "(counter)", "(l/m2)", "(km/h)", "", "", + "(yes/no)", "","","",""); my %repchanged = ("rain"=>1, "wind"=>1, "humidity"=>1, "temperature"=>1, - "israining"=>1); + "israining"=>1, "rain_diff" =>1); # counter for the change hash my $n= 1; # 0 is STATE and will b explicitely set @@ -218,6 +218,13 @@ KS300_Parse($$) $v[6] = $a[29]; $v[7] = $a[16]; $v[8] = $a[17]; + if($v[1]){ # rain diff + my $rain_old = $def->{READINGS}{'rain'}{VAL}; + $rain_old =~ s/[^0123456789.]//g; + $v[9] = $v[1] - $rain_old; + } else { + $v[9] = 0; + } # Negative temp $v[4] = -$v[4] if($v[8] & 8);