diff --git a/src/main/java/de/ph87/homeautomation/schedule/entry/ScheduleEntry.java b/src/main/java/de/ph87/homeautomation/schedule/entry/ScheduleEntry.java index e227628..1e1c750 100644 --- a/src/main/java/de/ph87/homeautomation/schedule/entry/ScheduleEntry.java +++ b/src/main/java/de/ph87/homeautomation/schedule/entry/ScheduleEntry.java @@ -92,12 +92,14 @@ public class ScheduleEntry { public void setNextClearTimestamp(final ZonedDateTime next) { nextClearTimestamp = next; - if (nextClearTimestamp == null) { - nextFuzzyTimestamp = null; - } else { + nextFuzzyTimestamp = null; + if (nextClearTimestamp != null) { final int rangeFull = 2 * fuzzySeconds; - final int fuzzySeconds = rangeFull > 0 ? RANDOM.nextInt(rangeFull) - this.fuzzySeconds : 0; - nextFuzzyTimestamp = nextClearTimestamp.plusSeconds(fuzzySeconds); + final ZonedDateTime min = ZonedDateTime.now().plusMinutes(1); + while (nextFuzzyTimestamp == null || nextFuzzyTimestamp.isBefore(min)) { + final int fuzzySeconds = rangeFull > 0 ? RANDOM.nextInt(rangeFull) - this.fuzzySeconds : 0; + nextFuzzyTimestamp = nextClearTimestamp.plusSeconds(fuzzySeconds); + } } }