diff --git a/extensions/binding/org.eclipse.smarthome.binding.astro/src/main/java/org/eclipse/smarthome/binding/astro/internal/job/Job.java b/extensions/binding/org.eclipse.smarthome.binding.astro/src/main/java/org/eclipse/smarthome/binding/astro/internal/job/Job.java index 6c805a82051..22cb6f880c8 100644 --- a/extensions/binding/org.eclipse.smarthome.binding.astro/src/main/java/org/eclipse/smarthome/binding/astro/internal/job/Job.java +++ b/extensions/binding/org.eclipse.smarthome.binding.astro/src/main/java/org/eclipse/smarthome/binding/astro/internal/job/Job.java @@ -7,6 +7,7 @@ */ package org.eclipse.smarthome.binding.astro.internal.job; +import static java.util.Calendar.SECOND; import static java.util.Objects.isNull; import static org.apache.commons.lang.time.DateFormatUtils.ISO_DATETIME_FORMAT; import static org.eclipse.smarthome.binding.astro.AstroBindingConstants.*; @@ -111,8 +112,15 @@ public static void scheduleRange(String thingUID, AstroThingHandler astroHandler if (thingNull || astroHandlerNull || rangeNull || channelIdNull) { return; } - scheduleEvent(thingUID, astroHandler, range.getStart(), EVENT_START, channelId); - scheduleEvent(thingUID, astroHandler, range.getEnd(), EVENT_END, channelId); + + //add 1 second to the last scheduled event if both the events comprise same time instant + Calendar start = range.getStart(); + Calendar end = range.getEnd(); + if (truncatedEquals(start, end, SECOND)) { + end.add(SECOND, 1); + } + scheduleEvent(thingUID, astroHandler, start, EVENT_START, channelId); + scheduleEvent(thingUID, astroHandler, end, EVENT_END, channelId); } /**