From: lolodomo Date: Wed, 4 Aug 2021 13:52:56 +0000 (+0200) Subject: [homeconnect] Fix update of channels linked to program options (#10990) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=ebb26628702c2d4f5beccbce4205c82ce47d9930;p=openhab-addons.git [homeconnect] Fix update of channels linked to program options (#10990) Fix #10955 Signed-off-by: Laurent Garnier --- diff --git a/bundles/org.openhab.binding.homeconnect/src/main/java/org/openhab/binding/homeconnect/internal/handler/AbstractHomeConnectThingHandler.java b/bundles/org.openhab.binding.homeconnect/src/main/java/org/openhab/binding/homeconnect/internal/handler/AbstractHomeConnectThingHandler.java index 836715ba5b..8153be5789 100644 --- a/bundles/org.openhab.binding.homeconnect/src/main/java/org/openhab/binding/homeconnect/internal/handler/AbstractHomeConnectThingHandler.java +++ b/bundles/org.openhab.binding.homeconnect/src/main/java/org/openhab/binding/homeconnect/internal/handler/AbstractHomeConnectThingHandler.java @@ -75,6 +75,7 @@ import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BridgeHandler; import org.openhab.core.types.Command; import org.openhab.core.types.RefreshType; +import org.openhab.core.types.State; import org.openhab.core.types.StateOption; import org.openhab.core.types.UnDefType; import org.slf4j.Logger; @@ -473,6 +474,21 @@ public abstract class AbstractHomeConnectThingHandler extends BaseThingHandler i } } + /** + * Get thing linked channel by given channel id. + * + * @param channelId channel id + * @return channel if linked + */ + protected Optional getLinkedChannel(String channelId) { + Channel channel = getThing().getChannel(channelId); + if (channel == null || !isLinked(channelId)) { + return Optional.empty(); + } else { + return Optional.of(channel); + } + } + /** * Configure channel update handlers. Classes which extend {@link AbstractHomeConnectThingHandler} must implement * this class and add handlers. @@ -1334,109 +1350,95 @@ public abstract class AbstractHomeConnectThingHandler extends BaseThingHandler i } } + private Optional