diff --git a/bundles/org.openhab.binding.epsonprojector/src/main/java/org/openhab/binding/epsonprojector/internal/handler/EpsonProjectorHandler.java b/bundles/org.openhab.binding.epsonprojector/src/main/java/org/openhab/binding/epsonprojector/internal/handler/EpsonProjectorHandler.java index d9029b21de245..2d8cc2ca41497 100644 --- a/bundles/org.openhab.binding.epsonprojector/src/main/java/org/openhab/binding/epsonprojector/internal/handler/EpsonProjectorHandler.java +++ b/bundles/org.openhab.binding.epsonprojector/src/main/java/org/openhab/binding/epsonprojector/internal/handler/EpsonProjectorHandler.java @@ -156,10 +156,13 @@ private void updateChannelState(Channel channel) { State state = queryDataFromDevice(epsonCommand); if (state != null) { - updateStatus(ThingStatus.ONLINE); if (isLinked(channel.getUID())) { updateState(channel.getUID(), state); } + // the first valid response will cause the thing to go ONLINE + if (state != UnDefType.UNDEF) { + updateStatus(ThingStatus.ONLINE); + } } } catch (IllegalArgumentException e) { logger.warn("Unknown channel {}", channel.getUID().getId());