From bf2d40c5bcbcfa02c7702696207f0d899665071a Mon Sep 17 00:00:00 2001 From: t2000 Date: Tue, 29 Dec 2020 14:21:33 +0100 Subject: [PATCH] [influxdb] Treat a stored 1 AND 1.0 as true (#9545) Signed-off-by: Stefan Triller --- .../influxdb/internal/InfluxDBStateConvertUtils.java | 2 +- .../influxdb/internal/InfluxDBStateConvertUtilsTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtils.java b/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtils.java index 62f096fad..bc191e9c9 100644 --- a/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtils.java +++ b/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtils.java @@ -145,7 +145,7 @@ public class InfluxDBStateConvertUtils { if (object instanceof Boolean) { return (Boolean) object; } else if (object != null) { - if ("1".equals(object)) { + if ("1".equals(object) || "1.0".equals(object)) { return true; } else { return Boolean.valueOf(String.valueOf(object)); diff --git a/bundles/org.openhab.persistence.influxdb/src/test/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtilsTest.java b/bundles/org.openhab.persistence.influxdb/src/test/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtilsTest.java index d44032ddc..c71e4b3ae 100644 --- a/bundles/org.openhab.persistence.influxdb/src/test/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtilsTest.java +++ b/bundles/org.openhab.persistence.influxdb/src/test/java/org/openhab/persistence/influxdb/internal/InfluxDBStateConvertUtilsTest.java @@ -78,12 +78,15 @@ public class InfluxDBStateConvertUtilsTest { public void convertOnOffToState() { boolean val1 = true; int val2 = 1; + double val3 = 1.0; SwitchItem onOffItem = new SwitchItem("name"); ContactItem contactItem = new ContactItem("name"); assertThat(InfluxDBStateConvertUtils.objectToState(val1, onOffItem), equalTo(OnOffType.ON)); assertThat(InfluxDBStateConvertUtils.objectToState(val2, onOffItem), equalTo(OnOffType.ON)); + assertThat(InfluxDBStateConvertUtils.objectToState(val3, onOffItem), equalTo(OnOffType.ON)); assertThat(InfluxDBStateConvertUtils.objectToState(val1, contactItem), equalTo(OpenClosedType.OPEN)); assertThat(InfluxDBStateConvertUtils.objectToState(val2, contactItem), equalTo(OpenClosedType.OPEN)); + assertThat(InfluxDBStateConvertUtils.objectToState(val3, contactItem), equalTo(OpenClosedType.OPEN)); } @Test