From bad840e464981ac0a0787446dd9e591904605055 Mon Sep 17 00:00:00 2001 From: rozie Date: Wed, 19 Oct 2022 22:48:39 +0200 Subject: [PATCH] Fix solaredge missing data value (#80321) * Fix issue #80263: use get to fetch dict value * use None instead -1 for unknown value * Update homeassistant/components/solaredge/coordinator.py Co-authored-by: Franck Nijhof * Add guards for not multipling None * Missing if added Co-authored-by: Franck Nijhof --- homeassistant/components/solaredge/coordinator.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/solaredge/coordinator.py b/homeassistant/components/solaredge/coordinator.py index 7d3e949fc10..5def236598a 100644 --- a/homeassistant/components/solaredge/coordinator.py +++ b/homeassistant/components/solaredge/coordinator.py @@ -276,17 +276,19 @@ class SolarEdgePowerFlowDataService(SolarEdgeDataService): for key, value in power_flow.items(): if key in ["LOAD", "PV", "GRID", "STORAGE"]: - self.data[key] = value["currentPower"] + self.data[key] = value.get("currentPower") self.attributes[key] = {"status": value["status"]} if key in ["GRID"]: export = key.lower() in power_to - self.data[key] *= -1 if export else 1 + if self.data[key]: + self.data[key] *= -1 if export else 1 self.attributes[key]["flow"] = "export" if export else "import" if key in ["STORAGE"]: charge = key.lower() in power_to - self.data[key] *= -1 if charge else 1 + if self.data[key]: + self.data[key] *= -1 if charge else 1 self.attributes[key]["flow"] = "charge" if charge else "discharge" self.attributes[key]["soc"] = value["chargeLevel"]