diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/AmazonEchoDiscovery.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/AmazonEchoDiscovery.java index da91ce1dbe351..6a658498bccbf 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/AmazonEchoDiscovery.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/AmazonEchoDiscovery.java @@ -36,8 +36,6 @@ import org.eclipse.smarthome.config.discovery.AbstractDiscoveryService; import org.eclipse.smarthome.config.discovery.DiscoveryResult; import org.eclipse.smarthome.config.discovery.DiscoveryResultBuilder; -import org.eclipse.smarthome.config.discovery.DiscoveryServiceCallback; -import org.eclipse.smarthome.config.discovery.ExtendedDiscoveryService; import org.eclipse.smarthome.core.thing.ThingTypeUID; import org.eclipse.smarthome.core.thing.ThingUID; import org.openhab.binding.amazonechocontrol.internal.Connection; @@ -54,22 +52,15 @@ * @author Michael Geramb - Initial contribution */ @NonNullByDefault -public class AmazonEchoDiscovery extends AbstractDiscoveryService implements ExtendedDiscoveryService { +public class AmazonEchoDiscovery extends AbstractDiscoveryService { AccountHandler accountHandler; private final Logger logger = LoggerFactory.getLogger(AmazonEchoDiscovery.class); - private final Set discoverdFlashBriefings = new HashSet<>(); - - private @Nullable DiscoveryServiceCallback discoveryServiceCallback; + private final Set discoveredFlashBriefings = new HashSet<>(); private @Nullable ScheduledFuture startScanStateJob; private @Nullable Long activateTimeStamp; - @Override - public void setDiscoveryServiceCallback(DiscoveryServiceCallback discoveryServiceCallback) { - this.discoveryServiceCallback = discoveryServiceCallback; - } - public AmazonEchoDiscovery(AccountHandler accountHandler) { super(SUPPORTED_ECHO_THING_TYPES_UIDS, 10); this.accountHandler = accountHandler; @@ -150,10 +141,6 @@ public void activate(@Nullable Map config) { } synchronized void setDevices(List deviceList) { - DiscoveryServiceCallback discoveryServiceCallback = this.discoveryServiceCallback; - if (discoveryServiceCallback == null) { - return; - } for (Device device : deviceList) { String serialNumber = device.serialNumber; if (serialNumber != null) { @@ -175,12 +162,7 @@ synchronized void setDevices(List deviceList) { ThingUID brigdeThingUID = this.accountHandler.getThing().getUID(); ThingUID thingUID = new ThingUID(thingTypeId, brigdeThingUID, serialNumber); - if (discoveryServiceCallback.getExistingDiscoveryResult(thingUID) != null) { - continue; - } - if (discoveryServiceCallback.getExistingThing(thingUID) != null) { - continue; - } + DiscoveryResult result = DiscoveryResultBuilder.create(thingUID).withLabel(device.accountName) .withProperty(DEVICE_PROPERTY_SERIAL_NUMBER, serialNumber) .withProperty(DEVICE_PROPERTY_FAMILY, deviceFamily) @@ -200,41 +182,22 @@ public synchronized void discoverFlashBriefingProfiles(String currentFlashBriefi if (currentFlashBriefingJson.isEmpty()) { return; } - DiscoveryServiceCallback discoveryServiceCallback = this.discoveryServiceCallback; - if (discoveryServiceCallback == null) { - return; - } - if (!discoverdFlashBriefings.contains(currentFlashBriefingJson)) { - ThingUID freeThingUID = null; - int freeIndex = 0; - for (int i = 1; i < 1000; i++) { - String id = Integer.toString(i); - ThingUID brigdeThingUID = this.accountHandler.getThing().getUID(); - ThingUID thingUID = new ThingUID(THING_TYPE_FLASH_BRIEFING_PROFILE, brigdeThingUID, id); - if (discoveryServiceCallback.getExistingThing(thingUID) == null - && discoveryServiceCallback.getExistingDiscoveryResult(thingUID) == null) { - freeThingUID = thingUID; - freeIndex = i; - break; - } - } - if (freeThingUID == null) { - logger.debug("No more free flashbriefing thing ID found"); - return; - } - DiscoveryResult result = DiscoveryResultBuilder.create(freeThingUID).withLabel("FlashBriefing " + freeIndex) + if (!discoveredFlashBriefings.contains(currentFlashBriefingJson)) { + ThingUID brigdeThingUID = this.accountHandler.getThing().getUID(); + ThingUID freeThingUID = new ThingUID(THING_TYPE_FLASH_BRIEFING_PROFILE, brigdeThingUID, Integer.toString(currentFlashBriefingJson.hashCode())); + DiscoveryResult result = DiscoveryResultBuilder.create(freeThingUID).withLabel("FlashBriefing") .withProperty(DEVICE_PROPERTY_FLASH_BRIEFING_PROFILE, currentFlashBriefingJson) .withBridge(accountHandler.getThing().getUID()).build(); logger.debug("Flash Briefing {} discovered", currentFlashBriefingJson); thingDiscovered(result); - discoverdFlashBriefings.add(currentFlashBriefingJson); + discoveredFlashBriefings.add(currentFlashBriefingJson); } } public synchronized void removeExistingFlashBriefingProfile(@Nullable String currentFlashBriefingJson) { if (currentFlashBriefingJson != null) { - discoverdFlashBriefings.remove(currentFlashBriefingJson); + discoveredFlashBriefings.remove(currentFlashBriefingJson); } } } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/SmartHomeDevicesDiscovery.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/SmartHomeDevicesDiscovery.java index ba48397429fea..6fc02a91a9b72 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/SmartHomeDevicesDiscovery.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/discovery/SmartHomeDevicesDiscovery.java @@ -32,8 +32,6 @@ import org.eclipse.smarthome.config.discovery.AbstractDiscoveryService; import org.eclipse.smarthome.config.discovery.DiscoveryResult; import org.eclipse.smarthome.config.discovery.DiscoveryResultBuilder; -import org.eclipse.smarthome.config.discovery.DiscoveryServiceCallback; -import org.eclipse.smarthome.config.discovery.ExtendedDiscoveryService; import org.eclipse.smarthome.core.thing.ThingUID; import org.openhab.binding.amazonechocontrol.internal.Connection; import org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler; @@ -51,20 +49,13 @@ * @author Lukas Knoeller - Initial contribution */ @NonNullByDefault -public class SmartHomeDevicesDiscovery extends AbstractDiscoveryService implements ExtendedDiscoveryService { +public class SmartHomeDevicesDiscovery extends AbstractDiscoveryService { private AccountHandler accountHandler; private final Logger logger = LoggerFactory.getLogger(SmartHomeDevicesDiscovery.class); private @Nullable ScheduledFuture startScanStateJob; private @Nullable Long activateTimeStamp; - private @Nullable DiscoveryServiceCallback discoveryServiceCallback; - - @Override - public void setDiscoveryServiceCallback(DiscoveryServiceCallback discoveryServiceCallback) { - this.discoveryServiceCallback = discoveryServiceCallback; - } - public SmartHomeDevicesDiscovery(AccountHandler accountHandler) { super(SUPPORTED_SMART_HOME_THING_TYPES_UIDS, 10); this.accountHandler = accountHandler; @@ -143,11 +134,6 @@ public void activate(@Nullable Map config) { }; synchronized void setSmartHomeDevices(List deviceList) { - DiscoveryServiceCallback discoveryServiceCallback = this.discoveryServiceCallback; - - if (discoveryServiceCallback == null) { - return; - } int smartHomeDeviceDiscoveryMode = accountHandler.getSmartHomeDevicesDiscoveryMode(); if (smartHomeDeviceDiscoveryMode == 0) { return; @@ -227,14 +213,6 @@ synchronized void setSmartHomeDevices(List deviceList) { } if (thingUID != null) { - if (discoveryServiceCallback.getExistingDiscoveryResult(thingUID) != null) { - continue; - } - - if (discoveryServiceCallback.getExistingThing(thingUID) != null) { - continue; - } - DiscoveryResult result = DiscoveryResultBuilder.create(thingUID).withLabel(deviceName) .withProperties(props).withBridge(bridgeThingUID).build();