Ac_AggregatedValues / stündlich minimal und maximal finden

Hallo Zusammen,
Ich habe mir ein Skript gebaut um mir die tägliche Temperaturerhöhung und daraus resultierende Energiemenge meines Solarabsorbers für den Pool auszurechnen und loggen.
Dazu möchte ich Ac_AggregatedValues nutzen, stündliche Aggregation.

Generell wäre täglich auch okay, aber die Temperatur ist um 0:00 noch höher als um 8:00 wenn die Sonne scheint. Damit stimmt das Ergebnis nicht.
Daher würde ich gerne Werte ab 8:00 nehmen.
Das geht aber nicht mit täglicher Aggregation. (außer zum nächsten Tag).

Sinnvoll wäre stündlich, von ca. 8:00 bis 17:00.
Aber hier kommt mein Problem:

Ich bekomme damit ein Array mit vielen Werten, welche mir stündliche. Min / Max Werte geben. Ich bräuchte aber die (zu jeder Abfragezeit) absoluten minimalen und maximalen Werten.

Hat hier jemand eine Idee bzw Hilfe?
Gruß,
Maeffjus

So - das war vom Handy, hier noch der aktuelle (tägliche) Code:

$werte_heute = AC_GetAggregatedValues(44373, 56599, 1 /* Täglich */, strtotime("today 00:00"), time(), 0); //56599 ist die ID der Variable, 44373 vom Archiv        
//var_dump ($werte_heute);

$min_heute= ($werte_heute["0"]["Min"]);
$max_heute= ($werte_heute["0"]["Max"]);
$dT=$max_heute-$min_heute;
$energie = (($dT*8600*4.18)/3600);
$energie = round ($energie,2);

SetValueFloat(52994,$energie); //in kWh
SetValueFloat(52725,$dT); 

Hi,
vielleicht selbst ist der Mann:

Statt AC_GetAggregatedValues lieber AC_GetLoggedValues nehmen und das Array dann „von Hand“ so auswerten wie man möchte.

Ralf

Es ist wohl schon geschickter über die aggregierten Werte zu gehen und nicht über die Rohwerte. Da musst du deutlich weniger Werte betrachten und kommst am Ende auf das gleiche Ergebnis.

Du kannst ja die stündlichen Werte wie skizziert abfragen. Dann bekommst du dein Array und müsstest dies einmal ablaufen. Dann musst du daraus halt selbst das Minimum und Maximum bestimmen.

@Ralf: Wenn ich gewusst hätte wie, dann hätte ich ja nicht gefragt…
@Dr.Niels: Guuute Idee, Du meinst, ich frage die Variable in den ich Min / Max schreibe nochmal ab, oder? (Dann aber z.B. mit täglicher Aggregation)

Ich habe es einfach „wenig“ elegant gelöst, indem ich das Skript nur von 8:00-17:00 laufen lasse :wink: