Guten Abend,
ich versuche gerade den minimalen Wert eines Zeitraums in eine Variable zu schreiben.
Habe bisher zwei Ansätze verfolgt aber ohne Erfolg.
Zuerst mit AC_GetLoggedValues alle Werte des letzten Tages ausgelesen und dann mit der min() Funktion versucht den Min Wert rauszufinden. Ich vermute das geht aus dem Grund nicht, weil AC_GetLoggedValues ja ein Array aus Wertepaaren zurückgibt. Da wird dann die Min() Funktion nicht funktionieren oder?
Ich habe dann versucht mit AC_GetAggregatedValues den Wert rauszubekommen. Mit Aggregationsstufe 1 (täglich) dürfte ich doch bei einem Zeitraum von 24h genau einen Datensatz bekommen oder nicht?
Hier mal der Code den ich versucht habe, die erste Variant habe ich auskommentiert. Kann mir jemand auf die Sprünge helfen?
<?php
$archiveID = 58265 /*[Archive Handler]*/;
$objectID = 18560 /*Sole Eingang*/;
$endtime = time(); // "Jetzt"
$starttime = strtotime("-1 day"); // 1 Tag zurück
$limit = 0; // kein Limit
//$buffer = AC_GetLoggedValues($archiveID, $objectID, $starttime, $endtime, $limit);
//$MinWert = Min($buffer);
//SetValue(46675 /*Sole Min Temperatur 24h*/, $MinWert);
$buffer = AC_GetAggregatedValues($archiveID, $objectID,1, $starttime, $endtime, 1);
SetValue(46675 /*Sole Min Temperatur 24h*/, $buffer[0].['Min']);
?>
Edit: Habe es jetzt anders gelöst. Mit AC_GetAggregatedValues und dann mir einer foreach Schleife den niedrigsten Wert ermittelt.
Wäre aber noch eine andere Lösung mit den Ansätzen von oben möglich?