]> git.basschouten.com Git - openhab-addons.git/commitdiff
[homekit] fix minValue, maxValue (#9300)
authoreugen <freiter@gmail.com>
Wed, 9 Dec 2020 19:49:24 +0000 (20:49 +0100)
committerGitHub <noreply@github.com>
Wed, 9 Dec 2020 19:49:24 +0000 (11:49 -0800)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitTaggedItem.java

index abe9bbd4c3da99edc2b4ef49338ba074b9b880a3..3c7ea843e784088f1d30614759e2a3c7ae4df839 100644 (file)
@@ -193,9 +193,19 @@ public class HomekitTaggedItem {
     public <T> T getConfiguration(String key, T defaultValue) {
         if (configuration != null) {
             final @Nullable Object value = configuration.get(key);
-            if (value != null && value.getClass().equals(defaultValue.getClass())) {
-                return (T) value;
+            if (value != null) {
+                if (value.getClass().equals(defaultValue.getClass())) {
+                    return (T) value;
+                }
+                // fix for different handling of numbers via .items and via mainUI, see #1904
+                if ((value instanceof BigDecimal) && (defaultValue instanceof Double)) {
+                    return (T) Double.valueOf(((BigDecimal) value).doubleValue());
+                }
+                if ((value instanceof Double) && (defaultValue instanceof BigDecimal)) {
+                    return (T) BigDecimal.valueOf(((Double) value).doubleValue());
+                }
             }
+
         }
         return defaultValue;
     }