mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
76_Solarforcast: contrib 0.31.1
git-svn-id: https://svn.fhem.de/fhem/trunk@24172 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
683dbeaf12
commit
afebd38d2a
@ -117,6 +117,7 @@ BEGIN {
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
my %vNotesIntern = (
|
my %vNotesIntern = (
|
||||||
|
"0.31.1" => "07.04.2021 write new values to pvhistory, change CO to Current_Consumption in graphic ",
|
||||||
"0.31.0" => "06.04.2021 extend currentMeterDev by gfeedin, feedtotal ",
|
"0.31.0" => "06.04.2021 extend currentMeterDev by gfeedin, feedtotal ",
|
||||||
"0.30.0" => "05.04.2021 estimate readings to the minute in sub _calcSummaries, new setter energyH4Trigger ",
|
"0.30.0" => "05.04.2021 estimate readings to the minute in sub _calcSummaries, new setter energyH4Trigger ",
|
||||||
"0.29.0" => "03.04.2021 new setter powerTrigger ",
|
"0.29.0" => "03.04.2021 new setter powerTrigger ",
|
||||||
@ -1663,6 +1664,15 @@ sub _transferWeatherValues {
|
|||||||
$paref->{histname} = "weatherid";
|
$paref->{histname} = "weatherid";
|
||||||
$paref->{nhour} = sprintf("%02d",$fh1);
|
$paref->{nhour} = sprintf("%02d",$fh1);
|
||||||
setPVhistory ($paref);
|
setPVhistory ($paref);
|
||||||
|
|
||||||
|
$paref->{wcc} = $neff;
|
||||||
|
$paref->{histname} = "weathercloudcover";
|
||||||
|
setPVhistory ($paref);
|
||||||
|
|
||||||
|
$paref->{wrp} = $r101;
|
||||||
|
$paref->{histname} = "weatherrainprob";
|
||||||
|
setPVhistory ($paref);
|
||||||
|
|
||||||
delete $paref->{histname};
|
delete $paref->{histname};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2329,7 +2339,7 @@ sub forecastGraphic {
|
|||||||
my $co4h = ReadingsNum ($name,"Next04Hours_Consumption", 0);
|
my $co4h = ReadingsNum ($name,"Next04Hours_Consumption", 0);
|
||||||
my $coRe = ReadingsNum ($name,"RestOfDay_Consumption", 0);
|
my $coRe = ReadingsNum ($name,"RestOfDay_Consumption", 0);
|
||||||
my $coTo = ReadingsNum ($name,"Tomorrow_Consumption", 0);
|
my $coTo = ReadingsNum ($name,"Tomorrow_Consumption", 0);
|
||||||
my $coCu = ReadingsNum ($name,"Current_GridConsumption", 0);
|
my $coCu = ReadingsNum ($name,"Current_Consumption", 0);
|
||||||
|
|
||||||
my $pv4h = ReadingsNum ($name,"NextHours_Sum04_PVforecast", 0);
|
my $pv4h = ReadingsNum ($name,"NextHours_Sum04_PVforecast", 0);
|
||||||
my $pvRe = ReadingsNum ($name,"RestOfDayPVforecast", 0);
|
my $pvRe = ReadingsNum ($name,"RestOfDayPVforecast", 0);
|
||||||
@ -3406,6 +3416,8 @@ sub setPVhistory {
|
|||||||
my $gcthishour = $paref->{gctotthishour} // 0; # Grid Consumption
|
my $gcthishour = $paref->{gctotthishour} // 0; # Grid Consumption
|
||||||
my $fithishour = $paref->{gftotthishour} // 0; # Grid Feed In
|
my $fithishour = $paref->{gftotthishour} // 0; # Grid Feed In
|
||||||
my $wid = $paref->{wid} // -1;
|
my $wid = $paref->{wid} // -1;
|
||||||
|
my $wcc = $paref->{wcc} // 0; # Wolkenbedeckung
|
||||||
|
my $wrp = $paref->{wrp} // 0; # Wahrscheinlichkeit von Niederschlag
|
||||||
|
|
||||||
my $type = $hash->{TYPE};
|
my $type = $hash->{TYPE};
|
||||||
my $val = q{};
|
my $val = q{};
|
||||||
@ -3464,6 +3476,18 @@ sub setPVhistory {
|
|||||||
$data{$type}{$name}{pvhist}{$day}{99}{weatherid} = q{};
|
$data{$type}{$name}{pvhist}{$day}{99}{weatherid} = q{};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($histname eq "weathercloudcover") { # Wolkenbedeckung
|
||||||
|
$val = $wcc;
|
||||||
|
$data{$type}{$name}{pvhist}{$day}{$nhour}{wcc} = $wcc;
|
||||||
|
$data{$type}{$name}{pvhist}{$day}{99}{wcc} = q{};
|
||||||
|
}
|
||||||
|
|
||||||
|
if($histname eq "weatherrainprob") { # Niederschlagswahrscheinlichkeit
|
||||||
|
$val = $wrp;
|
||||||
|
$data{$type}{$name}{pvhist}{$day}{$nhour}{wrp} = $wrp;
|
||||||
|
$data{$type}{$name}{pvhist}{$day}{99}{wrp} = q{};
|
||||||
|
}
|
||||||
|
|
||||||
Log3 ($name, 5, "$name - set PV History hour: $nhour, hash: $histname, val: $val");
|
Log3 ($name, 5, "$name - set PV History hour: $nhour, hash: $histname, val: $val");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -3491,8 +3515,10 @@ sub listDataPool {
|
|||||||
my $gcons = HistoryVal ($hash, $day, $key, "gcons", 0);
|
my $gcons = HistoryVal ($hash, $day, $key, "gcons", 0);
|
||||||
my $gfeedin = HistoryVal ($hash, $day, $key, "gfeedin", 0);
|
my $gfeedin = HistoryVal ($hash, $day, $key, "gfeedin", 0);
|
||||||
my $wid = HistoryVal ($hash, $day, $key, "weatherid", -1);
|
my $wid = HistoryVal ($hash, $day, $key, "weatherid", -1);
|
||||||
|
my $wcc = HistoryVal ($hash, $day, $key, "wcc", 0);
|
||||||
|
my $wrp = HistoryVal ($hash, $day, $key, "wrp", 0);
|
||||||
$ret .= "\n " if($ret);
|
$ret .= "\n " if($ret);
|
||||||
$ret .= $key." => pvreal: $pvrl, pvforecast: $pvfc, gridcon: $gcons, gfeedin: $gfeedin, weatherid: $wid";
|
$ret .= $key." => pvreal: $pvrl, pvforecast: $pvfc, gridcon: $gcons, gfeedin: $gfeedin, weatherid: $wid, cloudcover: $wcc, rainprob: $wrp";
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
};
|
};
|
||||||
@ -3522,7 +3548,7 @@ sub listDataPool {
|
|||||||
my $wccv = CircularVal ($hash, $idx, "weathercloudcover", 0);
|
my $wccv = CircularVal ($hash, $idx, "weathercloudcover", 0);
|
||||||
my $wrprb = CircularVal ($hash, $idx, "weatherrainprob", 0);
|
my $wrprb = CircularVal ($hash, $idx, "weatherrainprob", 0);
|
||||||
$sq .= "\n" if($sq);
|
$sq .= "\n" if($sq);
|
||||||
$sq .= $idx." => pvforecast: $pvfc, pvreal: $pvrl, gcons: $gcons, gfeedin: $gfeedin, weathercloudcover: $wccv, weatherrainprob: $wrprb, weatherid: $wid, weathertxt: $wtxt";
|
$sq .= $idx." => pvforecast: $pvfc, pvreal: $pvrl, gcons: $gcons, gfeedin: $gfeedin, cloudcover: $wccv, rainprob: $wrprb, weatherid: $wid, weathertxt: $wtxt";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3736,10 +3762,13 @@ return;
|
|||||||
#
|
#
|
||||||
# $day: Tag des Monats (01,02,...,31)
|
# $day: Tag des Monats (01,02,...,31)
|
||||||
# $hod: Stunde des Tages (01,02,...,24,99)
|
# $hod: Stunde des Tages (01,02,...,24,99)
|
||||||
# $key: pvrl - realer PV Ertrag
|
# $key: pvrl - realer PV Ertrag
|
||||||
# pvfc - PV Vorhersage
|
# pvfc - PV Vorhersage
|
||||||
# gcons - realer Netzbezug
|
# gcons - realer Netzbezug
|
||||||
# gfeedin - reale Netzeinspeisung
|
# gfeedin - reale Netzeinspeisung
|
||||||
|
# weatherid - Wetter ID
|
||||||
|
# wcc - Grad der Bewölkung
|
||||||
|
# wrp - Niederschlagswahrscheinlichkeit
|
||||||
# $def: Defaultwert
|
# $def: Defaultwert
|
||||||
#
|
#
|
||||||
################################################################
|
################################################################
|
||||||
@ -4220,10 +4249,13 @@ verfügbare Globalstrahlung ganz spezifisch in elektrische Energie umgewandelt.
|
|||||||
<ul>
|
<ul>
|
||||||
<table>
|
<table>
|
||||||
<colgroup> <col width=20%> <col width=80%> </colgroup>
|
<colgroup> <col width=20%> <col width=80%> </colgroup>
|
||||||
<tr><td> <b>pvforecast</b> </td><td>der prognostizierte PV Ertrag der jeweiligen Stunde </td></tr>
|
<tr><td> <b>pvforecast</b> </td><td>der prognostizierte PV Ertrag der jeweiligen Stunde </td></tr>
|
||||||
<tr><td> <b>pvreal</b> </td><td>reale PV Erzeugung der jeweiligen Stunde </td></tr>
|
<tr><td> <b>pvreal</b> </td><td>reale PV Erzeugung der jeweiligen Stunde </td></tr>
|
||||||
<tr><td> <b>gcons</b> </td><td>realer Leistungsbezug aus dem Stromnetz der jeweiligen Stunde </td></tr>
|
<tr><td> <b>gcons</b> </td><td>realer Leistungsbezug aus dem Stromnetz der jeweiligen Stunde </td></tr>
|
||||||
<tr><td> <b>gfeedin</b> </td><td>reale Einspeisung in das Stromnetz der jeweiligen Stunde </td></tr>
|
<tr><td> <b>gfeedin</b> </td><td>reale Einspeisung in das Stromnetz der jeweiligen Stunde </td></tr>
|
||||||
|
<tr><td> <b>weatherid</b> </td><td>Identifikationsnummer des Wetters in der jeweiligen Stunde </td></tr>
|
||||||
|
<tr><td> <b>cloudcover</b> </td><td>effektive Wolkenbedeckung der jeweiligen Stunde </td></tr>
|
||||||
|
<tr><td> <b>rainprob</b> </td><td>Wahrscheinlichkeit von Niederschlag > 0,1 mm während der jeweiligen Stunde </td></tr>
|
||||||
</table>
|
</table>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user