diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 97f057be1..5bc1b9428 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -10175,7 +10175,7 @@ sub _transferInverterValues { my $plantdera = HistoryVal ($name, $day, $hod, 'plantderated', 0); $percdev = sprintf "%.1f", abs (($pvapifc - $ethishoursum) / $ethishoursum * 100) if($ethishoursum); # akt. prozentuale Abweicheichung zw. FC und real - $valid = 0 if($aln == 0); + $valid = 0 if($aln == 0); $valid = 0 if(!$pvrlvdsav); $valid = 0 if($plantdera); $valid = 1 if(!$pvrlvdsav && $percdev <= 10); # pvrl dennoch als valide ansehen wenn hinreichend kleine fc-real Differenz -> was nur kurze Abregelung / Lernunterbrechnung @@ -21236,6 +21236,7 @@ sub checkPlantConfig { 'FTUI Widget Files' => { 'state' => $ok, 'result' => '', 'note' => '', 'info' => 0, 'warn' => 0, 'fault' => 0 }, 'Perl Modules' => { 'state' => $ok, 'result' => '', 'note' => '', 'info' => 0, 'warn' => 0, 'fault' => 0 }, 'Data Memory' => { 'state' => $ok, 'result' => '', 'note' => '', 'info' => 0, 'warn' => 0, 'fault' => 0 }, + 'Plant Control' => { 'state' => $ok, 'result' => '', 'note' => '', 'info' => 0, 'warn' => 0, 'fault' => 0 }, }; my $sub = sub { @@ -21739,9 +21740,36 @@ sub checkPlantConfig { } if (!$result->{'Data Memory'}{info} && !$result->{'Data Memory'}{warn} && !$result->{'Data Memory'}{fault}) { - $result->{'Data Memory'}{result} .= $hqtxt{fulfd}{$lang}.'
'; - $result->{'Data Memory'}{note} .= qq{
checked Data Memory:
}; - $result->{'Data Memory'}{note} .= qq{pvHistory key 'con'
}; + $result->{'Data Memory'}{result} .= $hqtxt{fulfd}{$lang}.'
'; + $result->{'Data Memory'}{note} .= qq{
checked Data Memory:
}; + $result->{'Data Memory'}{note} .= qq{pvHistory key 'con'
}; + } + + ## Plant Control Check + ######################## + my $rdcs = CurrentVal ($name, 'reductionState', ''); + my $fipl = CurrentVal ($name, 'feedinPowerLimit', ''); + + if (!$rdcs) { + $result->{'Plant Control'}{state} = $info; + $result->{'Plant Control'}{result} .= qq{It may be useful setting 'plantControl->reductionState'.
}; + $result->{'Plant Control'}{note} .= qq{The 'reductionState' parameter informs $name whether the PV system is down-regulated. (see Command Reference)
}; + # $result->{'Plant Control'}{note} .= qq{(see SolCast API)
}; + $result->{'Plant Control'}{info} = 1; + } + + if (!$fipl && isBatteryUsed ($name)) { + $result->{'Plant Control'}{state} = $info; + $result->{'Plant Control'}{result} .= qq{It may be useful setting 'plantControl->feedinPowerLimit' if Batteries are installed.
}; + $result->{'Plant Control'}{note} .= qq{The 'feedinPowerLimit' parameter is helpful in conjunction with the ‘ctrlBatSocManagementXX’ attribute to prevent a possible curtailment of the PV system and to make optimum use of the yield if battery(ies) are used.
}; + $result->{'Plant Control'}{note} .= qq{(see this section in the german Wiki)
}; + $result->{'Plant Control'}{info} = 1; + } + + if (!$result->{'Plant Control'}{info} && !$result->{'Plant Control'}{warn} && !$result->{'Plant Control'}{fault}) { + $result->{'Plant Control'}{result} .= $hqtxt{fulfd}{$lang}.'
'; + $result->{'Plant Control'}{note} .= qq{
checked plantControl:
}; + $result->{'Plant Control'}{note} .= qq{keys 'reductionState', 'feedinPowerLimit'
}; } ## FTUI Widget Support