From 3e4466d8f181c192682256c9b182222fec4b5ce6 Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 3 Dec 2020 11:14:11 -0800 Subject: [PATCH] [miio] Update channels only if they are linked (backport #9163) (#9211) * [miio] Update channels only if they are linked With introduction of miot devices with enormous amount of channels refreshes can become slow. With this change only relevant updates are done. Signed-off-by: Marcel Verpaalen --- .../binding/miio/internal/handler/MiIoBasicHandler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java index 2a9b9719977..cf24cb07b91 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java @@ -291,6 +291,11 @@ public class MiIoBasicHandler extends MiIoAbstractHandler { int maxProperties = device.getDevice().getMaxProperties(); JsonArray getPropString = new JsonArray(); for (MiIoBasicChannel miChannel : refreshList) { + if (!isLinked(miChannel.getChannel())) { + logger.debug("Skip refresh of channel {} for {} as it is not linked", miChannel.getChannel(), + getThing().getUID()); + continue; + } JsonElement property; if (miChannel.isMiOt()) { JsonObject json = new JsonObject();