diff --git a/fhem/FHEM/98_DOIF.pm b/fhem/FHEM/98_DOIF.pm index 422cf586d..c3c8e3adc 100644 --- a/fhem/FHEM/98_DOIF.pm +++ b/fhem/FHEM/98_DOIF.pm @@ -4555,8 +4555,12 @@ sub card $minPlot=($value < $minVal ? $value : $minVal); $maxPlot=($value > $maxVal ? $value : $maxVal); } else { - $minPlot=($value < $min ? $value : ($min < 0 and $minVal > 0) ? 0 : ($minVal < $min) ? $minVal:$min); - $maxPlot=($value > $max ? $value : ($max > 0 and $maxVal < 0) ? 0 : ($maxVal > $max) ? $maxVal:$max); + + my $minimum=(($value<$min and $value<$minVal) ? $value:($min<$minVal) ? $min:$minVal); + my $maximum=(($value>$max and $value>$maxVal) ? $value:($max>$maxVal) ? $max:$maxVal); + + $minPlot=(($min < 0 and $minVal > 0) ? 0 : $minimum); + $maxPlot=(($max > 0 and $maxVal < 0) ? 0 : $maximum); } my ($m,$n)=m_n($minPlot,0,$maxPlot,50); @@ -4633,13 +4637,11 @@ sub card my $last; my $j=0; - $out.= ''; + $out.= ''; - $out.=''; - for (my $i=0;$i<=4;$i++) { - my $y=($i)*12.5; - ##$out.=sprintf('',$y,$y); - $out.=sprintf('',$y,$y); + for (my $i=1;$i<4;$i++) { + my $y=$i*12.5; + $out.=sprintf('',$y,$y); } for (my $i=0;$i<=4;$i++) { @@ -4660,21 +4662,22 @@ sub card my $diffminutes=($hour-$beginhour)*60+$minutes; my $pos=int ($diffminutes/($scale*60)*1000)/100; - $out.=sprintf('%02d',$beginhour) if ($pos == 0); + $out.=sprintf('%02d',$beginhour) if ($pos == 0); for (my $i=0;$i<=5;$i++) { my $hour=$beginhour+($i+1)*$scale; $hour=($hour >= 24 ? $hour % 24:$hour); my $x=$i*10-$pos+9; - $out.=sprintf('',$x,0,$x,50) if ($x > 0);; - # $out.=sprintf('',$x,$xpos+1.5,$x,$xpos-1.5) if ($x > 0); - $out.=sprintf('%02d',$x,$hour); + $out.=sprintf('',$x,0,$x,50) if ($x >= 0); + $out.=sprintf('%02d',$x,$hour); } } else { + for (my $i=0;$i<2;$i++) { + my $x=($i+1)*20-1; + $out.=sprintf('',$x,0,$x,50); + } for (my $i=0;$i<=3;$i++) { my $x=($i+1)*20-1; - $out.=sprintf('%s',$i*20-1,::strftime("%H:%M",localtime($time-$hours*3600*(1-$i/3)))); - ## $out.=sprintf('',$x,$xpos+1.5,$x,$xpos-1.5); - $out.=sprintf('',$x,0,$x,50); + $out.=sprintf('%s',$i*20-1,::strftime("%H:%M",localtime($time-$hours*3600*(1-$i/3)))); } } @@ -4706,12 +4709,11 @@ sub card $points.="$i,".$last." "; } } - #$points.="60,".(50-int(($val*$m+$n)*10)/10)." "; $out.=sprintf('',$topValColor,$bottomValColor,(defined $lr ? $lr:0),$topValColor,$bottomValColor,(defined $lr ? $lr:0)); } - $out.=sprintf('',$xpos,$xpos); + $out.=sprintf('',$xpos,$xpos); $out.=sprintf('',$maxValSlot,(50-int((${$a}[$maxValSlot]*$m+$n)*10)/10),color($maxValColor,$ln)) if (defined $maxValSlot and $maxValSlot != 59); $out.=sprintf(',',$minValSlot,(50-int((${$a}[$minValSlot]*$m+$n)*10)/10),color($minValColor,$ln)) if (defined $minValSlot and $minValSlot != 59); @@ -4719,11 +4721,11 @@ sub card $out.= ''; $out.= ''; - $out.=''; - $out.= ui_Table::ring($val,$min,$max,$minColor,$maxColor,$unit,100,$func,$decfont,$model,$lightness,undef,(defined $header or !defined $icon) ? undef: $icon); + $out.=''; + $out.= ui_Table::ring($val,$min,$max,$minColor,$maxColor,$unit,95,$func,$decfont,$model,$lightness,undef,(defined $header or !defined $icon) ? undef: $icon); $out.=''; - $out.=sprintf('%s',::strftime("%H:%M:%S",localtime($time))); + $out.=sprintf('%s',::strftime("%H:%M:%S",localtime($time))); if (defined $maxValTime) {