Skip to content

Commit e68bd33

Browse files
committed
use TimeZoneProvider in PersistenceExtensions
Signed-off-by: Jimmy Tanagra <[email protected]>
1 parent ea47e24 commit e68bd33

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

bundles/org.openhab.core.persistence/src/main/java/org/openhab/core/persistence/extensions/PersistenceExtensions.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,9 @@ private static void internalPersist(Item item, TimeSeries timeSeries, @Nullable
466466
int startPage = 0;
467467
filter.setPageNumber(startPage);
468468

469+
TimeZoneProvider tzProvider = timeZoneProvider;
470+
ZoneId timeZone = tzProvider != null ? tzProvider.getTimeZone() : ZoneId.systemDefault();
471+
469472
Iterable<HistoricItem> items = qService.query(filter);
470473
while (items != null) {
471474
Iterator<HistoricItem> itemIterator = items.iterator();
@@ -478,7 +481,7 @@ private static void internalPersist(Item item, TimeSeries timeSeries, @Nullable
478481
// Last persisted state value different from current state value, so it must have updated
479482
// since last persist. We do not know when from persistence, so get it from the item.
480483
return Optional.ofNullable(item.getLastStateUpdate())
481-
.map(instant -> instant.atZone(ZoneId.systemDefault())).orElse(null);
484+
.map(instant -> instant.atZone(timeZone)).orElse(null);
482485
}
483486
return historicItem.getTimestamp();
484487
} else {
@@ -490,7 +493,7 @@ private static void internalPersist(Item item, TimeSeries timeSeries, @Nullable
490493
return historicItem.getTimestamp();
491494
} else {
492495
return Optional.ofNullable(item.getLastStateChange())
493-
.map(instant -> instant.atZone(ZoneId.systemDefault())).orElse(null);
496+
.map(instant -> instant.atZone(timeZone)).orElse(null);
494497
}
495498
}
496499
while (historicItem.getState().equals(state) && itemIterator.hasNext()) {

0 commit comments

Comments
 (0)