]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] force start cloudconnector after credentials are updated (#11459)
authorMarcel <marcel@verpaalen.com>
Sat, 30 Oct 2021 06:50:43 +0000 (08:50 +0200)
committerGitHub <noreply@github.com>
Sat, 30 Oct 2021 06:50:43 +0000 (08:50 +0200)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoHandlerFactory.java
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/cloud/CloudConnector.java

index 523efc2565904ef5caa5384efd99961d37f31619..afb8073b11228e3305f44351b2892948087b4787 100644 (file)
@@ -82,7 +82,7 @@ public class MiIoHandlerFactory extends BaseThingHandlerFactory {
         cloudConnector.setCredentials(username, password, country);
         try {
             if (!scheduler.isShutdown()) {
-                scheduledTask = scheduler.submit(() -> cloudConnector.isConnected());
+                scheduledTask = scheduler.submit(() -> cloudConnector.isConnected(true));
             } else {
                 logger.debug("Unexpected: ScheduledExecutorService is shutdown.");
             }
index 626b7515c2ba51a458dd1e7ade8feec800fe797a..137c65774a1a6ab0dc3222059ff79ae2bfcfbd33 100644 (file)
@@ -104,10 +104,17 @@ public class CloudConnector {
     }
 
     public boolean isConnected() {
+        return isConnected(false);
+    }
+
+    public boolean isConnected(boolean force) {
         final MiCloudConnector cl = cloudConnector;
         if (cl != null && cl.hasLoginToken()) {
             return true;
         }
+        if (force) {
+            logonCache.invalidateValue();
+        }
         final @Nullable Boolean c = logonCache.getValue();
         if (c != null && c.booleanValue()) {
             return true;