tillsteinbach / WeConnect-python

Python API for the Volkswagen WeConnect Services
MIT License
105 stars 27 forks source link

Library broken #177

Closed thueske closed 4 months ago

thueske commented 4 months ago

https://github.com/tillsteinbach/WeConnect-python/blob/77c4f325b7d89ec272de00bb906992a083c498f9/weconnect/elements/charging_profiles.py#L247

 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
tillsteinbach commented 4 months ago

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

thueske commented 4 months ago

Works! 💪🏼

tillsteinbach commented 4 months ago

Thank you for your help!