From 2388c5c2fe5ea6b7709cb441e63965f3ccf2bd41 Mon Sep 17 00:00:00 2001 From: Heiko Thiery Date: Sun, 19 Jan 2025 15:20:29 +0100 Subject: [PATCH] powermeter: catch invalid values for power and energy There are devices that can return empty values for these fields. To avoid crashing (throwing uncatched exception) we catch these. Fixes: issue #109 Signed-off-by: Heiko Thiery --- .../devicetypes/fritzhomedevicepowermeter.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pyfritzhome/devicetypes/fritzhomedevicepowermeter.py b/pyfritzhome/devicetypes/fritzhomedevicepowermeter.py index 237070c..a4e651a 100644 --- a/pyfritzhome/devicetypes/fritzhomedevicepowermeter.py +++ b/pyfritzhome/devicetypes/fritzhomedevicepowermeter.py @@ -34,8 +34,17 @@ def has_powermeter(self): def _update_powermeter_from_node(self, node): _LOGGER.debug("update powermeter device") val = node.find("powermeter") - self.power = int(val.findtext("power")) - self.energy = int(val.findtext("energy")) + + try: + self.power = int(val.findtext("power")) + except Exception: + pass + + try: + self.energy = int(val.findtext("energy")) + except Exception: + pass + try: self.voltage = int(val.findtext("voltage")) except Exception: