diff --git a/fhem/FHEM/98_DOIF.pm b/fhem/FHEM/98_DOIF.pm
index 039511217..251d54398 100644
--- a/fhem/FHEM/98_DOIF.pm
+++ b/fhem/FHEM/98_DOIF.pm
@@ -4854,7 +4854,11 @@ sub card
$unit1[$i]=${$unit_a}[$i];
}
} else {
- $unit1[0]=$unit_a;
+ if (!defined $unit_a) {
+ $unit1[0]="";
+ } else {
+ $unit1[0]=$unit_a;
+ }
}
if (defined $col2) {
if (ref($col2) eq "ARRAY") {
@@ -4890,7 +4894,11 @@ sub card
$unit2[$i]=${$unit_b}[$i];
}
} else {
- $unit2[0]=$unit_b;
+ if (!defined $unit_b) {
+ $unit2[0]="";
+ } else {
+ $unit2[0]=$unit_b;
+ }
}
@@ -5198,15 +5206,20 @@ sub card
if ($hring eq "") {
$out.=sprintf('',$bwidth-49);
if (@value1 >= 2 ) {
+ my $unit_1=(split(",",$unit1[0]))[0];
+ my $unit_2=(split(",",$unit1[1]))[0];
my $unitColor=(split(",",$unit1[0]))[1];
my $unitColor2=(split(",",$unit1[1]))[1];
$decfont="" if (!defined $decfont);
- $out.= ui_Table::ring2($value1[0]{value},$min,$max,$minColor,$maxColor,(split(",",$unit1[0]))[0],92,$func,defined $unitColor ? $decfont.",,fill:".$unitColor:$decfont,
- $value1[1]{value},$min,$max,$minColor,$maxColor,(split(",",$unit1[1]))[0],$func,defined $unitColor2 ? $decfont.",,fill:".$unitColor2:$decfont,$lightness,(defined $head or !defined $icon) ? undef: $icon,$model);
+ $out.= ui_Table::ring2($value1[0]{value},$min,$max,$minColor,$maxColor,$unit_1,92,$func,defined $unitColor ? $decfont.",,fill:".$unitColor:$decfont,
+ $value1[1]{value},$min,$max,$minColor,$maxColor,$unit_2,$func,defined $unitColor2 ? $decfont.",,fill:".$unitColor2:$decfont,$lightness,(defined $head or !defined $icon) ? undef: $icon,$model);
} elsif (@value1 == 1 and @value2 >= 1) {
- $out.= ui_Table::ring2($value1[0]{value},$min,$max,$minColor,$maxColor,(split(",",$unit1[0]))[0],92,$func,$decfont,$value2[0]{value},$min2,$max2,$minColor2,$maxColor2,(split(",",$unit2[0]))[0],$func2,$decfont2,$lightness,((defined $head or !defined $icon) ? undef: $icon),$model);
+ my $unit_1=(split(",",$unit1[0]))[0];
+ my $unit_2=(split(",",$unit2[0]))[0];
+ $out.= ui_Table::ring2($value1[0]{value},$min,$max,$minColor,$maxColor,$unit_1,92,$func,$decfont,$value2[0]{value},$min2,$max2,$minColor2,$maxColor2,$unit_2,$func2,$decfont2,$lightness,((defined $head or !defined $icon) ? undef: $icon),$model);
} else {
- $out.= ui_Table::ring($value1[0]{value},$min,$max,$minColor,$maxColor,(split(",",$unit1[0]))[0],92,$func,$decfont,$model,$lightness,(defined $head or !defined $icon) ? undef: $icon);
+ my $unit_1=(split(",",$unit1[0]))[0];
+ $out.= ui_Table::ring($value1[0]{value},$min,$max,$minColor,$maxColor,$unit_1,92,$func,$decfont,$model,$lightness,(defined $head or !defined $icon) ? undef: $icon);
}
$out.='';
$out.=sprintf('%s',$bwidth-21,::strftime("%H:%M:%S",localtime($time)));