From 8b0c625440a44fc4db2b6099e35d50c62dc6eb4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cas=20Eli=C3=ABns?= Date: Tue, 7 Nov 2023 16:03:45 +0100 Subject: [PATCH] Avoid sending ABRP update without SoC The ABRP battery prediction algorithm doesn't work when live data is uploaded without State of Charge (soc) field. This commit avoids sending such updates. (cherry picked from commit d8ca85c78b6d02daf825ad183d8128ba8cc9e3e8) --- psa_car_controller/psacc/application/abrp.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/psa_car_controller/psacc/application/abrp.py b/psa_car_controller/psacc/application/abrp.py index 3b5e7cd8..493c5a71 100644 --- a/psa_car_controller/psacc/application/abrp.py +++ b/psa_car_controller/psacc/application/abrp.py @@ -34,6 +34,11 @@ def call(self, car: Car, ext_temp: float = None): logger.debug("No abrp token provided") elif car.vin in self.abrp_enable_vin: energy = car.status.get_energy('Electric') + + if energy.level is None: + logger.debug("No energy level available") + return False + tlm = {"utc": int(datetime.timestamp(energy.updated_at)), "soc": energy.level, "speed": getattr(car.status.kinetic, "speed", None),