From e8bd9d14523b78cc06a69e52ffcde26eaf2f3c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20H=C3=B6rrle?= <7945681+CM000n@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:12:42 +0200 Subject: [PATCH] Fix: Make `ev_range`, `ev_range_with_ac` and `dcmSupplierName` optional (#340) * Make ev_range and ev_range_with_ac optional * take care of None values for ev_range * Make supplier_name optional --- mytoyota/models/dashboard.py | 4 ++-- mytoyota/models/endpoints/electric.py | 4 ++-- mytoyota/models/endpoints/vehicle_guid.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mytoyota/models/dashboard.py b/mytoyota/models/dashboard.py index 402fac4c..c8906834 100644 --- a/mytoyota/models/dashboard.py +++ b/mytoyota/models/dashboard.py @@ -126,7 +126,7 @@ def battery_range(self) -> Optional[float]: If vehicle doesn't support battery range returns None """ - if self._electric: + if self._electric and self._electric.ev_range: return convert_distance( self._distance_unit, self._electric.ev_range.unit, @@ -147,7 +147,7 @@ def battery_range_with_ac(self) -> Optional[float]: If vehicle doesn't support battery range returns 0 """ - if self._electric: + if self._electric and self._electric.ev_range_with_ac: return convert_distance( self._distance_unit, self._electric.ev_range_with_ac.unit, diff --git a/mytoyota/models/endpoints/electric.py b/mytoyota/models/endpoints/electric.py index 83c5d72b..585e7d41 100644 --- a/mytoyota/models/endpoints/electric.py +++ b/mytoyota/models/endpoints/electric.py @@ -30,8 +30,8 @@ class ElectricStatusModel(BaseModel): alias="canSetNextChargingEvent", default=None ) charging_status: str = Field(alias="chargingStatus") - ev_range: UnitValueModel = Field(alias="evRange") - ev_range_with_ac: UnitValueModel = Field(alias="evRangeWithAc") + ev_range: Optional[UnitValueModel] = Field(alias="evRange") + ev_range_with_ac: Optional[UnitValueModel] = Field(alias="evRangeWithAc") fuel_level: Optional[int] = Field(alias="fuelLevel", default=None) fuel_range: Optional[UnitValueModel] = Field(alias="fuelRange", default=None) last_update_timestamp: datetime = Field(alias="lastUpdateTimestamp") diff --git a/mytoyota/models/endpoints/vehicle_guid.py b/mytoyota/models/endpoints/vehicle_guid.py index 66156343..775ed34e 100644 --- a/mytoyota/models/endpoints/vehicle_guid.py +++ b/mytoyota/models/endpoints/vehicle_guid.py @@ -115,7 +115,7 @@ class _DcmModel(BaseModel): # Data connection model grade: str = Field(alias="dcmGrade") car_model_year: str = Field(alias="dcmModelYear") supplier: str = Field(alias="dcmSupplier") - supplier_name: str = Field(alias="dcmSupplierName") + supplier_name: Optional[str] = Field(alias="dcmSupplierName", default=None) euicc_id: str = Field(alias="euiccid") hardware_type: Optional[str] = Field(alias="hardwareType") vehicle_unit_terminal_number: Optional[str] = Field(alias="vehicleUnitTerminalNumber")