home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.3k stars 30.61k forks source link

Squeezebox platform stops working in 0.98 #26429

Closed Spirituss closed 5 years ago

Spirituss commented 5 years ago

Home Assistant release with the issue:

0.98.2

Last working Home Assistant release (if known): 0.97.4

Operating environment (Hass.io/Docker/Windows/etc.):

Hass.io / Docker / Raspberry Buster

Component/platform:

https://www.home-assistant.io/components/squeezebox/

Description of problem: HA can't find my Squeezebox media players. I tried to restart HA many times with no effect. HA log contains only one error message: ERROR (MainThread) [homeassistant.components.squeezebox.media_player] Failed communicating with LMS: <class 'concurrent.futures._base.TimeoutError'>. I also tries to add scan_interval parameter, doesn't matter. It seems that the component makes only one try to connect LMS just after HA start. It is definitely not enough. It would be great to either make standard platform's tag scan_interval working as interval between LMS connection retry or add fully automated LMS rescan with reasonable periods.

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

media_player: 
  - platform: squeezebox 
    host: !secret squeezebox_ip 
    port: !secret squeezebox_port

Traceback (if applicable):

ERROR (MainThread) [homeassistant.components.squeezebox.media_player] Failed communicating with LMS: <class 'concurrent.futures._base.TimeoutError'>

Additional information: The component works in previous HA versions, but sometimes also lost LMS connection after one of HA restarts. Again, regular LMS connection retries needed as mentioned above.

mkono87 commented 5 years ago

Im afraid no help here but im running squeezebox and running 98.3 and having no issues.

Kdemontf commented 5 years ago

Spiritus, I am running 98.2 with Squeezebox with no issues. However I have had issues if the LMS server is running on the same hardware as HA, it errors on reboot like you are seeing. I have found the LMS server takes more than 20 seconds to be ready; HA starts quickly, and if HA does not see the LMS server when it tries to load it fails to set up the media player. I resolved it by adding a start delay of 30 seconds in the homeassistant service file in systemd; so as root user of the rpi: sudo nano /etc/systemd/system/home-assistant@homeassistant.service . Add ExecStartPre=-/bin/sleep 30 after [User] in file, hit ctrl + x keys, and y , enter, to save. Reboot. Not an elegant solution, and it would be nice if HA went back a minute or 2 later and rechecked any failed set-ups, but works for me, YMMV

Spirituss commented 5 years ago

I’m running LMS on separate server which is always on, so the problem is that HA tries to connect to LMS just after restart, but fails with timeout due to a lot of simultaneous tasks (“standard” errors “it took more than N seconds to start the service “ on Raspberry PI). And unreasonably doesn’t repeat tries to connect to LMS later. I suppose the guys who have not such problems use more powerful hardware for HA.

Spirituss commented 5 years ago

I’m on .99.2 now but HA still doesn’t see my lms players.

Spirituss commented 5 years ago

Still waiting for the fix, HA 0.99.3