From 061ecda3215abd5dc139ced7a120997d9b67b81c Mon Sep 17 00:00:00 2001 From: Mark Herwege Date: Thu, 22 Apr 2021 20:34:12 +0200 Subject: [PATCH] [nikohomecontrol] Fix energy meter. (#10546) Signed-off-by: Mark Herwege --- .../internal/protocol/nhc2/NikoHomeControlCommunication2.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java index 866e18283..d77caa49b 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java @@ -577,7 +577,9 @@ public class NikoHomeControlCommunication2 extends NikoHomeControlCommunication deviceProperties.stream().map(p -> p.electricalPower).filter(Objects::nonNull).findFirst() .ifPresent(electricalPower -> { try { - energyMeter.setPower(Integer.parseInt(electricalPower)); + // Sometimes API sends a fractional part, although API should only send whole units in W, + // therefore drop fractional part + energyMeter.setPower((int) Double.parseDouble(electricalPower)); logger.trace("setting energy meter {} power to {}", energyMeter.getId(), electricalPower); } catch (NumberFormatException e) { energyMeter.setPower(null);