Hi Heiko
Vielen Dank für das sehr hilfreiche Modul! Wir verwenden die Solarprognose für die Speicherladung und bestimmen die Zieltemperatur in Abhängigkeit der erwarteten Energie der nächsten drei Tage (inkl. heutigem Tag). Kannst Du vielleicht den Call zum Abrufen der Solcast API abändern, so dass beispielsweise die nächsten 96 Stunden abgefragt werden? Da nur die Requests zählen und nicht die Dauer der Vorhersage macht das für die Verwendung der API keinen Unterschied. Wir haben Deinen Code lokal so angepasst:
my $url = "https://api.solcast.com.au/rooftop_sites/".
$roofid.
"/forecasts?format=json".
"&hours=96".
"&api_key=".
$apikey;
Mit einem DOIF holen wir uns dann aus den solCastData die entsprechenden Werte und summieren sie für das neue Reading DayAfterTomorrow_PVforecast. Könnte man sicher schöner lösen, aber war für uns der schnellste und einfachste Weg an den nötigen Wert zu kommen :D
readPVDayAfterTomorrow {
if ([NN.xx.XX.SolarForecast:Tomorrow_PVforecast]) {
my $solCastData = fhem("get NN.xx.XX.SolarForecast solCastData");
use DateTime;
# Aktuelles Datum
my $today = DateTime->now;
# Datum von übermorgen berechnen
my $dayaftertomorrow = $today->clone->add(days => 2);
# Datum im gewünschten Format formatieren
my $formatted_date = $dayaftertomorrow->strftime("%Y-%m-%d");
my $sum = 0;
my @lines = split /\n/, $solCastData;
foreach my $line (@lines) {
if (index($line, $formatted_date) != -1) {
my ($pvEstimate) = $line =~ /(\d+)$/;
$sum += $pvEstimate;
}
}
set_Reading("debug", $solCastData);
fhem("sleep 1; setreading NN.xx.XX.SolarForecast DayAfterTomorrow_PVforecast $sum Wh;");
}
}
Beste Grüße
Boris
Hallo Boris,
das will ich mir gern anschauen und prüfen ob eine solche Änderung irgendwo Nebenwirkungen entfaltet die wir nicht haben wollen und die ich dann behandeln müsste.
Wie ich sehe erstellst du ja nur ein Reading DayAfterTomorrow_PVforecast mit der Summe der vorhergesagten Energie, richtig ?
Mehr wird nicht benötigt und auch auch nicht gewünscht ? (Ich möchte mit den Readings sparsam umgehen).
LG,
Heiko
Hi Heiko
Vielen Dank, dass Du dir das anschaust! Bei uns ist zwar nichts Negatives aufgefallen, aber vorsichtig ist die Mutter der Porzellankiste :)
Genau, wir summieren nur die PV-Werte des übermorgigen Tages auf und das würde uns vollständig reichen. Die restliche Intelligenz ist bei unserer AC Thor Heizstab-Steuerung in anderen DOIFs eingebaut...
Beste Grüße
Boris
Ich habe das Modul erweitert, liegt im contrib.
Es werden 76h abgerufen. Das sollte auch den Zweck erfüllen. Je mehr Daten abgerufen und verarbeitet werden müssen um so länger ist die Durchlaufzeit.
Das erstellte Reading heißt DayAfterTomorrow_PVforecast_raw.
"raw" deswegen weil bei dieser einfachen Aufsummierung der API-Rohdaten keine Korrekturfaktoren mit eingehen.
Die Daten für den kommenden Tag werden über die Autokorrektur (sofern genutzt) angepasst.
Kannst mal testen. Das ctrlDebug=radiationProcess zeigt die Verarbeitungsinfos.
Grüße,
Heiko
Ich habe den Prozess nochmal geändert.
Man kann sich nun das Reading statistic_dayAfterTomorrowPVforecast über das Attribut ctrlStatisticReadings auswählen und erzeugen lassen.
Das spart Readings in der Defaulterstellung.
Liegt im contrib.
Hi Heiko
Deine Anpassungen funktionieren wunderbar. Herzlichen Dank für Deine Arbeit und die schnelle Umsetzung!
Beste Grüße
Boris
Moin,
gibt es schon eine HowTo wie man dies installiert. Ich bin sehr interessiert (habe eine Huawei Anlage) und aus dem Wiki Eintrag werde ich noch nicht so schlau.
Oder befindet sich das Modul noch in einem zu frühen Stadium?
Grüße
Heatseeker
Das Modul ist schon sehr ausgereift. Ich komme nur mit der Beschreibung nicht hinterher.
Aber es gibt eine sehr ausführliche Hilfe mit:
help solarforecast de
Weiterhin wirst du nach der Definition durch die Grundinstallation geführt (Guided Procedure).
Die Definition ist einfach
define <Name> SolarForecast
Bei Fragen einfach im Supportthread fragen (nicht alles durchlesen, ist zuviel):
https://forum.fhem.de/index.php?topic=117864.0
Ah, vielen Dank. Ich werde mich die Tage Mal dran probieren.
Den Supportthread habe ich gar nicht als solchen erkannt, da ich dachte, es gehe dort um die SQL Datenbank Variante ich vermute es hat sich da "so entwickelt" war nur nicht richtig ersichtlich für mich.
Danke
Hallo ich bin an dem Modul interessiert aber wie installiere ich es denn im Fhem?
ZitatHallo ich bin an dem Modul interessiert aber wie installiere ich es denn im Fhem?
Das holst du dir per manuellen Download aus meinem contrib (Fußtext) oder per wget.
In der FHEMWEB Kommandozeile inklusive der Anführungszeichen angeben und danach FHEM restarten:
"wget -qO ./FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm"
Ist das Modul im FHEM gibt es einen umfangreichen Hilfetext mit "help SolarForecast de".
Bei Fragen im Supportthread fragen: https://forum.fhem.de/index.php?topic=117864.0
Grüße,
Heiko