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;