Ermittlung des Stromverbrauchs der letzten 24h

Hallo

ich würde gerne den Stromverbrauch der letzten 24 Stunden berechnen, um abschätzen zu können, ob wir aktuell eher sparsam oder verschwenderisch unterwegs sind. Dazu habe ich mich des Beispiels aus der Dokumentation zu AC_GetAggregatedValues bedient. Mit diesem Beispiel habe ich problemlos die Verbrauchsdaten für heute (Mitternacht bis jetzt), gestern, diese Woche, letzte Woche, etc. ermittelt. Allerdings scheitere ich kläglich beim Versuch, den Verbrauch der letzten 24 Stunden zu berechnen.

Probiert habe ich es mit allen möglichen Varianten für den Start- und Endzeitpunkt und den verschiedenen „schlauen“ Aggregationsstufen. Mein aktuelles Skript sieht wie folgt aus:

<?
$werte = AC_GetAggregatedValues(20949 /*[Archiv]*/, 56436 /*[Haus\Verbrauch\Strom\Stromzähler Total\Verbrauch]*/, 0 /* Täglich */, strtotime("now")-86400, time()-300, 0); //55554 ist die ID der Variable, 12345 vom Archiv

foreach($werte as $wert) {
	echo date("d.m.Y H:i:s", $wert['TimeStamp']) . " -> " . $wert['Avg'] . PHP_EOL;
}

SetValue(29122 /*[Haus\Verbrauch\Strom\Verbrauchsdaten\Verbrauch letzte 24h]*/, $wert['Avg']);
//SetValue(39646 /*[Haus\Verbrauch\Strom\Verbrauchsdaten\Kosten heute]*/, $wert['Avg']*0.1971);
?>

Die Verbrauchsvariable wird als Zähler aggregiert, darum sollte gem. Doku der Index [‚Avg‘] die Summe der positiven Deltas liefern. Das Ergebnis liegt zu Zeit aber etwa den Faktor 48 daneben.

Wo liegt mein Denkfehler?

Besten Dank für Eure Unterstützung!
Andreas

Ich klink mich hier mal ein.
Habe gerade meinen Stromzähler von HM angeklebt und werde auch mal ein bisschen mein Glück versuchen.
Muss erst mal schauen, was hier die anderen so machen.
Wenn ich mehr rausfinde sag ich bescheid;)

Gruß
Suner

Die Fragestellung bei Regemmenge letzte 24h, unabhänging vom Tageswechsel war ja ähnlich nur das es ein anderer Wert ist. Vielleicht gibt es auch eine einfachere Lösung ansonsten könnt ihr wohl den gleichen Weg gehen.

Ich hab hier mal was gefunden, was echt interessant ist.
Ich muss aber noch mal ein bisschen länger Daten sammeln und gucken wie gut da mein Zähler wirklich ist;)

Simples Auswerteskript für Zähler

Ich hab mir das alles mal angeschaut…
Ich mach das selber. sind ja alles eigentlich nur einfache Rechenoperatoren

Lösung gefunden:

//gestern
$gesternverbrauch = AC_GetAggregatedValues(21890, 40376, 0 /* Stündlich */, strtotime("yesterday 00:00"), strtotime("today 00:00")-1, 0); //40376ist die ID der Variable, 21890vom Archiv

// schleife, die jeden Wert der letzten 24 Aufzeichnungen für den Wert "Avg" ausgibt
foreach($gesternverbrauch as $wert) {
//echo $wert['Avg'] . PHP_EOL;
$summe=$summe+$wert['Avg']; // Summierung der einzelnen Stundenwerte
}
echo $summe . "
"; //summe in Wh
echo $summe / 1000; //summe in kWh

Vielleicht gibt es da wieder schöneres, aber es funktioniert bei mir.

Hallo Suner

Danke für Deinen Einsatz bei meiner Frage! Dein Vorschlag berechnet den gestrigen Verbrauch, aber leider nicht den Verbrauch der letzten 24 Stunden, also z.B. von gestern 11:02 Uhr bis heute 11:02 Uhr.

Wenn Du Bedarf für die Berechnungen für heute (00:00 Uhr bis jetzt), aktuelle Woche, letzte Woche, aktuellen Monat, etc. hast, hätte ich diese. Ist im Wesentlichen aber nur eine Änderung in den strtotime-Berechnungen.

Gruss
Andreas

Stimmt, haste recht…
wobei ich sagen muss, dass ich für mich so am praktikabelsten finde :wink:
also die letzten 24h interessieren mich weniger… „gestern“ ist spannender