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