diff --git a/fhem/FHEM/98_DOIF.pm b/fhem/FHEM/98_DOIF.pm
index bfb18452f..d1b963e9b 100644
--- a/fhem/FHEM/98_DOIF.pm
+++ b/fhem/FHEM/98_DOIF.pm
@@ -4780,7 +4780,9 @@ sub ring
$value=$max if ($value>$max);
$value=$min if ($value<$min);
$size=100 if (!defined $size);
- my $prop=($value-$min)/($max-$min);
+
+ my $prop=0;
+ $prop=($value-$min)/($max-$min) if ($max-$min);
my ($x1,$y1,$x2,$y2);
($x1,$y1,$x2,$y2)=(int($prop*100),0,0,int((1-$prop)*100));
@@ -4853,14 +4855,14 @@ sub ring
my $curr=${$func}[$i];
my $color=${$func}[$i+1];
my $to=int(($curr-$min)/$diff*280);
- $out.=sprintf('',($innerRing eq "1" ? "":$innerRing),color($color,$lir));
+ $out.=sprintf('',color($color,$lir),($innerRing eq "1" ? "":$innerRing));
$out.=describeArc(41, 30, 25.5, $from, $to);
$out.='';
$from=$to+2;
}
} else {
$out.='';
- $out.=sprintf('',($innerRing eq "1" ? "":$innerRing),$minCol,$maxColor,(defined $lir ? $lir:0));
+ $out.=sprintf('',$minCol,$maxColor,(defined $lir ? $lir:0),($innerRing eq "1" ? "":$innerRing));
$out.=describeArc(41, 30, 25.5, 0, 280);
$out.='';
}
@@ -4956,9 +4958,11 @@ sub ring2
$value=$min if ($value<$min);
$size=100 if (!defined $size);
- my $prop=($value-$min)/($max-$min);
+ my $prop=0;
+ $prop=($value-$min)/($max-$min) if ($max-$min);
+
my ($x1,$y1,$x2,$y2)=($prop*100,0,0,(1-$prop)*100);
- my $val1=int($prop*100)+20;
+
my $currColor;
if (defined $func) {
$currColor=&{$func}($value);
@@ -4985,10 +4989,12 @@ sub ring2
}
$value2=$max2 if($value2>$max2);
$value2=$min2 if ($value2<$min2);
- my $prop2=($value2-$min2)/($max2-$min2);
+ my $prop2=0;
+ $prop2=($value2-$min2)/($max2-$min2) if ($max2-$min2);
+
my ($x12,$y12,$x22,$y22);
($x12,$y12,$x22,$y22)=($prop2*100,0,0,(1-$prop2)*100);
- my $val12=int($prop2*100)+20;
+
my $currColor2;
if (defined $func2) {
$currColor2=&{$func2}($value2);