From: J-N-K Date: Fri, 29 Jan 2021 08:59:20 +0000 (+0100) Subject: [http] Fix duplicate commands on PlayerItemConverter (#9981) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=8494a0e3babe77cd388116cb8779c857fc79fe00;p=openhab-addons.git [http] Fix duplicate commands on PlayerItemConverter (#9981) Fixes #9957 Signed-off-by: Jan N. Klug --- diff --git a/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/converter/PlayerItemConverter.java b/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/converter/PlayerItemConverter.java index 6ef676257b..eb2ad57b3b 100644 --- a/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/converter/PlayerItemConverter.java +++ b/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/converter/PlayerItemConverter.java @@ -35,6 +35,7 @@ import org.openhab.core.types.UnDefType; @NonNullByDefault public class PlayerItemConverter extends AbstractTransformingItemConverter { private final HttpChannelConfig channelConfig; + private @Nullable String lastCommand; // store last command to prevent duplicate commands public PlayerItemConverter(Consumer updateState, Consumer postCommand, @Nullable Consumer sendHttpValue, ValueTransformation stateTransformations, @@ -55,6 +56,12 @@ public class PlayerItemConverter extends AbstractTransformingItemConverter { @Override protected @Nullable Command toCommand(String string) { + if (string.equals(lastCommand)) { + // only send commands once + return null; + } + lastCommand = string; + if (string.equals(channelConfig.playValue)) { return PlayPauseType.PLAY; } else if (string.equals(channelConfig.pauseValue)) {