albaintor / homeassistant_electrolux_status

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

Integration doesn't update states after a few hours #27

Closed tieskuh closed 6 months ago

tieskuh commented 6 months ago

Hi Albaintor,

After some time the integration stops updating the states of my appliances. It seems to happen overnight. No errors are raised and all sensors remain available. After reloading the integration, everything works as normal. I have tested it a couple of days in a row and it seems to be consistent and happening every day. Maybe the websocket times out and isn't recovered anymore? I don't really know what I can do to debug since there are no errors raised. Is there anything I can do to investigate? Are there other people experiencing the same problem?

EenerNL commented 6 months ago

I’m having the same issue.

albaintor commented 6 months ago

This is what I feared. There must be a sort of timeout on server's side and the client (HA) won't get notified I see no other option than renewing once a day the websocket

tieskuh commented 6 months ago

That sounds like a good solution to me. Maybe randomize the time a little bit or take the HA last boot time +x hours or so. Just to make sure not all clients renew the websocket at exactly the same time which the servers might not like.

tieskuh commented 6 months ago

Wow, that update came fast... Nice job!

tieskuh commented 6 months ago

The problem is not solved for me unfortunatly. Looking at the code change, do I understand correctly that the 12 hour interval is a configuration value? Because the configuration value isn't there. Or should I reinstall the integration?

image

albaintor commented 6 months ago

Hi,

the refresh delay is not configurable at this state, I could make it configurable though

EenerNL commented 6 months ago

Here the same.. the integration is freezing after some time.

I was not able to reload the integration. When I press “Reload” it’s showing me a pop-up with the text “Reboot Home Assistant to complete reloading the integration”. But when I reboot HA. The entities are unavailable again. Only thing I could do, is delete the integration and add it again.

In logs;


Logger: homeassistant.config_entries
Source: config_entries.py:605
First occurred: 15:49:40 (2 occurrences)
Last logged: 17:47:39

Error unloading entry ———-@———-.com for electrolux_status
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 605, in async_unload
    result = await component.async_unload_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/electrolux_status/__init__.py", line 211, in async_unload_entry
    await coordinator.close_websocket()
  File "/config/custom_components/electrolux_status/__init__.py", line 134, in close_websocket
    await self.renew_task.cancel()
TypeError: object bool can't be used in 'await' expression
tieskuh commented 6 months ago

That would be a nice feature, but in that case that doesn't seem to be related. My device is now on for around 6 hours but the sensors aren't updated in HA. I can leave the device on for a couple of more hours to see what happens after passing the 12 hours. But for now it doesn't update. Of course I haven't restarted the integration as a test to see if it comes back by itself.

slingshot74 commented 6 months ago

I have the same issue. No errors or something but no updates. Deleted the integration and added the integration again. After that the entities got updated again

tieskuh commented 6 months ago

@albaintor It still happens on v1.0.12. Overnight the integration stops updating. I even set the renewal interval lower but it doesn't seem to do anything. Is there anything I can do to check the renewal process? Is there a log entry when renewing the websocket? Let me know if there is anything I can do to help. The integration works flawless besides this.