@@ -1161,27 +1161,28 @@ def fetch_battery_status(self):
11611161 if 'errors' in body :
11621162 raise ValueError (body ['errors' ])
11631163 battery_data = body ['data' ]['attributes' ]
1164- self .battery_capacity = battery_data [ 'batteryCapacity' ] # kWh
1165- self .battery_level = battery_data [ 'batteryLevel' ] # %
1164+ self .battery_capacity = battery_data . get ( 'batteryCapacity' ) # kWh
1165+ self .battery_level = battery_data . get ( 'batteryLevel' ) # %
11661166 self .battery_temperature = battery_data .get ('batteryTemperature' ) # Fahrenheit?
11671167 # same meaning as battery level, different scale. 240 = 100%
1168- self .battery_bar_level = battery_data [ 'batteryBarLevel' ]
1168+ self .battery_bar_level = battery_data . get ( 'batteryBarLevel' )
11691169 self .instantaneous_power = battery_data .get ('instantaneousPower' ) # kW
11701170 self .charging_speed = ChargingSpeed (battery_data .get ('chargePower' ))
11711171 self .charge_time_required_to_full = {
1172- ChargingSpeed .FAST : battery_data [ 'timeRequiredToFullFast' ] ,
1173- ChargingSpeed .NORMAL : battery_data [ 'timeRequiredToFullNormal' ] ,
1174- ChargingSpeed .SLOW : battery_data [ 'timeRequiredToFullSlow' ] ,
1172+ ChargingSpeed .FAST : battery_data . get ( 'timeRequiredToFullFast' ) ,
1173+ ChargingSpeed .NORMAL : battery_data . get ( 'timeRequiredToFullNormal' ) ,
1174+ ChargingSpeed .SLOW : battery_data . get ( 'timeRequiredToFullSlow' ) ,
11751175 }
1176- self .range_hvac_off = battery_data [ 'rangeHvacOff' ]
1177- self .range_hvac_on = battery_data [ 'rangeHvacOn' ]
1178- self .charging = ChargingStatus (battery_data [ 'chargeStatus' ] )
1179- self .plugged_in = PluggedStatus (battery_data [ 'plugStatus' ] )
1176+ self .range_hvac_off = battery_data . get ( 'rangeHvacOff' )
1177+ self .range_hvac_on = battery_data . get ( 'rangeHvacOn' )
1178+ self .charging = ChargingStatus (battery_data . get ( 'chargeStatus' , 0 ) )
1179+ self .plugged_in = PluggedStatus (battery_data . get ( 'plugStatus' , 0 ) )
11801180 if 'vehiclePlugTimestamp' in battery_data :
11811181 self .plugged_in_time = datetime .datetime .fromisoformat (battery_data ['vehiclePlugTimestamp' ].replace ('Z' ,'+00:00' ))
11821182 if 'vehicleUnplugTimestamp' in battery_data :
11831183 self .unplugged_time = datetime .datetime .fromisoformat (battery_data ['vehicleUnplugTimestamp' ].replace ('Z' ,'+00:00' ))
1184- self .battery_status_last_updated = datetime .datetime .fromisoformat (battery_data ['lastUpdateTime' ].replace ('Z' ,'+00:00' ))
1184+ if 'lastUpdateTime' in battery_data :
1185+ self .battery_status_last_updated = datetime .datetime .fromisoformat (battery_data ['lastUpdateTime' ].replace ('Z' ,'+00:00' ))
11851186
11861187 def fetch_energy_unit_cost (self ):
11871188 resp = self ._get (
0 commit comments