diff --git a/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java b/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java index 9d00398c4e49d..61b2410c9af87 100644 --- a/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java +++ b/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java @@ -205,6 +205,7 @@ public void initialize() { logger.debug("Exclusive mode {}.", exclusive); logger.debug("Max Requests {}.", maxRequestsPerConnection); + previousOnline = true; // To trigger offline in case no connection @ startup startAutomaticRefresh(); } diff --git a/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxDevicesHandler.java b/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxDevicesHandler.java index 7b0468e8e1054..85bdfd469bd34 100644 --- a/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxDevicesHandler.java +++ b/addons/binding/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxDevicesHandler.java @@ -28,6 +28,7 @@ import org.eclipse.smarthome.core.thing.Thing; import org.eclipse.smarthome.core.thing.ThingStatus; import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.ThingStatusInfo; import org.eclipse.smarthome.core.thing.ThingUID; import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; import org.eclipse.smarthome.core.thing.binding.ThingHandler; @@ -550,12 +551,26 @@ private void setProperties(Device device) { } } + /* (non-Javadoc) + * @see org.eclipse.smarthome.core.thing.binding.BaseThingHandler#bridgeStatusChanged(org.eclipse.smarthome.core.thing.ThingStatusInfo) + */ + @Override + public void bridgeStatusChanged(ThingStatusInfo bridgeStatusInfo) { + logger.debug("Bridge Status updated to {} for device: {}", bridgeStatusInfo.getStatus().toString(), + getThing().getUID().toString()); + if (bridgeStatusInfo.getStatus().equals(ThingStatus.ONLINE)) { + // No action + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); + forceRefresh = true; + } + } + /** * Set the Configurable properties for this device * * @param device */ - private void setDeviceConfiguration(Device device) { try { logger.debug("MAX! {} {} configuration update", device.getType().toString(), device.getSerialNumber());