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
71.17k stars 29.85k forks source link

Russound_Rio reconnect after power cycle amp #124996

Open horbye opened 2 weeks ago

horbye commented 2 weeks ago

The problem

After the amp has been turned off and later turned on again, HA has to be restarted or the integration has to be reloaded to reconnect the Russound_Rio entities.

What version of Home Assistant Core has the issue?

core-2024.8.0

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

russound_rio

Link to integration documentation on our website

https://www.home-assistant.io/integrations/russound_rio

Diagnostics information

home-assistant.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

Due to standby power consumption of the MCA-C5 (nearly 20W), I keep it turned off by a smartswitch, when it is not in use.

home-assistant[bot] commented 2 weeks ago

Hey there @noahhusby, mind taking a look at this issue as it has been labeled with an integration (russound_rio) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `russound_rio` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign russound_rio` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


russound_rio documentation russound_rio source (message by IssueLinks)

noahhusby commented 1 week ago

How much time are you giving the unit from power up to sending the first command?

horbye commented 1 week ago

That could be within a minute, it takes approx 30 seconds for it to boot up

noahhusby commented 4 days ago

Have you given it up to 15 minutes to reconnect? It's supposed to be pretty quick, but there is a cycle that occurs 15 minutes that might force a reconnection.

The reconnection will never be instant, but I might be able to make that cycle a configuration option that you can lower for your use-case.

horbye commented 2 days ago

Turned it off last night, and 20ish hours later, I turned it on and let it run 30 minutes. Nothing in the log about Russound for those 30 minutes.

These are the last logs from the integration:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiorussound/connection.py", line 147, in _ioloop
    response = net_future.result()
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/streams.py", line 568, in readline
    line = await self.readuntil(sep)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/streams.py", line 660, in readuntil
    await self._wait_for_data('readuntil')
  File "/usr/local/lib/python3.12/asyncio/streams.py", line 545, in _wait_for_data
    await self._waiter
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1003, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 113] Host is unreachable
2024-09-12 19:51:52.629 WARNING (MainThread) [homeassistant.components.russound_rio] Disconnected from controller at 192.168.16.250:9621
2024-09-12 19:51:52.633 DEBUG (MainThread) [aiorussound] Cancelling all tasks...
2024-09-12 19:51:52.633 WARNING (MainThread) [homeassistant.components.russound_rio] Disconnected from controller at 192.168.16.250:9621
2024-09-12 19:51:52.634 INFO (MainThread) [aiorussound] Retrying connection to Russound client in 5s
2024-09-12 19:51:57.635 INFO (MainThread) [aiorussound] Connecting to 192.168.16.250:9621

After that, nothing about russound_rio and only this error, which I amd not sure is related:

2024-09-13 08:59:08.040 WARNING (Thread-12 (_listen)) [homeconnect.sseclient] Exception while reading event: 
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/homeconnect/sseclient.py", line 82, in __next__
    next_chunk = next(self.resp_iterator)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
StopIteration

Sometimes the amp is left off for days and I noticed that reloading the interface does not work, HA has to be restarted

iprowell commented 2 days ago

I have the same issue. I have tried a number of things including re-starting the Russound integration when the amp is powered on. The only thing that seems to work reliably is to restart Home Assistant.

noahhusby commented 2 days ago

@horbye So that error was from around the time that you powered the unit off? If you open the logs, do you continue to see "Connecting to 192.168.16.250:9621" consistently?

horbye commented 2 days ago

Amp was turned off 19:32, this is all that was logged before and after

2024-09-12 19:29:51.712 DEBUG (MainThread) [aiorussound] Cache store S[2].songname = WE PRAY / Coldplay, Little Simz, Burna Boy, Elyanna, TINI 2024-09-12 19:36:25.710 DEBUG (MainThread) [aiorussound] Sending keep alive to device 2024-09-12 19:36:25.710 DEBUG (MainThread) [aiorussound] Sending command 'VERSION' to Russound client 2024-09-12 19:51:52.620 ERROR (MainThread) [aiorussound] Unhandled exception in IO loop Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/aiorussound/connection.py", line 147, in _ioloop response = net_future.result() ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/streams.py", line 568, in readline line = await self.readuntil(sep) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/streams.py", line 660, in readuntil await self._wait_for_data('readuntil') File "/usr/local/lib/python3.12/asyncio/streams.py", line 545, in _wait_for_data await self._waiter File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1003, in _read_ready__data_received data = self._sock.recv(self.max_size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OSError: [Errno 113] Host is unreachable 2024-09-12 19:51:52.629 WARNING (MainThread) [homeassistant.components.russound_rio] Disconnected from controller at 192.168.16.250:9621 2024-09-12 19:51:52.633 DEBUG (MainThread) [aiorussound] Cancelling all tasks... 2024-09-12 19:51:52.633 WARNING (MainThread) [homeassistant.components.russound_rio] Disconnected from controller at 192.168.16.250:9621 2024-09-12 19:51:52.634 INFO (MainThread) [aiorussound] Retrying connection to Russound client in 5s 2024-09-12 19:51:57.635 INFO (MainThread) [aiorussound] Connecting to 192.168.16.250:9621 2024-09-12 23:27:36.417 WARNING (MainThread) [custom_components.localtuya.common] [bfc...ds0] Disconnected - waiting for discovery broadcast

horbye commented 2 days ago

Between 19:51:57.635 and 23:27:36.417 nothing is logged