Hallo Jürgen,
ahhh, ich verstehe das im Prinzip. Was ich nicht verstehe:
Mit einem Script, dass am Jahreswechsel einmal startet, setze ich jährlich die Variablen auf 0.
Welche Variablen meinst Du damit? Wenn Du die Werte Ertrag gesamt und Eigenverbrauch aus dem WR heraus ausliest, dann zählt sich das doch im WR einfach weiter hoch.
Interessiert Dich denn nicht die Eigenverbrauchsquote aus dem letzten Jahr?
Bei mir habe ich die Werte leider zu Beginn nicht geloggt. Ich könnte damit zwar jetzt anfangen, aber ich habe geloggte Werte aus den Stromzählern. Die kann ich auch gut nehmen.
Ich habe das bei mir mal so aufgebaut:
// +++ Konfig / Vorgaben +++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Auswertungszeitraum
$ts = mktime(0,0,0, 1,1, 2011); // ab 01.01.$year 0:00:00 Uhr
$te = mktime(23,59,59, 12, 31, 2015); // bis 31.12.$year 23:59:59 Uhr
// Definition der Variablen-ID's
$PV_EV_Quote_jaehrlich_id = 30078 /*[Program\SMA Webbox\Eigenverbrauchsquote in % Jahr]*/ ; // Ziel-Variable für HC-Data-String "EV_Quote"
$PV_Ertrag_id = 12662 /*[Scripte\Stromzähler PV-Anlage\Arbeit erwirtschaftet]*/ ; // Variablen-ID der geloggten PV Ertragsdaten
$PV_Einspeis_id = 27123 /*[Scripte\Stromzähler Haus\Arbeit eingespeist]*/ ;
// +++ Konfig / Vorgaben Ende +++++++++++++++++++++++++++++++++++++++++++++++++
// Archive Handler, geloggte Daten auslesen
$archiveID = IPS_GetInstanceIDByName("Archive Handler", 0); // Archive-Handler-ID
$PV_Ertrag_array = AC_GetAggregatedValues($archiveID, $PV_Ertrag_id, 4, $ts, $te, 11);
$PV_Einspeis_array = AC_GetAggregatedValues($archiveID, $PV_Einspeis_id, 4, $ts, $te, 11);
// Array-Daten formatieren
$PV_Ertrag_array = array_reverse($PV_Ertrag_array); // Array-Reihenfolge umkehren
$PV_Einspeis_array = array_reverse($PV_Einspeis_array); // Array-Reihenfolge umkehren
print_r($PV_Ertrag_array);
print_r($PV_Einspeis_array);
Leider erhalte ich folgendes:
Array
(
[0] => Array
(
[Avg] => 0
[Duration] => -6262068
[LastTime] => 1323954079
[Max] => 296.0672
[MaxTime] => 1321361586
[Min] => 235.7675
[MinTime] => 1325023503
[TimeStamp] => 1293836400
)
[1] => Array
(
[Avg] => 2652.3122573416
[Duration] => 31410744
[LastTime] => 1356994799
[Max] => 4902.3724
[MaxTime] => 1356967266
[Min] => 251.0995
[MinTime] => 1325372400
[TimeStamp] => 1325372400
)
[2] => Array
(
[Avg] => 4961.8772352696
[Duration] => 4119775
[LastTime] => 1361119867
[Max] => 5070.791
[MaxTime] => 1361118968
[Min] => 4902.3724
[MinTime] => 1356994800
[TimeStamp] => 1356994800
)
)
Array
(
[0] => Array
(
[Avg] => 0
[Duration] => -2590227
[LastTime] => 1323954079
[Max] => 126.0551
[MaxTime] => 1321361586
[Min] => 125.1367
[MinTime] => 1321352983
[TimeStamp] => 1293836400
)
[1] => Array
(
[Avg] => 2.1394670295442E+48
[Duration] => 30845359
[LastTime] => 1356994799
[Max] => 1.0818463704091E+54
[MaxTime] => 1354720385
[Min] => 117.7755
[MinTime] => 1325970063
[TimeStamp] => 1325372400
)
[2] => Array
(
[Avg] => 2950.1811806955
[Duration] => 4120110
[LastTime] => 1361119864
[Max] => 2999.1984
[MaxTime] => 1361114222
[Min] => 1265.6794
[MinTime] => 1358777406
[TimeStamp] => 1356994800
)
)