Fehlerhafte Berechnung im Modul Zählerstand (Tag)

Hallo,

ich nutze das Modul Zählerstand (Tag) und habe festgestellt, dass die Ermittlung des Zählerstands fehlerhaft ist.

Die Ermittlung des letzten Zählerstands an einem Tag erfolgt auf diesem Wege:

$values = AC_GetLoggedValues($acID, $variableID, 0, $date + (24 * 3600) - 1, 1);

Das Problem dabei ist, dass der Datumswert ($date) aus einer Statusvariablen (Integer mit Profil ~UnixTimestampDate) stammt, die zwar nur das Datum anzeigt, intern aber den Timestamp mit Uhrzeit speichert. Dadurch werden nicht die Werte bis 23:59:59 des gewählten Tages aus dem Archiv geholt, sondern bis zu der Uhrzeit, wo die Variable zuletzt geändert wurde. Man bekommt dadurch also immer noch Werte vom Folgetag (außer man ändert das Datum zufällig um 0 Uhr), sodass das Ergebnis unterm Strich falsch ist.

Für die korrekte Ermittlung müsste der Timestamp in $date auf 0 Uhr des gewählten Tages gesetzt werden.

Gruß
Slummi

1 „Gefällt mir“

Kurze Ergänzung:

Das gleiche Problem besteht natürlich auch, wenn man den ersten Wert eines Tages ermitteln will. Das obere Beispiel bezog sich nur auf den letzten Wert des Tages.

Gruß
Slummi

Danke für den Fund! Fix ist unterwegs und kommt schon bald in den Module Store

Jetzt als Update verfügbar.

paresy

Perfekt, danke!

Dann kann ich jetzt wieder auf die Original-Version des Moduls wechseln.

Gruß
Slummi