diff --git a/src/main/java/org/openhab/binding/openlicht/handler/EraserHandler.java b/src/main/java/org/openhab/binding/openlicht/handler/EraserHandler.java
index 9aba70617e21e09a15f3ce713835a1383a4d2f3c..4cd5ffb16e8ef301ef01c0bb40044c5f560a8247 100644
--- a/src/main/java/org/openhab/binding/openlicht/handler/EraserHandler.java
+++ b/src/main/java/org/openhab/binding/openlicht/handler/EraserHandler.java
@@ -174,16 +174,20 @@ public class EraserHandler extends AbstractMqttHandler implements StateChangeLis
 
     private State parseState(GenericItem genericItem, String state) {
         for (Class<? extends @NonNull Command> type : genericItem.getAcceptedCommandTypes()) {
-            if (type.equals(StringType.class)) {
-                return new StringType(state);
-            } else if (type.equals(HSBType.class)) {
-                return new HSBType(state);
-            } else if (type.equals(DecimalType.class)) {
-                return new DecimalType(state);
-            } else if (type.equals(OnOffType.class)) {
-                return OnOffType.from(state);
-            } else if (type.equals(DateTimeType.class)) {
-                return new DateTimeType(state);
+            try {
+                if (type.equals(StringType.class)) {
+                    return new StringType(state);
+                } else if (type.equals(HSBType.class)) {
+                    return new HSBType(state);
+                } else if (type.equals(DecimalType.class)) {
+                    return new DecimalType(state);
+                } else if (type.equals(OnOffType.class)) {
+                    return OnOffType.from(state);
+                } else if (type.equals(DateTimeType.class)) {
+                    return new DateTimeType(state);
+                }
+            } catch (IllegalArgumentException e) {
+                // ignore the exception, and try next type
             }
         }
         return null;