|
29 | 29 | logger = logging.getLogger(__name__) |
30 | 30 |
|
31 | 31 |
|
32 | | -def cast_odometer(odometer: float) -> float: |
| 32 | +def cast_km_to_miles(km_to_convert: float) -> float: |
33 | 33 | """Convert KM to Miles. |
34 | 34 |
|
35 | | - The Tesla API natively returns the Odometer in Miles. |
36 | | - TeslaMate returns the Odometer in KMs. |
37 | | - We need to convert to Miles so the Odometer sensor calculates |
| 35 | + The Tesla API natively returns properties in Miles. |
| 36 | + TeslaMate returns some properties in KMs. |
| 37 | + We need to convert to Miles so the home assistant sensor calculates |
38 | 38 | properly. |
39 | 39 | """ |
40 | | - odometer_km = float(odometer) |
41 | | - odometer_miles = DistanceConverter.convert( |
42 | | - odometer_km, UnitOfLength.KILOMETERS, UnitOfLength.MILES |
43 | | - ) |
| 40 | + km = float(km_to_convert) |
| 41 | + miles = DistanceConverter.convert(km, UnitOfLength.KILOMETERS, UnitOfLength.MILES) |
44 | 42 |
|
45 | | - return odometer_miles |
| 43 | + return miles |
46 | 44 |
|
47 | 45 |
|
48 | 46 | def cast_plugged_in(val: str) -> str: |
@@ -98,14 +96,15 @@ def cast_speed(speed: int) -> int: |
98 | 96 | "tpms_pressure_rr": ("tpms_pressure_rr", float), |
99 | 97 | "locked": ("locked", cast_bool), |
100 | 98 | "sentry_mode": ("sentry_mode", cast_bool), |
101 | | - "odometer": ("odometer", cast_odometer), |
| 99 | + "odometer": ("odometer", cast_km_to_miles), |
102 | 100 | "trunk_open": ("rt", cast_trunk_open), |
103 | 101 | "frunk_open": ("ft", cast_trunk_open), |
104 | 102 | "is_user_present": ("is_user_present", cast_bool), |
105 | 103 | } |
106 | 104 |
|
107 | 105 | MAP_CHARGE_STATE = { |
108 | 106 | "battery_level": ("battery_level", float), |
| 107 | + "est_battery_range_km": ("battery_range", cast_km_to_miles), |
109 | 108 | "usable_battery_level": ("usable_battery_level", float), |
110 | 109 | "charge_energy_added": ("charge_energy_added", float), |
111 | 110 | "charger_actual_current": ("charger_actual_current", int), |
|
0 commit comments