tillsteinbach/WeConnect-python

Library broken

Closed this issue · 3 comments

if 'id' in fromDict and fromDict['id'] < len(self.parent.profiles):

 p-j58p0z @  [a-vwxfmm]  ~/files  weconnect-cli --username user@domain.tld --password secure list
Traceback (most recent call last):
  File "/files/.mwsoftware/python/pip/bin/weconnect-cli", line 8, in <module>
    sys.exit(main())
  File "/files/.mwsoftware/python/pip/weconnect_cli/weconnect_cli_base.py", line 223, in main
    weConnect.update(updateCapabilities=(not args.noCapabilities), updatePictures=(not args.noPictures), selective=args.selective)
  File "/files/.mwsoftware/python/pip/weconnect/weconnect.py", line 194, in update
    self.updateVehicles(updateCapabilities=updateCapabilities, updatePictures=updatePictures, force=force, selective=selective)
  File "/files/.mwsoftware/python/pip/weconnect/weconnect.py", line 216, in updateVehicles
    vehicle = Vehicle(weConnect=self, vin=vin, parent=self.__vehicles, fromDict=vehicleDict, fixAPI=self.fixAPI,
  File "/files/.mwsoftware/python/pip/weconnect/elements/vehicle.py", line 133, in __init__
    self.update(fromDict, updateCapabilities=updateCapabilities, updatePictures=updatePictures, selective=selective)
  File "/files/.mwsoftware/python/pip/weconnect/elements/vehicle.py", line 227, in update
    self.updateStatus(updateCapabilities=updateCapabilities, force=force, selective=selective)
  File "/files/.mwsoftware/python/pip/weconnect/elements/vehicle.py", line 355, in updateStatus
    self.domains[domain.value][key] = className(vehicle=self, parent=self.domains[domain.value], statusId=key,
  File "/files/.mwsoftware/python/pip/weconnect/elements/charging_profiles.py", line 24, in __init__
    super().__init__(vehicle=vehicle, parent=parent, statusId=statusId, fromDict=fromDict, fixAPI=fixAPI)
  File "/files/.mwsoftware/python/pip/weconnect/elements/generic_status.py", line 38, in __init__
    self.update(fromDict=fromDict)
  File "/files/.mwsoftware/python/pip/weconnect/elements/charging_profiles.py", line 47, in update
    self.nextChargingTimer = ChargingProfiles.NextChargingTimer(parent=self, fromDict=fromDict['value']['nextChargingTimer'])
  File "/files/.mwsoftware/python/pip/weconnect/elements/charging_profiles.py", line 242, in __init__
    self.update(fromDict)
  File "/files/.mwsoftware/python/pip/weconnect/elements/charging_profiles.py", line 248, in update
    self.timer = self.parent.profiles[fromDict['id']]
KeyError: 0

Hi @thueske thank you for reporting. Actually I currently have no access to a car with charging profiles. could you test this fix by installing the version 0.60.2.dev1
pip install weconnect==0.60.2.dev1

Works! 💪🏼

Thank you for your help!