mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 10:46:53 +00:00
76_Solarforcast: contrib 0.71.0
git-svn-id: https://svn.fhem.de/fhem/trunk@26583 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
938b5cd00e
commit
1c82b81cc8
@ -1,5 +1,5 @@
|
||||
########################################################################################################################
|
||||
# $Id: 76_SolarForecast.pm 21735 2022-10-24 23:53:24Z DS_Starter $
|
||||
# $Id: 76_SolarForecast.pm 21735 2022-10-25 23:53:24Z DS_Starter $
|
||||
#########################################################################################################################
|
||||
# 76_SolarForecast.pm
|
||||
#
|
||||
@ -129,7 +129,9 @@ BEGIN {
|
||||
|
||||
# Versions History intern
|
||||
my %vNotesIntern = (
|
||||
"0.70.10"=> "24.10.2022 write best percentil in pvHistory (_calcCAQwithSolCastPercentil instead of ___readPercAndQuality) ",
|
||||
"0.71.0" => "25.10.2022 new attribute createStatisticReadings, changed some default settings and commandref ",
|
||||
"0.70.10"=> "24.10.2022 write best percentil in pvHistory (_calcCAQwithSolCastPercentil instead of ___readPercAndQuality) ".
|
||||
"add global dnsServer to checkPlantConfig ",
|
||||
"0.70.9 "=> "24.10.2022 create additional percentile only for pvCorrectionFactor_Auto on, changed __solCast_ApiResponse ".
|
||||
"changed _calcCAQwithSolCastPercentil ",
|
||||
"0.70.8 "=> "23.10.2022 change average calculation in _calcCAQwithSolCastPercentil, unuse Notify/createNotifyDev ".
|
||||
@ -374,6 +376,21 @@ my $cssdef = qq{.flowg.text { stroke: none; fill: gray; font-siz
|
||||
qq{.flowg.active_bat_in { stroke: yellow; stroke-dashoffset: 20; stroke-dasharray: 10; opacity: 0.8; animation: dash 0.5s linear; animation-iteration-count: infinite; } \n}.
|
||||
qq{.flowg.active_bat_out { stroke: green; stroke-dashoffset: 20; stroke-dasharray: 10; opacity: 0.8; animation: dash 0.5s linear; animation-iteration-count: infinite; } \n}
|
||||
;
|
||||
# Liste optionaler Statistikreadings
|
||||
my @csr = qw( currentAPIinterval
|
||||
lastretrieval_time
|
||||
lastretrieval_timestamp
|
||||
response_message
|
||||
runTimeCentralTask
|
||||
runTimeLastAPIAnswer
|
||||
runTimeLastAPIProc
|
||||
todayMaxAPIcalls
|
||||
todayDoneAPIcalls
|
||||
todayDoneAPIrequests
|
||||
todayRemaingAPIcalls
|
||||
todayRemainingAPIrequests
|
||||
);
|
||||
|
||||
|
||||
# Steuerhashes
|
||||
###############
|
||||
@ -450,8 +467,9 @@ my %hget = ( # Ha
|
||||
);
|
||||
|
||||
my %hattr = ( # Hash für Attr-Funktion
|
||||
consumer => { fn => \&_attrconsumer },
|
||||
createConsumptionRecReadings => { fn => \&_attrcreateConsRecRdgs },
|
||||
consumer => { fn => \&_attrconsumer },
|
||||
createConsumptionRecReadings => { fn => \&_attrcreateConsRecRdgs },
|
||||
createStatisticReadings => { fn => \&_attrcreateStatisticRdgs },
|
||||
);
|
||||
|
||||
my %htr = ( # Hash even/odd für <tr>
|
||||
@ -707,6 +725,21 @@ my %hpctpl = (
|
||||
80 => { mp => 3 },
|
||||
);
|
||||
|
||||
my %hcsr = ( # Funktiontemplate zur Erstellung optionaler Statistikreadings
|
||||
currentAPIinterval => { fnr => 1, fn => \&SolCastAPIVal, def => 0 },
|
||||
lastretrieval_time => { fnr => 1, fn => \&SolCastAPIVal, def => '-' },
|
||||
lastretrieval_timestamp => { fnr => 1, fn => \&SolCastAPIVal, def => '-' },
|
||||
response_message => { fnr => 1, fn => \&SolCastAPIVal, def => '-' },
|
||||
todayMaxAPIcalls => { fnr => 1, fn => \&SolCastAPIVal, def => $apimaxreqs },
|
||||
todayDoneAPIcalls => { fnr => 1, fn => \&SolCastAPIVal, def => 0 },
|
||||
todayDoneAPIrequests => { fnr => 1, fn => \&SolCastAPIVal, def => 0 },
|
||||
todayRemaingAPIcalls => { fnr => 1, fn => \&SolCastAPIVal, def => $apimaxreqs },
|
||||
todayRemainingAPIrequests => { fnr => 1, fn => \&SolCastAPIVal, def => $apimaxreqs },
|
||||
runTimeCentralTask => { fnr => 2, fn => \&CurrentVal, def => '-' },
|
||||
runTimeLastAPIAnswer => { fnr => 2, fn => \&CurrentVal, def => '-' },
|
||||
runTimeLastAPIProc => { fnr => 2, fn => \&CurrentVal, def => '-' },
|
||||
);
|
||||
|
||||
# Information zu verwendeten internen Datenhashes
|
||||
# $data{$type}{$name}{circular} # Ringspeicher
|
||||
# $data{$type}{$name}{current} # current values
|
||||
@ -723,7 +756,8 @@ sub Initialize {
|
||||
my $hash = shift;
|
||||
|
||||
my $fwd = join ",", devspec2array("TYPE=FHEMWEB:FILTER=STATE=Initialized");
|
||||
my $hod = join ",", map { sprintf "%02d", $_} (01..24);
|
||||
my $hod = join ",", map { sprintf "%02d", $_} (01..24);
|
||||
my $srd = join ",", @csr;
|
||||
|
||||
my ($consumer,@allc);
|
||||
for my $c (1..$maxconsumer) {
|
||||
@ -758,8 +792,9 @@ sub Initialize {
|
||||
"cloudFactorDamping:slider,0,1,100 ".
|
||||
"consumerLegend:none,icon_top,icon_bottom,text_top,text_bottom ".
|
||||
"consumerAdviceIcon ".
|
||||
"createTomorrowPVFcReadings:multiple-strict,$hod ".
|
||||
"createConsumptionRecReadings:multiple-strict,$allcs ".
|
||||
"createTomorrowPVFcReadings:multiple-strict,$hod ".
|
||||
"createStatisticReadings:multiple-strict,$srd ".
|
||||
"Css:textField-long ".
|
||||
"debug:1,0 ".
|
||||
"disable:1,0 ".
|
||||
@ -2288,10 +2323,12 @@ sub ___setLastAPIcallKeyData {
|
||||
$data{$type}{$name}{solcastapi}{'?All'}{'?All'}{currentAPIinterval} = $apirepetdef;
|
||||
}
|
||||
|
||||
####
|
||||
|
||||
my $lang = AttrVal ('global', 'language', 'EN');
|
||||
my $apiitv = SolCastAPIVal ($hash, '?All', '?All', 'currentAPIinterval', $apirepetdef);
|
||||
|
||||
readingsSingleUpdate($hash, 'nextSolCastCall', $hqtxt{after}{$lang}.' '.(timestampToTimestring ($t + $apiitv))[0], 1);
|
||||
readingsSingleUpdate ($hash, 'nextSolCastCall', $hqtxt{after}{$lang}.' '.(timestampToTimestring ($t + $apiitv))[0], 1);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -2593,6 +2630,19 @@ sub _attrcreateConsRecRdgs { ## no critic "not used"
|
||||
return;
|
||||
}
|
||||
|
||||
################################################################
|
||||
# Attr createStatisticReadings
|
||||
################################################################
|
||||
sub _attrcreateStatisticRdgs { ## no critic "not used"
|
||||
my $paref = shift;
|
||||
my $hash = $paref->{hash};
|
||||
my $aName = $paref->{aName};
|
||||
|
||||
deleteReadingspec ($hash, "statistic_.*");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
###################################################################################
|
||||
# Eventverarbeitung
|
||||
# (wird zur Zeit nicht genutzt/verwendet)
|
||||
@ -2985,14 +3035,17 @@ sub centralTask {
|
||||
|
||||
saveEnergyConsumption ($centpars); # Energie Hausverbrauch speichern
|
||||
|
||||
readingsSingleUpdate($hash, "state", $centpars->{state}, 1); # Abschluß state
|
||||
readingsSingleUpdate ($hash, "state", $centpars->{state}, 1); # Abschluß state
|
||||
setTimeTracking ($hash, $cst, 'runTimeCentralTask'); # Zyklus-Laufzeit ermitteln
|
||||
|
||||
genStatisticReadings ($centpars); # optionale Statistikreadings erstellen
|
||||
|
||||
createReadingsFromArray ($hash, \@da, 1); # Readings erzeugen
|
||||
}
|
||||
else {
|
||||
InternalTimer(gettimeofday()+5, "FHEM::SolarForecast::centralTask", $hash, 0);
|
||||
}
|
||||
|
||||
setTimeTracking ($hash, $cst, 'runTimeCentralTask'); # Zyklus-Laufzeit ermitteln
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -5839,9 +5892,10 @@ sub _calcTodayPVdeviation {
|
||||
|
||||
my $diff = $pvfc - $pvre;
|
||||
|
||||
my $dp = sprintf("%.2f" , 100 * $diff / $pvre) if($pvre);
|
||||
|
||||
push @$daref, "Today_PVdeviation<>". $dp." %";
|
||||
if($pvre) {
|
||||
my $dp = sprintf "%.2f" , (100 * $diff / $pvre);
|
||||
push @$daref, "Today_PVdeviation<>". $dp." %";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
@ -5910,6 +5964,32 @@ sub saveEnergyConsumption {
|
||||
return;
|
||||
}
|
||||
|
||||
################################################################
|
||||
# optionale Statistikreadings erstellen
|
||||
################################################################
|
||||
sub genStatisticReadings {
|
||||
my $paref = shift;
|
||||
my $hash = $paref->{hash};
|
||||
my $name = $paref->{name};
|
||||
my $daref = $paref->{daref};
|
||||
|
||||
my @csr = split ',', AttrVal($name, 'createStatisticReadings', '');
|
||||
|
||||
return if(!@csr);
|
||||
|
||||
for my $kpi (@csr) {
|
||||
if ($hcsr{$kpi}{fnr} == 1) {
|
||||
push @$daref, 'statistic_'.$kpi.'<>'. &{$hcsr{$kpi}{fn}} ($hash, '?All', '?All', $kpi, $hcsr{$kpi}{def});
|
||||
}
|
||||
|
||||
if ($hcsr{$kpi}{fnr} == 2) {
|
||||
push @$daref, 'statistic_'.$kpi.'<>'. &{$hcsr{$kpi}{fn}} ($hash, $kpi, $hcsr{$kpi}{def});
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
################################################################
|
||||
# Grunddaten aller registrierten Consumer speichern
|
||||
################################################################
|
||||
@ -6148,7 +6228,7 @@ sub entryGraphic {
|
||||
flowgconX => AttrVal ($name, 'flowGraphicShowConsumerDummy', 1), # Dummyverbraucher in der Energieflußgrafik anzeigen
|
||||
flowgconsPower => AttrVal ($name, 'flowGraphicShowConsumerPower' , 1), # Verbraucher Leistung in der Energieflußgrafik anzeigen
|
||||
flowgconsTime => AttrVal ($name, 'flowGraphicShowConsumerRemainTime', 1), # Verbraucher Restlaufeit in der Energieflußgrafik anzeigen
|
||||
flowgconsDist => AttrVal ($name, 'flowGraphicConsumerDistance', 80), # Abstand Verbrauchericons zueinander
|
||||
flowgconsDist => AttrVal ($name, 'flowGraphicConsumerDistance', 140), # Abstand Verbrauchericons zueinander
|
||||
css => AttrVal ($name, 'Css', $cssdef), # Css Styles
|
||||
};
|
||||
|
||||
@ -8212,8 +8292,12 @@ sub _calcCAQwithSolCastPercentil {
|
||||
$paref->{pvcorrf} = $perc.'/1'; # bestes Percentil in History speichern
|
||||
$paref->{nhour} = sprintf("%02d",$h);
|
||||
$paref->{histname} = "pvcorrfactor";
|
||||
|
||||
setPVhistory ($paref);
|
||||
delete $paref->{histname};
|
||||
|
||||
delete $paref->{histname};
|
||||
delete $paref->{nhour};
|
||||
delete $paref->{pvcorrf};
|
||||
|
||||
if ($debug) { # nur für Debugging
|
||||
Log (1, qq{DEBUG> $name summary PV estimates for hour of day "$h":\n}.
|
||||
@ -9098,12 +9182,13 @@ sub checkPlantConfig {
|
||||
}
|
||||
|
||||
## allg. Settings bei Nutzung SolCast
|
||||
######################################
|
||||
#######################################
|
||||
if (isSolCastUsed ($hash)) {
|
||||
my $cfd = AttrVal ($name, 'cloudFactorDamping', '');
|
||||
my $rfd = AttrVal ($name, 'rainFactorDamping', '');
|
||||
my $osi = AttrVal ($name, 'optimizeSolCastAPIreqInterval', 0);
|
||||
my $pcf = ReadingsVal ($name, 'pvCorrectionFactor_Auto', '');
|
||||
my $gdn = AttrVal ('global', 'dnsServer', '');
|
||||
my $cfd = AttrVal ($name, 'cloudFactorDamping', '');
|
||||
my $rfd = AttrVal ($name, 'rainFactorDamping', '');
|
||||
my $osi = AttrVal ($name, 'optimizeSolCastAPIreqInterval', 0);
|
||||
my $pcf = ReadingsVal ($name, 'pvCorrectionFactor_Auto', '');
|
||||
|
||||
my $lam = SolCastAPIVal ($hash, '?All', '?All', 'response_message', 'success');
|
||||
|
||||
@ -9141,6 +9226,13 @@ sub checkPlantConfig {
|
||||
$result->{'Common Settings'}{fault} = 1;
|
||||
}
|
||||
|
||||
if (!$gdn) {
|
||||
$result->{'Common Settings'}{state} = $nok;
|
||||
$result->{'Common Settings'}{result} .= qq{Attribute dnsServer in global device is not set. <br>};
|
||||
$result->{'Common Settings'}{note} .= qq{set global attribute dnsServer to the IP Adresse of your DNS Server.<br>};
|
||||
$result->{'Common Settings'}{fault} = 1;
|
||||
}
|
||||
|
||||
if(!$result->{'Common Settings'}{fault} && !$result->{'Common Settings'}{warn} && !$result->{'Common Settings'}{info}) {
|
||||
$result->{'Common Settings'}{result} = "fullfilled";
|
||||
$result->{'Common Settings'}{note} .= qq{checked parameter: <br>};
|
||||
@ -10123,9 +10215,10 @@ Vorhersage für den solaren Ertrag und integriert weitere Informationen als Grun
|
||||
|
||||
Die solare Vorhersage basiert auf der durch den Deutschen Wetterdienst (Model DWD) oder der
|
||||
<a href='https://toolkit.solcast.com.au/rooftop-sites/' target='_blank'>SolCast API</a> (Model SolCastAPI) prognostizierten Globalstrahlung am
|
||||
Anlagenstandort. Die Nutzung der SolCast API beschränkt sich auf die kostenlose Version unter Verwendung von Rooftop Sites.
|
||||
Anlagenstandort. Die Nutzung der SolCast API beschränkt sich auf die kostenlose Version unter Verwendung von Rooftop Sites. <br>
|
||||
In zugeordneten DWD_OpenData Device(s) ist die passende Wetterstation mit dem Attribut "forecastStation"
|
||||
festzulegen um eine Prognose für diesen Standort zu erhalten. <br>
|
||||
festzulegen um meteorologische Daten (Bewölkung, Sonnenaufgang, u.a.) bzw. eine Strahlungsprognose (Model DWD) für diesen
|
||||
Standort zu erhalten. <br>
|
||||
Abhängig von den Strahlungs- und Wetterdaten sowie der physikalischen Anlagengestaltung (Ausrichtung, Winkel, Aufteilung in mehrere Strings, u.a.)
|
||||
wird auf eine wahrscheinliche PV Erzeugung der kommenden Stunden ermittelt. <br>
|
||||
Darüber hinaus werden Verbrauchswerte bzw. Netzbezugswerte erfasst und für eine Verbrauchsprognose verwendet. <br>
|
||||
@ -10154,18 +10247,18 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=35%> <col width=65%> </colgroup>
|
||||
<tr><td> <b>currentForecastDev</b> </td><td>DWD_OpenData Device welches Wetterdaten liefert </td></tr>
|
||||
<tr><td> <b>currentRadiationDev </b> </td><td>DWD_OpenData Device welches Strahlungsdaten liefert bzw. SolCast-API </td></tr>
|
||||
<tr><td> <b>currentInverterDev</b> </td><td>Device welches PV Leistungsdaten liefert </td></tr>
|
||||
<tr><td> <b>currentMeterDev</b> </td><td>Device welches Netz I/O-Daten liefert </td></tr>
|
||||
<tr><td> <b>currentBatteryDev</b> </td><td>Device welches Batterie Leistungsdaten liefert (sofern vorhanden) </td></tr>
|
||||
<tr><td> <b>inverterStrings</b> </td><td>Bezeichner der vohandenen Anlagenstrings </td></tr>
|
||||
<tr><td> <b>moduleDirection</b> </td><td>Ausrichtung (Azimuth) der Anlagenstrings </td></tr>
|
||||
<tr><td> <b>modulePeakString</b> </td><td>die DC-Peakleistung der Anlagenstrings </td></tr>
|
||||
<tr><td> <b>roofIdentPair</b> </td><td>die Identifikationsdaten (bei Nutzung der SolCast API) </td></tr>
|
||||
<tr><td> <b>moduleRoofTops</b> </td><td>die Rooftop Parameter (bei Nutzung der SolCast API) </td></tr>
|
||||
<tr><td> <b>moduleTiltAngle</b> </td><td>die Neigungswinkel der der Anlagenmodule </td></tr>
|
||||
<colgroup> <col width=25%> <col width=75%> </colgroup>
|
||||
<tr><td> <b>currentForecastDev</b> </td><td>DWD_OpenData Device welches meteorologische Daten (z.B. Bewölkung) liefert </td></tr>
|
||||
<tr><td> <b>currentRadiationDev </b> </td><td>DWD_OpenData Device bzw. SolCast-API zur Lieferung von Strahlungsdaten </td></tr>
|
||||
<tr><td> <b>currentInverterDev</b> </td><td>Device welches PV Leistungsdaten liefert </td></tr>
|
||||
<tr><td> <b>currentMeterDev</b> </td><td>Device welches Netz I/O-Daten liefert </td></tr>
|
||||
<tr><td> <b>currentBatteryDev</b> </td><td>Device welches Batterie Leistungsdaten liefert (sofern vorhanden) </td></tr>
|
||||
<tr><td> <b>inverterStrings</b> </td><td>Bezeichner der vohandenen Anlagenstrings </td></tr>
|
||||
<tr><td> <b>moduleDirection</b> </td><td>Ausrichtung (Azimuth) der Anlagenstrings </td></tr>
|
||||
<tr><td> <b>modulePeakString</b> </td><td>die DC-Peakleistung der Anlagenstrings </td></tr>
|
||||
<tr><td> <b>roofIdentPair</b> </td><td>die Identifikationsdaten (bei Nutzung der SolCast API) </td></tr>
|
||||
<tr><td> <b>moduleRoofTops</b> </td><td>die Rooftop Parameter (bei Nutzung der SolCast API) </td></tr>
|
||||
<tr><td> <b>moduleTiltAngle</b> </td><td>die Neigungswinkel der der Anlagenmodule </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
@ -10932,6 +11025,13 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a id="SolarForecast-attr-beam1FontColor"></a>
|
||||
<li><b>beam1FontColor </b><br>
|
||||
Auswahl der Schriftfarbe des primären Balken. <br>
|
||||
(default: 0D0D0D)
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a id="SolarForecast-attr-beam1Content"></a>
|
||||
<li><b>beam1Content </b><br>
|
||||
Legt den darzustellenden Inhalt der primären Balken fest.
|
||||
@ -10939,8 +11039,8 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=15%> <col width=85%> </colgroup>
|
||||
<tr><td> <b>pvForecast</b> </td><td>prognostizierte PV-Erzeugung (default) </td></tr>
|
||||
<tr><td> <b>pvReal</b> </td><td>reale PV-Erzeugung </td></tr>
|
||||
<tr><td> <b>pvReal</b> </td><td>reale PV-Erzeugung (default) </td></tr>
|
||||
<tr><td> <b>pvForecast</b> </td><td>prognostizierte PV-Erzeugung </td></tr>
|
||||
<tr><td> <b>gridconsumption</b> </td><td>Energie Bezug aus dem Netz </td></tr>
|
||||
<tr><td> <b>consumptionForecast</b> </td><td>prognostizierter Energieverbrauch </td></tr>
|
||||
</table>
|
||||
@ -10952,7 +11052,14 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
<li><b>beam2Color </b><br>
|
||||
Farbauswahl der sekundären Balken. Die zweite Farbe ist nur sinnvoll für den Anzeigedevice-Typ "pvco" und "diff".
|
||||
</li>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a id="SolarForecast-attr-beam2FontColor"></a>
|
||||
<li><b>beam2FontColor </b><br>
|
||||
Auswahl der Schriftfarbe des sekundären Balken. <br>
|
||||
(default: 000000)
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<a id="SolarForecast-attr-beam2Content"></a>
|
||||
<li><b>beam2Content </b><br>
|
||||
@ -11012,7 +11119,7 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
|
||||
<a id="SolarForecast-attr-consumerLegend"></a>
|
||||
<li><b>consumerLegend </b><br>
|
||||
Definiert die Lage bzw. Darstellungsweise der Verbraucherlegende sofern Verbraucher SolarForecast Device
|
||||
Definiert die Lage bzw. Darstellungsweise der Verbraucherlegende sofern Verbraucher im SolarForecast Device
|
||||
registriert sind. <br>
|
||||
(default: icon_top)
|
||||
</li>
|
||||
@ -11125,9 +11232,35 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
PV-Erzeugung bzw. des aktuellen Energieüberschusses empfohlen ist. Der Wert des erstellten Readings korreliert
|
||||
mit den berechneten Planungsdaten das Consumers, kann aber von dem Planungszeitraum abweichen. <br>
|
||||
<br>
|
||||
|
||||
</li>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a id="SolarForecast-attr-createStatisticReadings"></a>
|
||||
<li><b>createStatisticReadings </b><br>
|
||||
Für die ausgewählten Kennzahlen und Indikatoren werden Readings erstellt. <br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=25%> <col width=75%> </colgroup>
|
||||
<tr><td> <b>currentAPIinterval</b> </td><td>das aktuelle Abrufintervall der SolCast API (nur Model SolCastAPI) in Sekunden </td></tr>
|
||||
<tr><td> <b>lastretrieval_time</b> </td><td>der letze Abrufzeitpunkt der SolCast API (nur Model SolCastAPI) </td></tr>
|
||||
<tr><td> <b>lastretrieval_timestamp</b> </td><td>der letze Abrufzeitpunkt der SolCast API (nur Model SolCastAPI) als Timestamp </td></tr>
|
||||
<tr><td> <b>response_message</b> </td><td>die letzte Statusmeldung der SolCast API (nur Model SolCastAPI) </td></tr>
|
||||
<tr><td> <b>runTimeCentralTask</b> </td><td>die Laufzeit des letzten SolarForecast Intervalls (Gesamtprozess) in Sekunden </td></tr>
|
||||
<tr><td> <b>runTimeLastAPIAnswer</b> </td><td>die letzte Antwortzeit der SolCast API (nur Model SolCastAPI) auf einen Request in Sekunden </td></tr>
|
||||
<tr><td> <b>runTimeLastAPIProc</b> </td><td>die letzte Prozesszeit zur Verarbeitung der empfangenen SolCast API Daten (nur Model SolCastAPI) </td></tr>
|
||||
<tr><td> <b>todayMaxAPIcalls</b> </td><td>die maximal mögliche Anzahl SolCast API Calls (nur Model SolCastAPI). </td></tr>
|
||||
<tr><td> </td><td>Ein Call kann mehrere API Requests enthalten. </td></tr>
|
||||
<tr><td> <b>todayDoneAPIcalls</b> </td><td>die Anzahl der am aktuellen Tag ausgeführten SolCast API Calls (nur Model SolCastAPI) </td></tr>
|
||||
<tr><td> <b>todayDoneAPIrequests</b> </td><td>die Anzahl der am aktuellen Tag ausgeführten SolCast API Requests (nur Model SolCastAPI) </td></tr>
|
||||
<tr><td> <b>todayRemaingAPIcalls</b> </td><td>die Anzahl der am aktuellen Tag noch möglichen SolCast API Calls (nur Model SolCastAPI) </td></tr>
|
||||
<tr><td> <b>todayRemainingAPIrequests</b> </td><td>die Anzahl der am aktuellen Tag noch möglichen SolCast API Requests (nur Model SolCastAPI) </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
|
||||
<a id="SolarForecast-attr-createTomorrowPVFcReadings"></a>
|
||||
<li><b>createTomorrowPVFcReadings <01,02,..,24> </b><br>
|
||||
@ -11195,7 +11328,7 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
<li><b>flowGraphicConsumerDistance </b><br>
|
||||
Steuert den Abstand zwischen den Consumer-Icons in der Energieflußgrafik sofern angezeigt.
|
||||
Siehe auch Attribut <a href="#SolarForecast-attr-flowGraphicShowConsumer">flowGraphicShowConsumer</a>. <br>
|
||||
(default: 80)
|
||||
(default: 140)
|
||||
</li>
|
||||
<br>
|
||||
|
||||
@ -11209,7 +11342,7 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
|
||||
<a id="SolarForecast-attr-flowGraphicShowConsumerDummy"></a>
|
||||
<li><b>flowGraphicShowConsumerDummy </b><br>
|
||||
Zeigt bzw. unterdrückt den Dummy-Verbraucher in der Energieflußgrafik. <br>
|
||||
Dem Dummy-Verbraucher stellt den Energieverbrauch dar der anderen Verbrauchern nicht zugeordnet werden konnte. <br>
|
||||
Dem Dummy-Verbraucher wird der Energieverbrauch zugewiesen der anderen Verbrauchern nicht zugeordnet werden konnte. <br>
|
||||
(default: 1)
|
||||
</li>
|
||||
<br>
|
||||
|
Loading…
x
Reference in New Issue
Block a user