Hallo,
ich versuch aus der Input Power Variablen unserer Huawei PV Anlage den täglichen, wöchentlichen, monatlichen und jährlichen PV Ertrag zu ermitteln.
Die Werte aus der PV sehen so aus in der Archiv-Variablen
D.h. es werden alle paar Sekunden die aktuellen Ertragswerte weggeschrieben.
Folgendes Skript habe ich mir aufgebaut:
<?php
// ID der archivierten Variable für die aktuelle Input Power
$inputPowerVarID = 18305;
// IDs der Variablen zur Speicherung der Tages-, Wochen-, Monats- und Jahreswerte
$dailyYieldVarID = 50286;
$weeklyYieldVarID = 14900;
$monthlyYieldVarID = 27661;
$yearlyYieldVarID = 26063;
// Startdatum
$startDate = strtotime("2025-01-01");
// Funktion zur Berechnung des PV-Ertrags für einen bestimmten Zeitraum
function getAndSumValues($variableID, $startTime, $endTime) {
$values = AC_GetAggregatedValues(21633/* Archiv-Instanz-ID */, $variableID, 0 /* Rohdaten */, $startTime, $endTime, 0);
$yield = 0;
foreach ($values as $value) {
$yield += $value['Avg'];
}
return $yield;
}
// Aktuelles Datum und Uhrzeit
$currentTime = time();
// Täglicher PV-Ertrag
$startTime = strtotime("today", $currentTime);
$endTime = $currentTime;
$dailyYield = getAndSumValues($inputPowerVarID, $startTime, $endTime);
SetValue($dailyYieldVarID, $dailyYield);
// Wöchentlicher PV-Ertrag
$startTime = strtotime("last Monday", $currentTime);
$endTime = $currentTime;
$weeklyYield = getAndSumValues($inputPowerVarID, $startTime, $endTime);
SetValue($weeklyYieldVarID, $weeklyYield);
// Monatlicher PV-Ertrag
$startTime = strtotime("first day of this month", $currentTime);
$endTime = $currentTime;
$monthlyYield = getAndSumValues($inputPowerVarID, $startTime, $endTime);
SetValue($monthlyYieldVarID, $monthlyYield);
// Jährlicher PV-Ertrag
$startTime = strtotime("first day of January", $currentTime);
$endTime = $currentTime;
$yearlyYield = getAndSumValues($inputPowerVarID, $startTime, $endTime);
SetValue($yearlyYieldVarID, $yearlyYield);
echo "PV-Ertragswerte wurden erfolgreich berechnet und gespeichert.";
?>
Leider stimmt das Ergebnis nicht
Ertrag heute bis jetzt 23,58 kWh und für das Jahr ca. 424 kWh.
Woran kann das liegen, ist mein Script fehlerhaft?