76_SolarForecast: contrib V1.56.0
git-svn-id: https://svn.fhem.de/fhem/trunk@30183 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -160,6 +160,7 @@ BEGIN {
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
my %vNotesIntern = (
|
my %vNotesIntern = (
|
||||||
|
"1.56.0" => "07.08.2025 set MAXINVERTER to 5 ",
|
||||||
"1.55.0" => "06.08.2025 DWD-Weather and DWD-Radiation device new minimum value of attr 'forecastDays' is 2 ".
|
"1.55.0" => "06.08.2025 DWD-Weather and DWD-Radiation device new minimum value of attr 'forecastDays' is 2 ".
|
||||||
"checkPlantConfig: check forecastDays of new minimum value ".
|
"checkPlantConfig: check forecastDays of new minimum value ".
|
||||||
"___createOpenMeteoURL: set forecast_hours=72, bugfix of V 1.54.7 ".
|
"___createOpenMeteoURL: set forecast_hours=72, bugfix of V 1.54.7 ".
|
||||||
@@ -407,7 +408,7 @@ use constant {
|
|||||||
MAXBATTERIES => 3, # maximale Anzahl der möglichen Batterien
|
MAXBATTERIES => 3, # maximale Anzahl der möglichen Batterien
|
||||||
MAXCONSUMER => 20, # maximale Anzahl der möglichen Consumer (Attribut)
|
MAXCONSUMER => 20, # maximale Anzahl der möglichen Consumer (Attribut)
|
||||||
MAXPRODUCER => 3, # maximale Anzahl der möglichen anderen Produzenten (Attribut)
|
MAXPRODUCER => 3, # maximale Anzahl der möglichen anderen Produzenten (Attribut)
|
||||||
MAXINVERTER => 4, # maximale Anzahl der möglichen Inverter
|
MAXINVERTER => 5, # maximale Anzahl der möglichen Inverter
|
||||||
MAXBEAMLEVEL => 3, # maximale Anzahl der Balkengrafik Ebenen
|
MAXBEAMLEVEL => 3, # maximale Anzahl der Balkengrafik Ebenen
|
||||||
|
|
||||||
MAXSOCDEF => 95, # default Wert (%) auf den die Batterie maximal aufgeladen werden soll bzw. als aufgeladen gilt
|
MAXSOCDEF => 95, # default Wert (%) auf den die Batterie maximal aufgeladen werden soll bzw. als aufgeladen gilt
|
||||||
@@ -15165,7 +15166,8 @@ sub entryGraphic {
|
|||||||
## Werte restliche Stunden
|
## Werte restliche Stunden
|
||||||
############################
|
############################
|
||||||
my $back = _beamGraphicRemainingHours ($paref);
|
my $back = _beamGraphicRemainingHours ($paref);
|
||||||
$paref->{maxVal} = $back->{maxVal}; # Startwert wenn kein Wert bereits via attr vorgegeben ist
|
$paref->{maxVal} = $back->{maxVal}; # Startwert
|
||||||
|
$paref->{maxStVal} = $back->{maxStVal}; # Start Staplewert
|
||||||
$paref->{maxDif} = $back->{maxDif}; # für Typ diff
|
$paref->{maxDif} = $back->{maxDif}; # für Typ diff
|
||||||
$paref->{minDif} = $back->{minDif}; # für Typ diff
|
$paref->{minDif} = $back->{minDif}; # für Typ diff
|
||||||
|
|
||||||
@@ -15179,6 +15181,7 @@ sub entryGraphic {
|
|||||||
$ret .= _levelSeparator ($paref);
|
$ret .= _levelSeparator ($paref);
|
||||||
|
|
||||||
delete $paref->{maxVal}; # bereinigen vor nächster Ebene
|
delete $paref->{maxVal}; # bereinigen vor nächster Ebene
|
||||||
|
delete $paref->{maxStVal};
|
||||||
delete $paref->{maxDif};
|
delete $paref->{maxDif};
|
||||||
delete $paref->{minDif};
|
delete $paref->{minDif};
|
||||||
delete $paref->{hfcg};
|
delete $paref->{hfcg};
|
||||||
@@ -15209,6 +15212,7 @@ sub entryGraphic {
|
|||||||
###########################
|
###########################
|
||||||
my $back = _beamGraphicRemainingHours ($paref);
|
my $back = _beamGraphicRemainingHours ($paref);
|
||||||
$paref->{maxVal} = $back->{maxVal}; # Startwert wenn kein Wert bereits via attr vorgegeben ist
|
$paref->{maxVal} = $back->{maxVal}; # Startwert wenn kein Wert bereits via attr vorgegeben ist
|
||||||
|
$paref->{maxStVal} = $back->{maxStVal}; # Start Staplewert
|
||||||
$paref->{maxDif} = $back->{maxDif}; # für Typ diff
|
$paref->{maxDif} = $back->{maxDif}; # für Typ diff
|
||||||
$paref->{minDif} = $back->{minDif}; # für Typ diff
|
$paref->{minDif} = $back->{minDif}; # für Typ diff
|
||||||
|
|
||||||
@@ -15222,6 +15226,7 @@ sub entryGraphic {
|
|||||||
$ret .= _levelSeparator ($paref);
|
$ret .= _levelSeparator ($paref);
|
||||||
|
|
||||||
delete $paref->{maxVal}; # bereinigen vor nächster Ebene
|
delete $paref->{maxVal}; # bereinigen vor nächster Ebene
|
||||||
|
delete $paref->{maxStVal};
|
||||||
delete $paref->{maxDif};
|
delete $paref->{maxDif};
|
||||||
delete $paref->{minDif};
|
delete $paref->{minDif};
|
||||||
delete $paref->{hfcg};
|
delete $paref->{hfcg};
|
||||||
@@ -15253,6 +15258,7 @@ sub entryGraphic {
|
|||||||
###########################
|
###########################
|
||||||
my $back = _beamGraphicRemainingHours ($paref);
|
my $back = _beamGraphicRemainingHours ($paref);
|
||||||
$paref->{maxVal} = $back->{maxVal}; # Startwert wenn kein Wert bereits via attr vorgegeben ist
|
$paref->{maxVal} = $back->{maxVal}; # Startwert wenn kein Wert bereits via attr vorgegeben ist
|
||||||
|
$paref->{maxStVal} = $back->{maxStVal}; # Start Staplewert
|
||||||
$paref->{maxDif} = $back->{maxDif}; # für Typ diff
|
$paref->{maxDif} = $back->{maxDif}; # für Typ diff
|
||||||
$paref->{minDif} = $back->{minDif}; # für Typ diff
|
$paref->{minDif} = $back->{minDif}; # für Typ diff
|
||||||
|
|
||||||
@@ -15266,6 +15272,7 @@ sub entryGraphic {
|
|||||||
$ret .= _levelSeparator ($paref);
|
$ret .= _levelSeparator ($paref);
|
||||||
|
|
||||||
delete $paref->{maxVal}; # bereinigen vor nächster Ebene
|
delete $paref->{maxVal}; # bereinigen vor nächster Ebene
|
||||||
|
delete $paref->{maxStVal};
|
||||||
delete $paref->{maxDif};
|
delete $paref->{maxDif};
|
||||||
delete $paref->{minDif};
|
delete $paref->{minDif};
|
||||||
delete $paref->{hfcg};
|
delete $paref->{hfcg};
|
||||||
@@ -16945,6 +16952,7 @@ sub _beamGraphicRemainingHours {
|
|||||||
|
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
my $maxVal = $hfcg->{0}{beam1}; # Startwert
|
my $maxVal = $hfcg->{0}{beam1}; # Startwert
|
||||||
|
my $maxStVal = $hfcg->{0}{beam1} + $hfcg->{0}{beam2}; # Start Staplewert
|
||||||
my $maxDif = $hfcg->{0}{diff}; # für Typ diff
|
my $maxDif = $hfcg->{0}{diff}; # für Typ diff
|
||||||
my $minDif = $hfcg->{0}{diff}; # für Typ diff
|
my $minDif = $hfcg->{0}{diff}; # für Typ diff
|
||||||
my $bcapsum = CurrentVal ($name, 'batcapsum', 0); # Summe installierte Batterie Kapazität in Wh
|
my $bcapsum = CurrentVal ($name, 'batcapsum', 0); # Summe installierte Batterie Kapazität in Wh
|
||||||
@@ -17104,12 +17112,14 @@ sub _beamGraphicRemainingHours {
|
|||||||
|
|
||||||
$maxVal = $hfcg->{$i}{beam1} if($hfcg->{$i}{beam1} > $maxVal);
|
$maxVal = $hfcg->{$i}{beam1} if($hfcg->{$i}{beam1} > $maxVal);
|
||||||
$maxVal = $hfcg->{$i}{beam2} if($hfcg->{$i}{beam2} > $maxVal);
|
$maxVal = $hfcg->{$i}{beam2} if($hfcg->{$i}{beam2} > $maxVal);
|
||||||
|
$maxStVal = $hfcg->{$i}{beam1} + $hfcg->{$i}{beam2} if($maxStVal < $hfcg->{$i}{beam1} + $hfcg->{$i}{beam2});
|
||||||
$maxDif = $hfcg->{$i}{diff} if($hfcg->{$i}{diff} > $maxDif);
|
$maxDif = $hfcg->{$i}{diff} if($hfcg->{$i}{diff} > $maxDif);
|
||||||
$minDif = $hfcg->{$i}{diff} if($hfcg->{$i}{diff} < $minDif);
|
$minDif = $hfcg->{$i}{diff} if($hfcg->{$i}{diff} < $minDif);
|
||||||
}
|
}
|
||||||
|
|
||||||
my $back = {
|
my $back = {
|
||||||
maxVal => $maxVal,
|
maxVal => $maxVal,
|
||||||
|
maxStVal => $maxStVal,
|
||||||
maxDif => $maxDif,
|
maxDif => $maxDif,
|
||||||
minDif => $minDif,
|
minDif => $minDif,
|
||||||
};
|
};
|
||||||
@@ -17204,7 +17214,8 @@ sub _beamGraphic {
|
|||||||
my $fcolor2 = $paref->{fcolor2};
|
my $fcolor2 = $paref->{fcolor2};
|
||||||
my $offset = $paref->{offset};
|
my $offset = $paref->{offset};
|
||||||
my $thishour = $paref->{thishour};
|
my $thishour = $paref->{thishour};
|
||||||
my $maxVal = $paref->{maxVal};
|
my $maxVal = $paref->{maxVal}; # Maximalwert von beam1 ODER beam2
|
||||||
|
my $maxStVal = $paref->{maxStVal}; # Maximalwert des Stapels beam1 UND beam2
|
||||||
my $maxDif = $paref->{maxDif};
|
my $maxDif = $paref->{maxDif};
|
||||||
my $minDif = $paref->{minDif};
|
my $minDif = $paref->{minDif};
|
||||||
my $beam1cont = $paref->{beam1cont};
|
my $beam1cont = $paref->{beam1cont};
|
||||||
|
|||||||
Reference in New Issue
Block a user