no message
This commit is contained in:
@@ -614,26 +614,34 @@ foreach ($meters as $name => $mm) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 30 Tage Fenster um den Zeitpunkt
|
if ($nearestAfter) {
|
||||||
$values = @AC_GetLoggedValues($archiveID, $varId, $timestamp - 30 * 86400, $timestamp + 30 * 86400, 0);
|
// Erster Wert NACH oder GENAU ab Timestamp
|
||||||
if (empty($values)) {
|
$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);
|
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
|
private function getDeltaFromArchive(int $varId, int $tStart, int $tEnd): float
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user