diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 9a86d2941..f60d65f38 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -116,7 +116,7 @@ BEGIN { # Versions History intern my %vNotesIntern = ( - "0.17.0" => "20.03.2021 new attr cloudFactorSlope, fixes in Graphic sub ", + "0.17.0" => "20.03.2021 new attr cloudFactorSlope / rainFactorSlope, fixes in Graphic sub ", "0.16.0" => "19.03.2021 new getter nextHours, some fixes ", "0.15.3" => "19.03.2021 corrected weather consideration for call calcPVforecast ", "0.15.2" => "19.03.2021 some bug fixing ", @@ -390,6 +390,7 @@ sub Initialize { "maxVariancePerDay ". "maxPV ". "numHistDays:$cda ". + "rainFactorSlope:slider,0,1,100 ". "showDiff:no,top,bottom ". "showHeader:1,0 ". "showLink:1,0 ". @@ -2762,14 +2763,15 @@ sub calcPVforecast { my $chour = strftime "%H", localtime($t+($num*3600)); # aktuelle Stunde my $reld = $fd == 0 ? "today" : $fd == 1 ? "tomorrow" : "unknown"; - my $cloudslope = AttrVal($name, "cloudFactorSlope", $clslopedef); # prozentuale Berücksichtigung des Bewölkungskorrekturfaktors + my $cloudslope = AttrVal($name, "cloudFactorSlope", $clslopedef); # prozentuale Berücksichtigung des Bewölkungskorrekturfaktors + my $rainslope = AttrVal($name, "rainFactorSlope", $rslopedef); # prozentuale Berücksichtigung des Regenkorrekturfaktors my @strings = sort keys %{$stch}; my $cloudcover = $hash->{HELPER}{"NextHour".sprintf("%02d",$num)."_CloudCover"} // 0; # effektive Wolkendecke - my $ccf = 1 - ((($cloudcover - $cloud_base)/100) * $cloudslope/100); # Cloud Correction Faktor mit Steilheit und Fußpunkt + my $ccf = 1 - ((($cloudcover - $cloud_base)/100) * $cloudslope/100); # Cloud Correction Faktor mit Steilheit und Fußpunkt my $rainprob = $hash->{HELPER}{"NextHour".sprintf("%02d",$num)."_RainProb"} // 0; # Niederschlagswahrscheinlichkeit> 0,1 mm während der letzten Stunde - my $rcf = 1 - ((($rainprob - $rain_base)/100) * $rslopedef/100); # Rain Correction Faktor mit Steilheit + my $rcf = 1 - ((($rainprob - $rain_base)/100) * $rainslope/100); # Rain Correction Faktor mit Steilheit my $kw = AttrVal ($name, 'Wh/kWh', 'Wh'); my $hc = ReadingsNum ($name, "pvCorrectionFactor_".sprintf("%02d",$num), 1); # Korrekturfaktor für die Stunde des Tages @@ -2796,6 +2798,7 @@ sub calcPVforecast { "Cloudfactor" => $ccf, "Rainprob" => $rainprob, "Rainfactor" => $rcf, + "RainFactorSlope" => $rainslope." %", "pvCorrectionFactor" => $hc, "Radiation" => $rad, "Factor kJ to kWh" => $kJtokWh, @@ -3699,7 +3702,7 @@ werden weitere SolarForecast Devices zugeordnet.