diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonDeviceHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonDeviceHandler.java index 2baf82e04..d4046b66b 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonDeviceHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonDeviceHandler.java @@ -136,7 +136,8 @@ public class InsteonDeviceHandler extends BaseThingHandler { config = getConfigAs(InsteonDeviceConfiguration.class); scheduler.execute(() -> { - if (getBridge() == null) { + final Bridge bridge = getBridge(); + if (bridge == null) { String msg = "An Insteon network bridge has not been selected for this device."; logger.warn("{} {}", thing.getUID().getAsString(), msg); @@ -371,7 +372,11 @@ public class InsteonDeviceHandler extends BaseThingHandler { } }); - updateStatus(ThingStatus.ONLINE); + if (ThingStatus.ONLINE == bridge.getStatus()) { + updateStatus(ThingStatus.ONLINE); + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); + } } else { String msg = "Product key '" + productKey + "' does not have any features that match existing channels.";