Archive Handler Abfrage zweier zeitlich gleicher Daten

Hallo zusammen,

sorry für den komischen Titel aber ich habe keinen besseren gefunden:
Ich würde gerne den Wert einer Variable abfragen die die gleiche Beziehung zu einem anderen Wert hat:
Vielleicht ist es besser verständlich:
Zwei Variablen: Aussemtemperatur und Gasverbrauch:
Bei zBsp 2 Grad habe ich beim selben Zeitstempel 5kbm Gasverbrauch im Januar letzten Jahres, heute sind es wieder 2 Grad Celsius Außentemperatur und er soll mir eben diesen Wert vom Januar ausgeben! Verständlich???
Ich würde also gerne den Gasverbrauch bei aktuellen Temperatur verglichen mit der Vergangenheit.
In SQL wüsste ich wie, aber nicht beim Archive Handler!

Kann mir jemand auf die Sprünge helfen?

Danke
spooniester

Hallo,

ich habe jetzt nicht das Script zur Hand, aber du fragst im Script beide Variablen hinter einander ab und hast dann 2 Variablen mit den Arrays, diese fragst du dann in einer Schleife ab.

Schöne Grüße
Thomas

Hi Thomas,

danke schonmal für die ersten Schritte, diese konnte ich auch schon erfolgreich „absolvieren“. Habe nun zwei Arrays mit dem jeweilen Wert (Außentemperatur und Gasverbrauch) und dem Zeitstempel.
Und weiter? Mit array_merge mergen, als Key den Timestamp und dann die jeweils aktuelle Temperatur in dem neuen Array suchen und den korrespondieren historischen Gasverbrauch ausgeben??!??! Sollte doch so klappen, oder?
Falls du dein bestehendes Script findest würde ich mich freuen wenn du mir dies zur Verfügung stellen könntest!

Danke
spooniester

Hallo,

so kompliziert mach ich es gar nicht, mit count ein Array zählen und dann eine Schleife.

Schleife
echo Array1[timestamp], Array1[Wert],Array2[Wert];
Schleife ende

Ich hab da mal schnell was zusammen geschrieben:


<?
$IDAC = 51244 /*[Archive Handler]*/;                 //ArchivControl
$count = 0;
$buffer1 = AC_GetAggregatedValues($IDAC,58110, 5,mktime(0, 0, 0, 10, 1, 2013),mktime(23, 59, 59, 10, 2, 2013),100 /*[Objekt #10000 existiert nicht]*/);
$buffer2 = AC_GetAggregatedValues($IDAC,14887, 5,mktime(0, 0, 0, 10, 1, 2013),mktime(23, 59, 59, 10, 2, 2013),100 /*[Objekt #10000 existiert nicht]*/);
$anzahl = count($buffer1);
//print_r ($buffer1);
for($count = 1; $count < $anzahl; $count++)
{
echo date("d.m.Y H:i:s", $buffer1[$count]['TimeStamp']) . " -> " . $buffer1[$count]['Avg'] . " -> " . $buffer2[$count]['Avg'] . "
";
}
?>

Schöne Grüße
Thomas