albaintor / homeassistant_electrolux_status

Get the status from your Electrolux Care devices
MIT License
81 stars 20 forks source link

Failed to start integration #10

Closed Rikkie80 closed 7 months ago

Rikkie80 commented 7 months ago

Integration worked up till a couple of hours ago. Get the following log message:

`Traceback (most recent call last): File "/config/custom_components/electrolux_status/init.py", line 105, in setup_entities for appliance_json in appliances_json: TypeError: 'NoneType' object is not iterable

The above exception was the direct cause of the following exception:

''' Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/electrolux_status/init.py", line 59, in async_setup_entry await coordinator.setup_entities() File "/config/custom_components/electrolux_status/init.py", line 139, in setup_entities raise UpdateFailed() from exception homeassistant.helpers.update_coordinator.UpdateFailed` '''

SmilinStanSStanman commented 7 months ago

Same here. I tried removing beta release after the installation, redownloading de hacs release 1.0, etc. The integration seems to load ok email and password but it can't configure it.

Sin título

Fougues commented 7 months ago

Integration worked up till the last update

matt05d commented 7 months ago

I only just started using this integration so I don't know about previous versions but I am having the same issue:

image

apedance commented 7 months ago

Getting the same error.

Traceback (most recent call last):
  File "/config/custom_components/electrolux_status/__init__.py", line 111, in setup_entities
    for appliance_json in appliances_json:
TypeError: 'NoneType' object is not iterable

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/electrolux_status/__init__.py", line 59, in async_setup_entry
    await coordinator.setup_entities()
  File "/config/custom_components/electrolux_status/__init__.py", line 145, in setup_entities
    raise UpdateFailed() from exception
homeassistant.helpers.update_coordinator.UpdateFailed

Was working on beta 5. Now when I downgrade to beta 5 it doesn't work anymore.

tieskuh commented 7 months ago

More info in the discussion: https://github.com/albaintor/homeassistant_electrolux_status/discussions/6 It has nothing to do with up- or downgrading. Both versions don't work. The reason that it failed just after the upgrade is most likely because of the restart.

dave-prosee commented 7 months ago

Hi,

Had the same error as matt05d (no devices no entities) on my docker install on a raspberry pi. The log is giving: 'NoneType' object is not iterable, stemming from init.py line 105. Hence I use this issue.

However with HA on my Mac (for development) this integration worked fine; giving all the info. I used the same credentials. Only difference I could see is that the raspberry pi was using python 3.11 (Error) opposed to 3.12 (working) on my Mac.

Also on the raspberry pi (python 3.11), some 6 seconds before the nonetype error, there is this error. /usr/local/lib/python3.11/asyncio/base_events.py:1910: RuntimeWarning: coroutine 'OneAppApi.get_user_token' was never awaited handle = self._ready.popleft()

My guess now is that python 3.11 (so all docker based HA installations) is playing up. I hope this helps.

maverik80 commented 7 months ago

hi guys, same problem for me too, everything worked, even if I couldn't operate the switches but the states were read, then yesterday afternoon the integration stopped working

Logger: homeassistant.config_entries Source: config_entries.py:406 First occurred: 3 February 2024 at 19:06:09 (10 occurrences) Last logged: 06:14:04

Error setting up entry xxxxxxx@xxxxx.xx for electrolux_status Traceback (most recent call last): File "/config/custom_components/electrolux_status/init.py", line 105, in setup_entities for appliance_json in appliances_json: TypeError: 'NoneType' object is not iterable

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/electrolux_status/init.py", line 59, in async_setup_entry await coordinator.setup_entities() File "/config/custom_components/electrolux_status/init.py", line 139, in setup_entities raise UpdateFailed() from exception homeassistant.helpers.update_coordinator.UpdateFailed

stefanraduionescu commented 7 months ago

it seems like a little misunderstanding between the developers ? It worked a few days with other entities and new repository, now is back to the old integration that doesn't load the entities.

tieskuh commented 7 months ago

Hi,

Had the same error as matt05d (no devices no entities) on my docker install on a raspberry pi. The log is giving: 'NoneType' object is not iterable, stemming from init.py line 105. Hence I use this issue.

However with HA on my Mac (for development) this integration worked fine; giving all the info. I used the same credentials. Only difference I could see is that the raspberry pi was using python 3.11 (Error) opposed to 3.12 (working) on my Mac.

Also on the raspberry pi (python 3.11), some 6 seconds before the nonetype error, there is this error. /usr/local/lib/python3.11/asyncio/base_events.py:1910: RuntimeWarning: coroutine 'OneAppApi.get_user_token' was never awaited handle = self._ready.popleft()

My guess now is that python 3.11 (so all docker based HA installations) is playing up. I hope this helps.

@dave-prosee Good work! Maybe you can try installing python 3.11 on your Mac to be sure.

albaintor commented 7 months ago

Please try v1.0.1 it should be fixed (I hope)

maverik80 commented 7 months ago

albaintor I'm trying V1.0.1 and it's back to working but all the sensors/buttons continue to switch from available to unavailable every 5 minutes

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 243, in _handle_refresh_interval await self._async_refresh(log_failures=True, scheduled=True) File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 399, in _async_refresh self.async_update_listeners() File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners update_callback() File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 479, in _handle_coordinator_update self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1066, in _async_write_ha_state state, attr, capabilities, shadowed_attr = self.async_calculate_state() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1003, in async_calculate_state state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/select/init.py", line 151, in state current_option = self.current_option ^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/electrolux_status/select.py", line 60, in current_option label = list(self.options_list.keys())[list(self.options_list.values()).index(value)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: -1 is not in list

dave-prosee commented 7 months ago

Mac with python3.11 and v1 gives NoneType not iterable error as well as the async OneApiApp error. The Core log summary: Support for the running Python version 3.11.7 is deprecated and will be removed in Home Assistant 2024.4; Please upgrade Python to 3.12 14:17:30 – (WARNING) bootstrap.py Waiting on integrations to complete setup: zeroconf 14:17:03 – (WARNING) bootstrap.py - message first occurred at 14:15:36 and shows up 2 times Error setting up entry emmielaan@gmail.com for electrolux_status 14:16:35 – (ERROR) config_entries.py 'NoneType' object is not iterable 14:16:35 – (ERROR) Electrolux Care Integration V2 (custom integration) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py:1923: RuntimeWarning: coroutine 'OneAppApi.get_user_token' was never awaited handle = None # Needed to break cycles when an exception occurs. 14:16:34 – (WARNING) runner.py

BUT with v1.0.1 it works on my Mac (python 3.11). Have to test on Raspberry pi still. Will mention this later. Thanks albaintor!

SmilinStanSStanman commented 7 months ago

1.0 integration deleted and then, 1.0.1 installed. The integration load all OK with sensors unavailables. I tried to reload the integration, and once again, the integration fails to load. If I delete the integration and reinstall 1.0.1 now I have the same issue than with 1.0. It can't load.

albaintor commented 7 months ago

I had the exact same behaviour. I think this is some kind of conter measure to avoid too many requests to their server. The solution is to switch to websockets (pushing mode instead of polling). Some more work to do.... If this works all the time with Python 3.12, let's hope that HA team will send this new release soon

maverik80 commented 7 months ago

thank you very much for your work, I read that with 2024.2 we move to python 3.12, I'm waiting for the official update

slingshot74 commented 7 months ago

Thanks for all the work @albaintor New version of HA might fix it.

dave-prosee commented 7 months ago

Same here. Docker distro with Python 3.11 keeps giving "NoneType is not iterable". On my Mac (git clone, python 3.11) it works, but still with File "/Users/daveprosee/Documents/python/core/config/custom_components/electrolux_status/select.py", line 60, in current_option label = list(self.options_list.keys())[list(self.options_list.values()).index(value)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: 'ON' is not in list Maybe something to keep in mind.