mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-19 18:56:03 +00:00
76_SolarForecast.pm: contrib 0.29.0
git-svn-id: https://svn.fhem.de/fhem/trunk@24152 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
6c686e1571
commit
a10ebadd7a
@ -1804,32 +1804,29 @@ sub _evaluateThresholds {
|
|||||||
return if(!$pt);
|
return if(!$pt);
|
||||||
|
|
||||||
my $aaref = CurrentVal ($hash, "genslidereg", "");
|
my $aaref = CurrentVal ($hash, "genslidereg", "");
|
||||||
my @aa = @{$aaref} if (ref $aaref eq "ARRAY");
|
my @aa = ();
|
||||||
|
@aa = @{$aaref} if (ref $aaref eq "ARRAY");
|
||||||
|
|
||||||
return if(scalar @aa < $defslidenum);
|
return if(scalar @aa < $defslidenum);
|
||||||
|
|
||||||
my $gen = $aa[0];
|
my $gen1 = $aa[0];
|
||||||
my ($gt,$lt) = (1,1);
|
my $gen2 = $aa[1];
|
||||||
|
my $gen3 = $aa[2];
|
||||||
for my $elem (@aa) {
|
|
||||||
if($elem < $gen) {
|
|
||||||
$gt = 0;
|
|
||||||
}
|
|
||||||
if($elem > $gen) {
|
|
||||||
$lt = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
my ($a,$h) = parseParams ($pt);
|
my ($a,$h) = parseParams ($pt);
|
||||||
|
|
||||||
for my $key (keys %{$h}) {
|
for my $key (keys %{$h}) {
|
||||||
my ($knum,$cond) = $key =~ /^([0-9]+)(on|off)$/x;
|
my ($knum,$cond) = $key =~ /^([0-9]+)(on|off)$/x;
|
||||||
|
|
||||||
if($cond eq "on" && $gt && $gen > $h->{$key}) {
|
if($cond eq "on" && $gen1 > $h->{$key}) {
|
||||||
|
next if($gen2 < $h->{$key});
|
||||||
|
next if($gen3 < $h->{$key});
|
||||||
push @$daref, "powerTrigger_${knum}<>on" if(ReadingsVal($name, "powerTrigger_${knum}", "off") eq "off");
|
push @$daref, "powerTrigger_${knum}<>on" if(ReadingsVal($name, "powerTrigger_${knum}", "off") eq "off");
|
||||||
}
|
}
|
||||||
|
|
||||||
if($cond eq "off" && $lt && $gen < $h->{$key}) {
|
if($cond eq "off" && $gen1 < $h->{$key}) {
|
||||||
|
next if($gen2 > $h->{$key});
|
||||||
|
next if($gen3 > $h->{$key});
|
||||||
push @$daref, "powerTrigger_${knum}<>off" if(ReadingsVal($name, "powerTrigger_${knum}", "on") eq "on");
|
push @$daref, "powerTrigger_${knum}<>off" if(ReadingsVal($name, "powerTrigger_${knum}", "on") eq "on");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3739,7 +3736,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
<ul>
|
<ul>
|
||||||
<ul>
|
<ul>
|
||||||
<a name="currentForecastDev"></a>
|
<a name="currentForecastDev"></a>
|
||||||
<li><b>currentForecastDev </b> <br>
|
<li><b>currentForecastDev </b> <br><br>
|
||||||
|
|
||||||
Legt das Device (Typ DWD_OpenData) fest, welches die Daten der solaren Vorhersage liefert. Ist noch kein Device dieses Typs
|
Legt das Device (Typ DWD_OpenData) fest, welches die Daten der solaren Vorhersage liefert. Ist noch kein Device dieses Typs
|
||||||
vorhanden, muß es manuell definiert werden (siehe <a href="http://fhem.de/commandref.html#DWD_OpenData">DWD_OpenData Commandref</a>). <br>
|
vorhanden, muß es manuell definiert werden (siehe <a href="http://fhem.de/commandref.html#DWD_OpenData">DWD_OpenData Commandref</a>). <br>
|
||||||
Im ausgewählten DWD_OpenData Device müssen mindestens diese Attribute gesetzt sein: <br><br>
|
Im ausgewählten DWD_OpenData Device müssen mindestens diese Attribute gesetzt sein: <br><br>
|
||||||
@ -3760,7 +3758,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="currentInverterDev"></a>
|
<a name="currentInverterDev"></a>
|
||||||
<li><b>currentInverterDev <Inverter Device Name> pv=<Reading aktuelle PV-Leistung>:<Einheit> etotal=<Reading Summe Energieerzeugung>:<Einheit> </b> <br>
|
<li><b>currentInverterDev <Inverter Device Name> pv=<Reading aktuelle PV-Leistung>:<Einheit> etotal=<Reading Summe Energieerzeugung>:<Einheit> </b> <br><br>
|
||||||
|
|
||||||
Legt ein beliebiges Device zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit
|
Legt ein beliebiges Device zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit
|
||||||
entsprechenden Readings sein. Die Werte mehrerer Inverterdevices führt man z.B. in einem Dummy Device zusammen und gibt
|
entsprechenden Readings sein. Die Werte mehrerer Inverterdevices führt man z.B. in einem Dummy Device zusammen und gibt
|
||||||
dieses Device mit den entsprechenden Readings an.
|
dieses Device mit den entsprechenden Readings an.
|
||||||
@ -3788,7 +3787,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="currentMeterDev"></a>
|
<a name="currentMeterDev"></a>
|
||||||
<li><b>currentMeterDev <Meter Device Name> gcon=<Reading aktueller Netzbezug>:<Einheit> contotal=<Reading Summe Netzbezug>:<Einheit></b> <br>
|
<li><b>currentMeterDev <Meter Device Name> gcon=<Reading aktueller Netzbezug>:<Einheit> contotal=<Reading Summe Netzbezug>:<Einheit></b> <br><br>
|
||||||
|
|
||||||
Legt ein beliebiges Device zur Messung des Energiebezugs fest. Es kann auch ein Dummy Device mit entsprechenden Readings
|
Legt ein beliebiges Device zur Messung des Energiebezugs fest. Es kann auch ein Dummy Device mit entsprechenden Readings
|
||||||
sein.
|
sein.
|
||||||
<br>
|
<br>
|
||||||
@ -3814,7 +3814,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="inverterStrings"></a>
|
<a name="inverterStrings"></a>
|
||||||
<li><b>inverterStrings <Stringname1>[,<Stringname2>,<Stringname3>,...] </b> <br>
|
<li><b>inverterStrings <Stringname1>[,<Stringname2>,<Stringname3>,...] </b> <br><br>
|
||||||
|
|
||||||
Bezeichnungen der am Wechselrichter aktiven Strings. Diese Bezeichnungen werden als Schlüssel in den weiteren
|
Bezeichnungen der am Wechselrichter aktiven Strings. Diese Bezeichnungen werden als Schlüssel in den weiteren
|
||||||
Settings verwendet. <br><br>
|
Settings verwendet. <br><br>
|
||||||
|
|
||||||
@ -3828,7 +3829,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="modulePeakString"></a>
|
<a name="modulePeakString"></a>
|
||||||
<li><b>modulePeakString <Stringname1>=<Peak> [<Stringname2>=<Peak> <Stringname3>=<Peak> ...] </b> <br>
|
<li><b>modulePeakString <Stringname1>=<Peak> [<Stringname2>=<Peak> <Stringname3>=<Peak> ...] </b> <br><br>
|
||||||
|
|
||||||
Die Peakleistung des Strings "StringnameX" in kWp. Der Stringname ist ein Schlüsselwert des
|
Die Peakleistung des Strings "StringnameX" in kWp. Der Stringname ist ein Schlüsselwert des
|
||||||
Readings <b>inverterStrings</b>. <br><br>
|
Readings <b>inverterStrings</b>. <br><br>
|
||||||
|
|
||||||
@ -3842,7 +3844,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="moduleDirection"></a>
|
<a name="moduleDirection"></a>
|
||||||
<li><b>moduleDirection <Stringname1>=<dir> [<Stringname2>=<dir> <Stringname3>=<dir> ...] </b> <br>
|
<li><b>moduleDirection <Stringname1>=<dir> [<Stringname2>=<dir> <Stringname3>=<dir> ...] </b> <br><br>
|
||||||
|
|
||||||
Ausrichtung <dir> der Solarmodule im String "StringnameX". Der Stringname ist ein Schlüsselwert des
|
Ausrichtung <dir> der Solarmodule im String "StringnameX". Der Stringname ist ein Schlüsselwert des
|
||||||
Readings <b>inverterStrings</b>. <br>
|
Readings <b>inverterStrings</b>. <br>
|
||||||
Die Richtungsangabe <dir> kann eine der folgenden Werte sein: <br><br>
|
Die Richtungsangabe <dir> kann eine der folgenden Werte sein: <br><br>
|
||||||
@ -3872,7 +3875,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="moduleTiltAngle"></a>
|
<a name="moduleTiltAngle"></a>
|
||||||
<li><b>moduleTiltAngle <Stringname1>=<Winkel> [<Stringname2>=<Winkel> <Stringname3>=<Winkel> ...] </b> <br>
|
<li><b>moduleTiltAngle <Stringname1>=<Winkel> [<Stringname2>=<Winkel> <Stringname3>=<Winkel> ...] </b> <br><br>
|
||||||
|
|
||||||
Neigungswinkel der Solarmodule. Der Stringname ist ein Schlüsselwert des Readings <b>inverterStrings</b>. <br>
|
Neigungswinkel der Solarmodule. Der Stringname ist ein Schlüsselwert des Readings <b>inverterStrings</b>. <br>
|
||||||
Mögliche Neigungswinkel sind: 0,10,20,30,40,45,50,60,70,80,90 (0 = waagerecht, 90 = senkrecht). <br><br>
|
Mögliche Neigungswinkel sind: 0,10,20,30,40,45,50,60,70,80,90 (0 = waagerecht, 90 = senkrecht). <br><br>
|
||||||
|
|
||||||
@ -3886,8 +3890,9 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="powerTrigger"></a>
|
<a name="powerTrigger"></a>
|
||||||
<li><b>powerTrigger <1on>=<Wert> <1off>=<Wert> [<2on>=<Wert> <2off>=<Wert> ...] </b> <br>
|
<li><b>powerTrigger <1on>=<Wert> <1off>=<Wert> [<2on>=<Wert> <2off>=<Wert> ...] </b> <br><br>
|
||||||
Generiert Trigger bei Über- bzw. Unterschreitung bestimmter PV Erzeugungswerte. <br>
|
|
||||||
|
Generiert Trigger bei Über- bzw. Unterschreitung bestimmter PV Erzeugungswerte (Current_PV). <br>
|
||||||
Überschreiten die letzten drei Messungen der PV Erzeugung eine definierte <b>Xon-Bedingung</b>, wird das Reading
|
Überschreiten die letzten drei Messungen der PV Erzeugung eine definierte <b>Xon-Bedingung</b>, wird das Reading
|
||||||
<b>powerTrigger_X = on</b> erstellt/gesetzt.
|
<b>powerTrigger_X = on</b> erstellt/gesetzt.
|
||||||
Unterschreiten die letzten drei Messungen der PV Erzeugung eine definierte <b>Xoff-Bedingung</b>, wird das Reading
|
Unterschreiten die letzten drei Messungen der PV Erzeugung eine definierte <b>Xoff-Bedingung</b>, wird das Reading
|
||||||
@ -3906,7 +3911,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="pvCorrectionFactor_Auto"></a>
|
<a name="pvCorrectionFactor_Auto"></a>
|
||||||
<li><b>pvCorrectionFactor_Auto <on | off> </b> <br>
|
<li><b>pvCorrectionFactor_Auto <on | off> </b> <br><br>
|
||||||
|
|
||||||
Schaltet die automatische Vorhersagekorrektur ein / aus. <br>
|
Schaltet die automatische Vorhersagekorrektur ein / aus. <br>
|
||||||
Ist die Automatik eingeschaltet, wird nach einer Mindestlaufzeit von FHEM bzw. des Moduls von 24 Stunden für jede Stunde
|
Ist die Automatik eingeschaltet, wird nach einer Mindestlaufzeit von FHEM bzw. des Moduls von 24 Stunden für jede Stunde
|
||||||
ein Korrekturfaktor der Solarvorhersage berechnet und auf die Erwartung des kommenden Tages angewendet.
|
ein Korrekturfaktor der Solarvorhersage berechnet und auf die Erwartung des kommenden Tages angewendet.
|
||||||
@ -3919,7 +3925,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="pvCorrectionFactor_XX"></a>
|
<a name="pvCorrectionFactor_XX"></a>
|
||||||
<li><b>pvCorrectionFactor_XX <Zahl> </b> <br>
|
<li><b>pvCorrectionFactor_XX <Zahl> </b> <br><br>
|
||||||
|
|
||||||
Manueller Korrekturfaktor für die Stunde XX des Tages zur Anpassung der Vorhersage an die individuelle Anlage. <br>
|
Manueller Korrekturfaktor für die Stunde XX des Tages zur Anpassung der Vorhersage an die individuelle Anlage. <br>
|
||||||
(default: 1.0)
|
(default: 1.0)
|
||||||
</li>
|
</li>
|
||||||
@ -3928,7 +3935,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="reset"></a>
|
<a name="reset"></a>
|
||||||
<li><b>reset </b> <br>
|
<li><b>reset </b> <br><br>
|
||||||
|
|
||||||
Löscht die aus der Drop-Down Liste gewählte Datenquelle bzw. zu der Funktion gehörende Readings. <br>
|
Löscht die aus der Drop-Down Liste gewählte Datenquelle bzw. zu der Funktion gehörende Readings. <br>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -3936,7 +3944,8 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<a name="writeHistory"></a>
|
<a name="writeHistory"></a>
|
||||||
<li><b>writeHistory </b> <br>
|
<li><b>writeHistory </b> <br><br>
|
||||||
|
|
||||||
Die vom Device gesammelten historischen PV Daten werden in ein File geschrieben. Dieser Vorgang wird per default
|
Die vom Device gesammelten historischen PV Daten werden in ein File geschrieben. Dieser Vorgang wird per default
|
||||||
regelmäßig im Hintergrund ausgeführt. Im Internal "HISTFILE" wird der Filename und der Zeitpunkt der letzten
|
regelmäßig im Hintergrund ausgeführt. Im Internal "HISTFILE" wird der Filename und der Zeitpunkt der letzten
|
||||||
Speicherung dokumentiert. <br>
|
Speicherung dokumentiert. <br>
|
||||||
@ -4043,13 +4052,13 @@ werden weitere SolarForecast Devices zugeordnet.
|
|||||||
<ul>
|
<ul>
|
||||||
<ul>
|
<ul>
|
||||||
<a name="alias"></a>
|
<a name="alias"></a>
|
||||||
<li><b>alias </b><br>
|
<li><b>alias </b> <br>
|
||||||
In Verbindung mit "showLink" ein beliebiger Anzeigename.
|
In Verbindung mit "showLink" ein beliebiger Anzeigename.
|
||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a name="autoRefresh"></a>
|
<a name="autoRefresh"></a>
|
||||||
<li><b>autoRefresh</b><br>
|
<li><b>autoRefresh</b> <br>
|
||||||
Wenn gesetzt, werden aktive Browserseiten des FHEMWEB-Devices welches das SolarForecast-Device aufgerufen hat, nach der
|
Wenn gesetzt, werden aktive Browserseiten des FHEMWEB-Devices welches das SolarForecast-Device aufgerufen hat, nach der
|
||||||
eingestellten Zeit (Sekunden) neu geladen. Sollen statt dessen Browserseiten eines bestimmten FHEMWEB-Devices neu
|
eingestellten Zeit (Sekunden) neu geladen. Sollen statt dessen Browserseiten eines bestimmten FHEMWEB-Devices neu
|
||||||
geladen werden, kann dieses Device mit dem Attribut "autoRefreshFW" festgelegt werden.
|
geladen werden, kann dieses Device mit dem Attribut "autoRefreshFW" festgelegt werden.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user