no message

This commit is contained in:
2026-06-23 11:13:04 +02:00
parent 77a988e5ae
commit f173b8310f
+26 -6
View File
@@ -180,7 +180,11 @@ class Energy_Pie extends IPSModule
if ($archiveID <= 0) {
return 0.0;
}
$values = @AC_GetLoggedValues($archiveID, $varId, max(0, $tStart - 86400), $tEnd, 0);
$tCalcEnd = min($tEnd, time());
if ($tCalcEnd <= $tStart) {
return 0.0;
}
$values = @AC_GetLoggedValues($archiveID, $varId, max(0, $tStart - 86400), $tCalcEnd, 0);
if (empty($values)) {
return 0.0;
}
@@ -194,14 +198,31 @@ class Energy_Pie extends IPSModule
$dbg['last'] = (float)$values[count($values) - 1]['Value'];
$vStart = null;
$vEnd = null;
$prev = null;
$sum = 0.0;
foreach ($values as $v) {
$ts = (int)$v['TimeStamp'];
$val = (float)$v['Value'];
if ($ts <= $tStart) {
$vStart = $val;
$prev = $val;
continue;
}
if ($ts > $tCalcEnd) break;
if ($ts >= $tStart && $ts < $tEnd) {
$dbg['inRange']++;
}
if ($ts <= $tStart) $vStart = (float)$v['Value'];
if ($ts <= $tEnd) $vEnd = (float)$v['Value'];
if ($ts > $tEnd) break;
if ($prev !== null) {
$diff = $val - $prev;
$sum += ($diff >= 0) ? $diff : max($val, 0.0);
}
$prev = $val;
$vEnd = $val;
}
if ($dbg['inRange'] === 0) {
return 0.0;
@@ -210,8 +231,7 @@ class Energy_Pie extends IPSModule
if ($vEnd === null) $vEnd = $dbg['last'];
$dbg['vStart'] = $vStart;
$dbg['vEnd'] = $vEnd;
$diff = $vEnd - $vStart;
return ($diff < 0) ? 0.0 : (float)$diff;
return $sum;
}
private function getLastLogTimestamp(int $varId): int
{