From a4a64172c954c4c0c4a365849808e1585ab39da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Dalfors?= Date: Sat, 8 Jul 2023 21:41:00 +0200 Subject: [PATCH] fix: correct calculation dc link voltage sensor state Correct calculation of dc link voltage sensor state. Seems the values where reversed fixes #364 --- custom_components/ferroamp/sensor.py | 2 +- tests/test_sensor.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/ferroamp/sensor.py b/custom_components/ferroamp/sensor.py index ea8eaa1..38ba7cb 100644 --- a/custom_components/ferroamp/sensor.py +++ b/custom_components/ferroamp/sensor.py @@ -756,7 +756,7 @@ def update_state_from_events(self, events): if neg is None and pos is None: return False else: - self._attr_native_value = int(neg / count + pos / count) + self._attr_native_value = round(float(pos / count - neg / count), 2) self._attr_extra_state_attributes = dict(neg=round(float(neg / count), 2), pos=round(float(pos / count), 2)) return True diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 82ee989..9aec9d3 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -428,7 +428,7 @@ async def test_setting_ehub_sensor_values_via_mqtt_message(hass, mqtt_mock): } state = hass.states.get("sensor.ferroamp_dc_link_voltage") - assert state.state == "0" + assert state.state == "768.27" assert state.attributes == { 'device_class': 'voltage', 'friendly_name': 'EnergyHub DC Link Voltage',