From 0aa1242a00695b8f1eb2aab09623f1b8e1d5a7ef Mon Sep 17 00:00:00 2001 From: Ryan Nitcher Date: Sat, 25 Jan 2025 02:22:00 -0700 Subject: [PATCH] Report 0 for instead of None for zero current and voltage (#1483) - Report `0` instead of `None` for current when current is zero. - Report `0` instead of `None` for voltage when voltage is zero --- kasa/smart/modules/energy.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kasa/smart/modules/energy.py b/kasa/smart/modules/energy.py index 0cfdc92c..03df6d11 100644 --- a/kasa/smart/modules/energy.py +++ b/kasa/smart/modules/energy.py @@ -126,15 +126,17 @@ class Energy(SmartModule, EnergyInterface): @raise_if_update_error def current(self) -> float | None: """Return the current in A.""" - ma = self.data.get("get_emeter_data", {}).get("current_ma") - return ma / 1000 if ma else None + if (ma := self.data.get("get_emeter_data", {}).get("current_ma")) is not None: + return ma / 1_000 + return None @property @raise_if_update_error def voltage(self) -> float | None: """Get the current voltage in V.""" - mv = self.data.get("get_emeter_data", {}).get("voltage_mv") - return mv / 1000 if mv else None + if (mv := self.data.get("get_emeter_data", {}).get("voltage_mv")) is not None: + return mv / 1_000 + return None async def _deprecated_get_realtime(self) -> EmeterStatus: """Retrieve current energy readings."""