diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/TextValue.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/TextValue.java index fb15998c41f2..c7a8462f0c44 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/TextValue.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/TextValue.java @@ -106,7 +106,11 @@ public State parseMessage(Command command) throws IllegalArgumentException { final Set states = this.states; String valueStr = command.toString(); if (states != null && !states.contains(valueStr)) { - throw new IllegalArgumentException("Value " + valueStr + " not within range"); + if (valueStr.isEmpty()) { + return UnDefType.NULL; + } else { + throw new IllegalArgumentException("Value " + valueStr + " not within range"); + } } return new StringType(valueStr); }