]> git.basschouten.com Git - openhab-addons.git/commitdiff
[tapocontrol] Fix authentication issue making plugin unusable (#13468)
authorPeter Hicks <peter.hicks@poggs.co.uk>
Fri, 30 Sep 2022 19:41:53 +0000 (20:41 +0100)
committerGitHub <noreply@github.com>
Fri, 30 Sep 2022 19:41:53 +0000 (21:41 +0200)
The tapocontrol plugin uses a static UUID which is now causing a an API rate limit exceeded error from the TP-Link API.  This commit generates a separate UUID for every login attempt.

Signed-off-by: Peter Hicks <peter.hicks@opentraintimes.com>
bundles/org.openhab.binding.tapocontrol/src/main/java/org/openhab/binding/tapocontrol/internal/api/TapoCloudConnector.java
bundles/org.openhab.binding.tapocontrol/src/main/java/org/openhab/binding/tapocontrol/internal/constants/TapoBindingSettings.java

index 149014c56ba1cf34a69d1a909199937a4af8eb82..92402071df25402190e9916d14aaddac132f85d2 100644 (file)
@@ -15,6 +15,7 @@ package org.openhab.binding.tapocontrol.internal.api;
 import static org.openhab.binding.tapocontrol.internal.constants.TapoBindingSettings.*;
 import static org.openhab.binding.tapocontrol.internal.constants.TapoErrorConstants.*;
 
+import java.util.UUID;
 import java.util.concurrent.TimeoutException;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
@@ -83,7 +84,7 @@ public class TapoCloudConnector {
      * @return true if login was successfull
      */
     public Boolean login(String username, String password) {
-        this.token = getToken(username, password, TAPO_TERMINAL_UUID);
+        this.token = getToken(username, password, UUID.randomUUID().toString());
         this.url = TAPO_CLOUD_URL + "?token=" + token;
         return !this.token.isBlank();
     }
index 08f97e56ab4712b7b22f375997261d7d7839c3fd..0a8973d6bc031af83764b31fed9b06b53f479d03 100644 (file)
@@ -32,7 +32,6 @@ public class TapoBindingSettings {
     public static final String CONTENT_TYPE_JSON = "application/json";
     public static final String TAPO_CLOUD_URL = "https://eu-wap.tplinkcloud.com";
     public static final String TAPO_APP_TYPE = "Tapo_Ios";
-    public static final String TAPO_TERMINAL_UUID = "0A950402-7224-46EB-A450-7362CDB902A2";
     public static final String TAPO_DEVICE_URL = "http://%s/app";
     public static final Integer HTTP_MAX_CONNECTIONS = 10; // setMaxConnectionsPerDestination for HTTP-Client
     public static final Integer HTTP_MAX_QUEUED_REQUESTS = 10; // setMaxRequestsQueuedPerDestination for HTTP-Client