@Override public void onDeviceRemoved(MaxCubeBridgeHandler bridge, Device device) { if (device.getSerialNumber().equals(maxDeviceSerial)) { bridgeHandler.unregisterDeviceStatusListener(this); bridgeHandler = null; forceRefresh = true; updateStatus(ThingStatus.OFFLINE); } }
/* * (non-Javadoc) * * @see org.eclipse.smarthome.core.thing.binding.BaseThingHandler# * bridgeHandlerInitialized * (org.eclipse.smarthome.core.thing.binding.ThingHandler, * org.eclipse.smarthome.core.thing.Bridge) */ @Override public void bridgeHandlerInitialized(ThingHandler thingHandler, Bridge bridge) { logger.debug( "Bridge {} initialized for device: {}", bridge.getUID().toString(), getThing().getUID().toString()); if (bridgeHandler != null) { bridgeHandler.unregisterDeviceStatusListener(this); bridgeHandler = null; } this.bridgeHandler = (MaxCubeBridgeHandler) thingHandler; this.bridgeHandler.registerDeviceStatusListener(this); forceRefresh = true; super.bridgeHandlerInitialized(thingHandler, bridge); }
/* * (non-Javadoc) * * @see org.eclipse.smarthome.core.thing.binding.BaseThingHandler#dispose() */ @Override public void dispose() { logger.debug("Disposing MAX! device {} {}.", getThing().getUID(), maxDeviceSerial); if (refreshingActuals) { refreshActualsRestore(); } if (refreshActualsJob != null && !refreshActualsJob.isCancelled()) { refreshActualsJob.cancel(true); refreshActualsJob = null; } if (bridgeHandler != null) { logger.trace("Clear MAX! device {} {} from bridge.", getThing().getUID(), maxDeviceSerial); bridgeHandler.clearDeviceList(); bridgeHandler.unregisterDeviceStatusListener(this); bridgeHandler = null; } updateStatus(ThingStatus.OFFLINE); logger.debug("Disposed MAX! device {} {}.", getThing().getUID(), maxDeviceSerial); super.dispose(); }