2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-08 07:24:21 +00:00

76_SolarForecast.pm: contrib 0.68.1

git-svn-id: https://svn.fhem.de/fhem/trunk@26415 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2022-09-17 19:16:16 +00:00
parent 980859cad4
commit 2cf56aafaf

View File

@ -2007,8 +2007,10 @@ sub ___setLastAPIcalltime {
my $type = $hash->{TYPE}; my $type = $hash->{TYPE};
$data{$type}{$name}{solcastapi}{'?All'}{'?All'}{lastretrieval_time} = (timestampToTimestring ($t))[3]; # letzte Abrufzeit $data{$type}{$name}{solcastapi}{'?All'}{'?All'}{lastretrieval_time} = (timestampToTimestring ($t))[3]; # letzte Abrufzeit
$data{$type}{$name}{solcastapi}{'?All'}{'?All'}{lastretrieval_timestamp} = $t; # letzter Abrufzeitstempel $data{$type}{$name}{solcastapi}{'?All'}{'?All'}{lastretrieval_timestamp} = $t; # letzter Abrufzeitstempel
$data{$type}{$name}{current}{todaySolCastAPIcalls} += 1;
return; return;
} }
@ -2874,6 +2876,9 @@ sub _specialActivities {
delete $hash->{HELPER}{INITCONTOTAL}; delete $hash->{HELPER}{INITCONTOTAL};
delete $hash->{HELPER}{INITFEEDTOTAL}; delete $hash->{HELPER}{INITFEEDTOTAL};
delete $data{$type}{$name}{current}{todaySolCastAPIcalls};
delete $data{$type}{$name}{current}{todayMaxEstValue};
delete $data{$type}{$name}{current}{todayMaxEstTimestamp};
delete $data{$type}{$name}{pvhist}{$day}; # den (alten) aktuellen Tag aus History löschen delete $data{$type}{$name}{pvhist}{$day}; # den (alten) aktuellen Tag aus History löschen
Log3 ($name, 3, qq{$name - history day "$day" deleted}); Log3 ($name, 3, qq{$name - history day "$day" deleted});
@ -3507,7 +3512,7 @@ sub _calcMaxEstimateToday {
return if (!keys %{$data{$type}{$name}{nexthours}}); return if (!keys %{$data{$type}{$name}{nexthours}});
my $maxest = 0; my $maxest = CurrentVal ($hash, 'todayMaxEstValue', 0);
for my $idx (sort keys %{$data{$type}{$name}{nexthours}}) { for my $idx (sort keys %{$data{$type}{$name}{nexthours}}) {
my $today = NexthoursVal ($hash, $idx, 'today', 0); my $today = NexthoursVal ($hash, $idx, 'today', 0);
@ -9003,24 +9008,30 @@ sub NexthoursVal {
return $def; return $def;
} }
############################################################################# ###################################################################################################
# Wert des current-Hash zurückliefern # Wert des current-Hash zurückliefern
# Usage: # Usage:
# CurrentVal ($hash, $key, $def) # CurrentVal ($hash, $key, $def)
# #
# $key: generation - aktuelle PV Erzeugung # $key: generation - aktuelle PV Erzeugung
# genslidereg - Schieberegister PV Erzeugung (Array) # genslidereg - Schieberegister PV Erzeugung (Array)
# h4fcslidereg - Schieberegister 4h PV Forecast (Array) # h4fcslidereg - Schieberegister 4h PV Forecast (Array)
# consumerdevs - alle registrierten Consumerdevices (Array) # consumption - aktueller Verbrauch (W)
# gridconsumption - aktueller Netzbezug # consumerdevs - alle registrierten Consumerdevices (Array)
# powerbatin - Batterie Ladeleistung # gridconsumption - aktueller Netzbezug
# powerbatout - Batterie Entladeleistung # powerbatin - Batterie Ladeleistung
# temp - aktuelle Außentemperatur # powerbatout - Batterie Entladeleistung
# tomorrowconsumption - Verbrauch des kommenden Tages # temp - aktuelle Außentemperatur
# invertercapacity - Bemessungsleistung der Wechselrichters (max. W) # surplus - aktueller PV Überschuß
# tomorrowconsumption - Verbrauch des kommenden Tages
# invertercapacity - Bemessungsleistung der Wechselrichters (max. W)
# allstringspeak - Peakleistung aller Strings nach temperaturabhängiger Korrektur
# todayMaxEstTimestamp - Zeitstempel des erwarteten maximalen PV Ertrages am aktuellen Tag
# todayMaxEstValue - Wert (Wh) des erwarteten maximalen PV Ertrages am aktuellen Tag
# tomorrowconsumption - erwarteter Gesamtverbrauch am morgigen Tag
# $def: Defaultwert # $def: Defaultwert
# #
############################################################################# ###################################################################################################
sub CurrentVal { sub CurrentVal {
my $hash = shift; my $hash = shift;
my $key = shift; my $key = shift;