tomeko12 / pyelectroluxconnect

A python module to communicate with Elecrolux Connectivity Platform
Apache License 2.0
25 stars 9 forks source link

Can't login in APAC region. #5

Closed smaurer3 closed 2 years ago

smaurer3 commented 2 years ago

Login fails with traceback -

Traceback (most recent call last): File "/config/custom_components/electrolux_status/config_flow.py", line 84, in _test_credentials await self.hass.async_add_executor_job(client.login) File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.9/site-packages/pyelectroluxconnect/Session.py", line 689, in login self._getAppliancesList() File "/usr/local/lib/python3.9/site-packages/pyelectroluxconnect/Session.py", line 185, in _getAppliancesList "alias": device["nickname"], KeyError: 'nickname'

Nickname not in dictionary. instead it has appliance_type:

{'appliance_type': '914900813_00', 'pnc': '914900813', 'elc': '00', 'sn': '02024136', 'mac': '443E07061EDA', 'cpv': '00', 'group': 'FabricCare', 'brand': 'Electrolux', 'model': 'EWF1041'}

I modified Session.py and confirmed this is the only issue.

smaurer3 commented 2 years ago

I modified the code in Session.py line 180 - 187 to:

self._applianceIndex[device["appliance_id"]] = {}
    for k in device.keys():
        self._applianceIndex[device["appliance_id"]][k] = device[k]
appllist = ses.getAppliances() 

now returns:

{'02024136-443E07061EDA': {'appliance_type': '914900813_00', 'appliance_id': '02024136-443E07061EDA', 'pnc': '914900813', 'elc': '00', 'sn': '02024136', 'mac': '443E07061EDA', 'cpv': '00', 'group': 'FabricCare', 'brand': 'Electrolux', 'model': 'EWF1041'}}

I am trying to use mauro-midolo with Home Assistant which relies on this package.

tomeko12 commented 2 years ago

Fixed in 65f7c693e51f79d82e0cfc43c8e6d8336742caa6

smaurer3 commented 2 years ago

thanks @tomeko12 , works great now.