no message
This commit is contained in:
@@ -614,26 +614,34 @@ foreach ($meters as $name => $mm) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 30 Tage Fenster um den Zeitpunkt
|
||||
$values = @AC_GetLoggedValues($archiveID, $varId, $timestamp - 30 * 86400, $timestamp + 30 * 86400, 0);
|
||||
if (empty($values)) {
|
||||
if ($nearestAfter) {
|
||||
// Erster Wert NACH oder GENAU ab Timestamp
|
||||
$values = @AC_GetLoggedValues(
|
||||
$archiveID,
|
||||
$varId,
|
||||
$timestamp, // start
|
||||
time(), // end
|
||||
1 // LIMIT
|
||||
);
|
||||
} else {
|
||||
// Letzter Wert DAVOR oder GENAU bis Timestamp
|
||||
$values = @AC_GetLoggedValues(
|
||||
$archiveID,
|
||||
$varId,
|
||||
0, // start
|
||||
$timestamp, // end
|
||||
1 // LIMIT
|
||||
);
|
||||
}
|
||||
|
||||
if (!empty($values)) {
|
||||
return (float)$values[0]['Value'];
|
||||
}
|
||||
|
||||
// Fallback → Live-Wert
|
||||
return (float)GetValue($varId);
|
||||
}
|
||||
|
||||
$closest = null;
|
||||
foreach ($values as $v) {
|
||||
if ($nearestAfter && $v['TimeStamp'] >= $timestamp) {
|
||||
// erster Wert NACH oder GENAU zum Timestamp
|
||||
$closest = $v['Value'];
|
||||
break;
|
||||
} elseif (!$nearestAfter && $v['TimeStamp'] <= $timestamp) {
|
||||
// letzter Wert DAVOR oder GENAU zum Timestamp
|
||||
$closest = $v['Value'];
|
||||
}
|
||||
}
|
||||
|
||||
return $closest ?? (float)GetValue($varId);
|
||||
}
|
||||
|
||||
private function getDeltaFromArchive(int $varId, int $tStart, int $tEnd): float
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user