76_SolarForecast: Version 1.51.8

git-svn-id: https://svn.fhem.de/fhem/trunk@29916 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
DS_Starter
2025-05-02 20:39:49 +00:00
parent 668e2c8214
commit f6c6cb0ee9
2 changed files with 18 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it # Do not insert empty lines here, update check depends on it
- bugfix: 76_SolarForecast: Version 1.51.8
- feature: 76_SolarForecast: Version 1.51.7 - feature: 76_SolarForecast: Version 1.51.7
- feature: 50_MOBILEALERTSGW: Added Internal lastseen per gateway - feature: 50_MOBILEALERTSGW: Added Internal lastseen per gateway
- feature: 76_SolarForecast: Version 1.51.5 - feature: 76_SolarForecast: Version 1.51.5

View File

@@ -160,6 +160,8 @@ BEGIN {
# Versions History intern # Versions History intern
my %vNotesIntern = ( my %vNotesIntern = (
"1.51.8" => "02.05.2025 _specialActivities: delete overhanging days at the change of month ".
"Bugfix: https://forum.fhem.de/index.php?msg=1340666 ",
"1.51.7" => "01.05.2025 __createAdditionalEvents: optimized for SVG 'steps', new key plantControl->genPVforecastsToEvent ". "1.51.7" => "01.05.2025 __createAdditionalEvents: optimized for SVG 'steps', new key plantControl->genPVforecastsToEvent ".
"aiAddRawData: add gcons, _listDataPoolCircular: add gcons_a ", "aiAddRawData: add gcons, _listDataPoolCircular: add gcons_a ",
"1.51.6" => "30.04.2025 graphicBeamXContent: change batsocforecast_XX to batsocCombi_XX, new options batsocForecast_XX, batsocReal_XX ". "1.51.6" => "30.04.2025 graphicBeamXContent: change batsocforecast_XX to batsocCombi_XX, new options batsocForecast_XX, batsocReal_XX ".
@@ -467,7 +469,7 @@ use constant {
LAGTIME => 1800, # Nachlaufzeit relativ zu Sunset bis Sperrung API Abruf LAGTIME => 1800, # Nachlaufzeit relativ zu Sunset bis Sperrung API Abruf
PRDEF => 1.0, # default Performance Ratio (PR) PRDEF => 1.0, # default Performance Ratio (PR)
STOREFFDEF => 0.9, # default Batterie Effizienz (https://www.energie-experten.org/erneuerbare-energien/photovoltaik/stromspeicher/wirkungsgrad) STOREFFDEF => 0.90, # default Batterie Effizienz (https://www.energie-experten.org/erneuerbare-energien/photovoltaik/stromspeicher/wirkungsgrad)
TEMPCOEFFDEF => -0.45, # default Temperaturkoeffizient Pmpp (%/°C) lt. Datenblatt Solarzelle TEMPCOEFFDEF => -0.45, # default Temperaturkoeffizient Pmpp (%/°C) lt. Datenblatt Solarzelle
TEMPMODINC => 25, # default Temperaturerhöhung an Solarzellen gegenüber Umgebungstemperatur bei wolkenlosem Himmel TEMPMODINC => 25, # default Temperaturerhöhung an Solarzellen gegenüber Umgebungstemperatur bei wolkenlosem Himmel
TEMPBASEDEF => 25, # Temperatur Module bei Nominalleistung TEMPBASEDEF => 25, # Temperatur Module bei Nominalleistung
@@ -9258,6 +9260,18 @@ sub _specialActivities {
delete $data{$name}{pvhist}{$day}; # den (alten) aktuellen Tag aus History löschen delete $data{$name}{pvhist}{$day}; # den (alten) aktuellen Tag aus History löschen
if (int $day == 1) { # Monatswechsel: überhängende Tage löschen
my $dtp = timestringsFromOffset ($t, -86000); # Berechne die Anzahl der Tage im Vormonat
my $dipm = int $dtp->{day};
for my $dtr ($dipm + 1 .. 31) { # Lösche ungültige Tage des Vormonats
if (exists $data{$name}{pvhist}{$dtr}) {
delete $data{$name}{pvhist}{$dtr};
Log3 ($name, 3, "$name - history day >$dtr< deleted");
}
}
}
writeCacheToFile ($hash, 'plantconfig', $plantcfg.$name); # Anlagenkonfiguration sichern writeCacheToFile ($hash, 'plantconfig', $plantcfg.$name); # Anlagenkonfiguration sichern
Log3 ($name, 3, "$name - history day >$day< deleted"); Log3 ($name, 3, "$name - history day >$day< deleted");
@@ -14228,7 +14242,7 @@ sub _genSpecialReadings {
if (!AttrVal ($name, 'consumer'.$c, '')) { if (!AttrVal ($name, 'consumer'.$c, '')) {
readingsDelete ($hash, $prpo.'_currentRunMtsConsumer_'.$c); readingsDelete ($hash, $prpo.'_currentRunMtsConsumer_'.$c);
return; next;
} }
my $mion = &{$hcsr{$kpi}{fn}} ($hash, $c, $hcsr{$kpi}{par}, $def); my $mion = &{$hcsr{$kpi}{fn}} ($hash, $c, $hcsr{$kpi}{par}, $def);
@@ -14241,7 +14255,7 @@ sub _genSpecialReadings {
if (!AttrVal ($name, 'consumer'.$c, '')) { if (!AttrVal ($name, 'consumer'.$c, '')) {
readingsDelete ($hash, $prpo.'_runTimeAvgDayConsumer_'.$c); readingsDelete ($hash, $prpo.'_runTimeAvgDayConsumer_'.$c);
return; next;
} }
my $radc = &{$hcsr{$kpi}{fn}} ($hash, $c, $hcsr{$kpi}{par}, $def); my $radc = &{$hcsr{$kpi}{fn}} ($hash, $c, $hcsr{$kpi}{par}, $def);