]> git.basschouten.com Git - openhab-addons.git/commitdiff
[androidtv] Fix log flood when physical device is not online (#15258)
authormorph166955 <53797132+morph166955@users.noreply.github.com>
Fri, 21 Jul 2023 06:54:10 +0000 (01:54 -0500)
committerGitHub <noreply@github.com>
Fri, 21 Jul 2023 06:54:10 +0000 (08:54 +0200)
* Fixes log flood when physical device is not online

---------

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
bundles/org.openhab.binding.androidtv/src/main/java/org/openhab/binding/androidtv/internal/AndroidTVHandler.java

index 6904d8b21c1a556d929764319d43a950c8a7ad73..851b29393f74b9df89e8cf8760763d914cc8572d 100644 (file)
@@ -65,6 +65,9 @@ public class AndroidTVHandler extends BaseThingHandler {
     private final ThingTypeUID thingTypeUID;
     private final String thingID;
 
+    private String currentThingStatus = "";
+    private boolean currentThingFailed = false;
+
     public AndroidTVHandler(Thing thing, AndroidTVDynamicCommandDescriptionProvider commandDescriptionProvider,
             AndroidTVTranslationProvider translationProvider, ThingTypeUID thingTypeUID) {
         super(thing);
@@ -111,6 +114,9 @@ public class AndroidTVHandler extends BaseThingHandler {
     }
 
     public void checkThingStatus() {
+        String currentThingStatus = this.currentThingStatus;
+        boolean currentThingFailed = this.currentThingFailed;
+
         String statusMessage = "";
         boolean failed = false;
 
@@ -133,11 +139,16 @@ public class AndroidTVHandler extends BaseThingHandler {
             }
         }
 
-        if (failed) {
-            updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.NONE, statusMessage);
-        } else {
-            updateStatus(ThingStatus.ONLINE);
+        if (!currentThingStatus.equals(statusMessage) || (currentThingFailed != failed)) {
+            if (failed) {
+                updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.NONE, statusMessage);
+            } else {
+                updateStatus(ThingStatus.ONLINE);
+            }
         }
+
+        this.currentThingStatus = statusMessage;
+        this.currentThingFailed = failed;
     }
 
     @Override