[influxdb] Treat a stored 1 AND 1.0 as true (#9545)

Signed-off-by: Stefan Triller <github@stefantriller.de>
This commit is contained in:
t2000 2020-12-29 14:21:33 +01:00 committed by GitHub
parent 6da56da7a8
commit bf2d40c5bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View File

@ -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));

View File

@ -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