SQLite

Moin,

hat einer ein Beispiel für mich, mit dem ich Daten ( Min / Max Werte ) aus den geloggten Werten holen kann …

Das zauberwort heisst ja anscheinend AC_GetLoggedValues, aber irgendwie …

Ein codeschnipsel würde mir schon reichen

gruß
christian

Hallo Christian,

so ermittle ich per Script den Verbrauch des Vortages und erstelle eine Prognose.
Prognose will ich später mal saisonalisieren.

Jürgen


$time = time();
$tag   = date("d",$time);
$monat = date("m",$time);
$jahr  = date("y",$time);


$Gestern1 = mktime(0,0,0,$monat,$tag-1,$jahr);
$Gestern2 = mktime(00,1,0,$monat,$tag-1,$jahr);
$Gestern3 = mktime(23,59,0,$monat,$tag-1,$jahr);
$Gestern4 = mktime(23,59,59,$monat,$tag-1,$jahr);

// Gasverbrauch pro Tag und Prognose

$Startdatum = GetValueString( 47763 /*[Gas\Gaszähler\Start Periode]*/);
$date1 = strtotime( $Startdatum );
$date2 = mktime(0,0,0,$monat,$tag,$jahr);
$diffdays=round(($date2-$date1)/86400);
$Verbrauch = GetValueFloat(12210 /*[Gas\Gaszähler\Verbrauch - Ist -]*/);
$Prognose = $Verbrauch / $diffdays;
SetValueFloat( 26686 /*[Gas\Gaszähler\Verbrauch - ø pro Tag -]*/, $Prognose);
$Prognose = $Prognose * 365;
SetValueFloat( 33845 /*[Gas\Gaszähler\Verbrauch - Prognose -]*/, $Prognose);

$Value = AC_GetLoggedValues(23872 /*[Archive Handler]*/, 12210, $Gestern1, $Gestern2, 10000 );
//print_r(AC_GetLoggedValues(23872 /*[Archive Handler]*/, 12210, $Gestern1, $Gestern2, 10000 ));

$Start = $Value[0]['Value'];
//echo $Start;

$Value = AC_GetLoggedValues(23872 /*[Archive Handler]*/, 12210, $Gestern3, $Gestern4, 10000 );
//print_r(AC_GetLoggedValues(23872 /*[Archive Handler]*/, 12210, $Gestern3, $Gestern4, 10000 ));

$End = $Value[ count( $Value  )-1]['Value'];
//$End = $Value[1]['Value'];


$Verbrauchgestern = $End - $Start;

@clipper,

geht ja einfacher als gedacht

habs gerade mal reingemacht und nun habe ich endlich meine min/max werte der letzten tage

topfit !

danke
christian

eigentlich geht alles soweit, habe aber noch ein wenig mit

AC_GetAggregatedValues

rumgespielt. Die min/max werte scheinen zu passen, aber der durchschnitt haut irgendwie nicht hin.

obwohl startzeit/endzeit passt, haut der avg bei aggregation = 1 ( tage ) nicht hin.

ist das ein bug ?