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 6ef676257bf2c..eb2ad57b3bc8d 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 @@ @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 String toString(Command command) { @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)) {