From 9cc0ff436f164fa8510d65c0d59f4688e3b387db Mon Sep 17 00:00:00 2001 From: Martin Herbst Date: Fri, 25 Dec 2020 21:30:43 +0100 Subject: [PATCH] [homematic] For non HmIP dimmers stateDescription values must be corrected too (#9434) Older HM dimmers are using a maximum values of 1.0. But also for these devices the values must be corrected. Signed-off-by: Martin Herbst --- .../homematic/internal/type/HomematicTypeGeneratorImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java index f946032e0..82e961ba2 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java @@ -279,8 +279,9 @@ public class HomematicTypeGeneratorImpl implements HomematicTypeGenerator { BigDecimal min = MetadataUtils.createBigDecimal(dp.getMinValue()); BigDecimal max = MetadataUtils.createBigDecimal(dp.getMaxValue()); BigDecimal step = MetadataUtils.createBigDecimal(dp.getStep()); - if (ITEM_TYPE_DIMMER.equals(itemType) && dp.getMaxValue().doubleValue() == 1.01d) { - // For dimmers with a max value of 1.01 the values must be corrected + if (ITEM_TYPE_DIMMER.equals(itemType) + && (max.compareTo(new BigDecimal("1.0")) == 0 || max.compareTo(new BigDecimal("1.01")) == 0)) { + // For dimmers with a max value of 1.01 or 1.0 the values must be corrected min = MetadataUtils.createBigDecimal(0); max = MetadataUtils.createBigDecimal(100); step = MetadataUtils.createBigDecimal(1);