Gleitende Werte aus Archiv haben "Zackenform" (wg. Zeitauflösung)

Hallo Zusammen,

ich habe diverse Variablen, aus denen ich einen gleitenden Wert über 24h berechne, so z.B. die Energieerzeugung meiner Wärmepumpe.

Das bedeutet, dass ich alle 5 min folgendes Script laufen lasse:

<?php

$uhrzeit = date("H:i");
$uhrzeitYD = "yesterday ".$uhrzeit;
$uhrzeitTD = "today ".$uhrzeit;
$gesternverbrauch = AC_GetAggregatedValues(44373, 38956, 0 /* Stündlich */, strtotime($uhrzeitYD), strtotime($uhrzeitTD)-1, 0);  
// schleife, die jeden Wert der letzten 24 Aufzeichnungen für den Wert "Avg" ausgibt
$summe = 0; 
foreach($gesternverbrauch as $wert) { 
//echo $wert['Avg'] . PHP_EOL; 
$summe=$summe+$wert['Avg']; // Summierung der einzelnen Stundenwerte 
} 
//echo $summe . "\n"; //summe in Wh 
SetValueFloat(32248,round($summe, 1));

Aufgrund der stündlich aggregierten Daten, ergibt sich dann aber ein „Sägezahnmuster“, siehe hier:
(Da sich ja der Teiler dann gegen Ende der Stunde um 1 erhöht)

Hat jemand eine Idee wie mach das umgehen kann?
Ich habe nämlich auch eine Variable (im konkreten Fall) für den Stromverbrauch der WP und könnte aus beiden den COP errechnen.

Gruß,
Maeffjus

Für Ablaufpläne gibt es auf dem Archiv die Aktion „Frage aggregierte Werte ab“. Die unterstützt auch fließende Zeiträume. Das ist ein ganz schöner Klumpen an PHP-Code um das entsprechend zu berechnen. Du kannst die Aktion ja aber auch als PHP-Code in deinem Skript einfügen und nutzen (und ggfs. anpassen). Sei aber nur vorgewarnt, es ist wirklich kein Dreizeiler :wink:

Alternativ natürlich direkt über einen Ablaufplan. Dann ist dir egal wie kompliziert das ganze unter der Haube ist.

1 „Gefällt mir“

Super, das schaue ich mir am Wochenende an!
Denn dann kann ich den COP vernünftig ausrechnen…
Die WP berechnet den zwar auch, aber den kann man nicht auslesen :grin:

Ist eingestellt - jetzt muss die WP nur noch laufen, damit sich der Wert ändern kann :wink:

Es gleitet wie mit Vaseline eingeschmiert :wink:
Danke!