diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java index e90294af8..c2b84ad9e 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java @@ -121,7 +121,8 @@ public class FreeboxApiManager { } } - public boolean authorize(boolean useHttps, String fqdn, String apiBaseUrl, String apiVersion, String appToken) { + public boolean authorize(boolean useHttps, String fqdn, String apiBaseUrl, String apiVersion, String appToken) + throws InterruptedException { String[] versionSplit = apiVersion.split("\\."); String majorVersion = "5"; if (versionSplit.length > 0) { @@ -155,7 +156,7 @@ public class FreeboxApiManager { this.appToken = token; openSession(); return true; - } catch (FreeboxException | InterruptedException e) { + } catch (FreeboxException e) { logger.debug("Error while opening a session", e); return false; } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxHandler.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxHandler.java index f0a48f8ba..5fe71a3f5 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxHandler.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxHandler.java @@ -158,7 +158,13 @@ public class FreeboxHandler extends BaseBridgeHandler { logger.debug("Binding will schedule a job to establish a connection..."); if (authorizeJob == null || authorizeJob.isCancelled()) { - authorizeJob = scheduler.schedule(this::authorize, 1, TimeUnit.SECONDS); + authorizeJob = scheduler.schedule(() -> { + try { + authorize(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }, 1, TimeUnit.SECONDS); } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, @@ -196,7 +202,7 @@ public class FreeboxHandler extends BaseBridgeHandler { } } - private void authorize() { + private void authorize() throws InterruptedException { logger.debug("Authorize job..."); String fqdn = configuration.fqdn;