@@ -272,6 +272,7 @@ def __init__(self, data, user_id):
272
272
ChargingSpeed .FAST : None ,
273
273
ChargingSpeed .NORMAL : None ,
274
274
ChargingSpeed .SLOW : None ,
275
+ ChargingSpeed .ADAPTIVE : None
275
276
}
276
277
self .range_hvac_off = None
277
278
self .range_hvac_on = None
@@ -640,10 +641,9 @@ def refresh_battery_status(self):
640
641
return body
641
642
642
643
def fetch_battery_status (self ):
644
+ self .fetch_battery_status_leaf ()
643
645
if self .model_name == "Ariya" :
644
- return self .fetch_battery_status_ariya ()
645
-
646
- return self .fetch_battery_status_leaf ()
646
+ self .fetch_battery_status_ariya ()
647
647
648
648
def fetch_battery_status_leaf (self ):
649
649
"""The battery-status endpoint isn't just for EV's. ICE Nissans publish the range under this!
@@ -671,6 +671,7 @@ def fetch_battery_status_leaf(self):
671
671
ChargingSpeed .FAST : battery_data .get ('timeRequiredToFullFast' ),
672
672
ChargingSpeed .NORMAL : battery_data .get ('timeRequiredToFullNormal' ),
673
673
ChargingSpeed .SLOW : battery_data .get ('timeRequiredToFullSlow' ),
674
+ ChargingSpeed .ADAPTIVE : None
674
675
}
675
676
self .range_hvac_off = battery_data .get ('rangeHvacOff' )
676
677
self .range_hvac_on = battery_data .get ('rangeHvacOn' )
@@ -703,30 +704,19 @@ def fetch_battery_status_ariya(self):
703
704
704
705
battery_data = body ['data' ]['attributes' ]
705
706
706
- self .battery_capacity = battery_data .get ('batteryCapacity' ) # kWh
707
- self .battery_level = battery_data .get ('batteryLevel' ) # %
708
- self .battery_temperature = battery_data .get ('batteryTemperature' ) # Fahrenheit?
709
- # same meaning as battery level, different scale. 240 = 100%
710
- self .battery_bar_level = battery_data .get ('batteryBarLevel' )
711
- self .instantaneous_power = battery_data .get ('instantaneousPower' ) # kW
707
+ self .range_hvac_off = None
708
+ self .range_hvac_on = battery_data .get ('batteryAutonomy' ) or self .range_hvac_on
709
+
712
710
self .charging_speed = ChargingSpeed (None )
713
711
self .charge_time_required_to_full = {
714
- ChargingSpeed .FAST : battery_data .get ('chargingRemainingTime' ),
715
- ChargingSpeed .NORMAL : battery_data .get ('chargingRemainingTime' ),
716
- ChargingSpeed .SLOW : battery_data .get ('chargingRemainingTime' ),
712
+ ChargingSpeed .FAST : None ,
713
+ ChargingSpeed .NORMAL : None ,
714
+ ChargingSpeed .SLOW : None ,
715
+ ChargingSpeed .ADAPTIVE : battery_data .get ('chargingRemainingTime' ) or self .charge_time_required_to_full [ChargingSpeed .NORMAL ]
717
716
}
718
- self .range_hvac_off = battery_data .get ('batteryAutonomy' )
719
- self .range_hvac_on = battery_data .get ('batteryAutonomy' )
720
-
721
- # For ICE vehicles, we should get the range at least. If not, dont bother again
722
- if self .range_hvac_on is None and Feature .BATTERY_STATUS not in self .features :
723
- self .battery_supported = False
724
- return
725
717
726
718
self .plugged_in = PluggedStatus (battery_data .get ('plugStatus' , 0 ))
727
- if self .plugged_in == PluggedStatus (1 ):
728
- self .charging = ChargingStatus (battery_data .get ('chargeStatus' , 0 ))
729
-
719
+
730
720
if 'vehiclePlugTimestamp' in battery_data :
731
721
self .plugged_in_time = datetime .datetime .fromisoformat (battery_data ['vehiclePlugTimestamp' ].replace ('Z' ,'+00:00' ))
732
722
if 'vehicleUnplugTimestamp' in battery_data :
0 commit comments