diff --git a/fhem/FHEM/76_SolarForecast.pm b/fhem/FHEM/76_SolarForecast.pm index 46ed1d337..322d5a2b3 100644 --- a/fhem/FHEM/76_SolarForecast.pm +++ b/fhem/FHEM/76_SolarForecast.pm @@ -144,6 +144,7 @@ BEGIN { # Versions History intern my %vNotesIntern = ( + "1.0.10" => "31.10.2023 fix warnings, edit comref ", "1.0.9" => "29.10.2023 _aiGetSpread: set spread from 50 to 20 ", "1.0.8" => "22.10.2023 codechange: add central readings store array, new function storeReading, writeCacheToFile ". "solcastapi in sub __delObsoleteAPIData, save freespace if flowGraphicShowConsumer=0 is set ". @@ -9095,13 +9096,15 @@ sub __createOwnSpec { for (my $k = 0 ; $k < $vinr; $k++) { ($h->{$k}{label}, $h->{$k}{rdg}) = split ":", $vals[$col] if($vals[$col]); $col++; + + if (!$h->{$k}{label}) { + undef $h->{$k}{label}; + next; + } + + ($v->{$k}, $u->{$k}) = split /\s+/, ReadingsVal ($name, $h->{$k}{rdg}, ''); } - ($v->{0}, $u->{0}) = split /\s+/, ReadingsVal ($name, $h->{0}{rdg}, ''); - ($v->{1}, $u->{1}) = split /\s+/, ReadingsVal ($name, $h->{1}{rdg}, ''); - ($v->{2}, $u->{2}) = split /\s+/, ReadingsVal ($name, $h->{2}{rdg}, ''); - ($v->{3}, $u->{3}) = split /\s+/, ReadingsVal ($name, $h->{3}{rdg}, ''); - if ($uatr eq 'kWh') { for (my $r = 0 ; $r < $vinr; $r++) { next if(!$u->{$r}); @@ -9126,10 +9129,10 @@ sub __createOwnSpec { $ownv .= ""; $ownv .= "".($cats[$i-1] ? ''.$cats[$i-1].'' : '').""; - $ownv .= "".$h->{0}{label}.": ".$v->{0}." ".$u->{0}."" if($h->{0}{label}); - $ownv .= "".$h->{1}{label}.": ".$v->{1}." ".$u->{1}."" if($h->{1}{label}); - $ownv .= "".$h->{2}{label}.": ".$v->{2}." ".$u->{2}."" if($h->{2}{label}); - $ownv .= "".$h->{3}{label}.": ".$v->{3}." ".$u->{3}."" if($h->{3}{label}); + $ownv .= "".$h->{0}{label}.": ".$v->{0}." ".$u->{0}."" if(defined $h->{0}{label}); + $ownv .= "".$h->{1}{label}.": ".$v->{1}." ".$u->{1}."" if(defined $h->{1}{label}); + $ownv .= "".$h->{2}{label}.": ".$v->{2}." ".$u->{2}."" if(defined $h->{2}{label}); + $ownv .= "".$h->{3}{label}.": ".$v->{3}." ".$u->{3}."" if(defined $h->{3}{label}); $ownv .= ""; } @@ -14626,8 +14629,12 @@ to ensure that the system configuration is correct. The DWD service is integrated via a FHEM device of type DWD_OpenData. If there is no device of type DWD_OpenData yet, it must be defined in advance (look at DWD_OpenData Commandref).
- To obtain a good radiation forecast, a DWD station located near the plant site should be used. - Unfortunately, not all DWD stations provide the required Rad1h values.
+ To obtain a good radiation forecast, a DWD station located near the plant site should be used.
+ Unfortunately, not all + DWD stations + provide the required Rad1h values.
+ Explanations of the stations are listed in + Stationslexikon.
At least the following attributes must be set in the selected DWD_OpenData Device: