Giter Club home page Giter Club logo

Comments (11)

home-assistant avatar home-assistant commented on September 13, 2024

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

Code owner commands

Code owners of sonos 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 sonos 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)


sonos documentation
sonos source
(message by IssueLinks)

from core.

PeteRager avatar PeteRager commented on September 13, 2024

Upgrade to current version, there is no support for older version.

Enable debug logging and attach the home-assistant.log

Attach the diagnostics file.

Provide timestamps at which point you are performing certain actions, what resulted and what was expected so it can be correlated with the log file.

from core.

dennyhle avatar dennyhle commented on September 13, 2024

I've upgraded to 2024.6.4.

Diagnostics and debug log attached.

The IP address of my bedroom speaker if it is relevant is 192.168.4.92.

At 13:06, I hit 'play' in my Sonos app on my bedroom Sonos speaker. The speaker is playing music but media_player.bedroom state is shown as unchanged (paused). I expect it to be playing.

If I restart my Sonos integration it will work as expected. Steps I can do to reproduce the problem:

  1. After fresh restart of Sonos integration, I press play on my Sonos app in the bedroom speaker. I will see the correct media_player.bedroom entity playing.
  2. I press the 'Bedroom' button at the bottom of my Sonos app screen to bring up the speaker select menu. I uncheck bedroom. I check guest bathroom, I hit apply.

I can reproduce problems 100% of the time when switching speakers in this way. Sometimes entities get 'crossed' like I'll play music in my bedroom only and the entity for the bathroom shows as playing, etc. If instead I select speakers in the 'Your System' and then choose music, it does not seem to cause any problems. Again, this only started happening after the new Sonos app update.

home-assistant_2024-06-22T20-22-18.977Z.log

config_entry-sonos-76349255b998bc2630d95e96e18abb60.json

from core.

jjlawren avatar jjlawren commented on September 13, 2024

It's a long shot, but the only time I've experienced "crossed" speakers was when I accidentally (and somehow?) assigned the same reserved DHCP IP to multiple speakers.

from core.

bartbakels avatar bartbakels commented on September 13, 2024

I encounter same issues

from core.

PeteRager avatar PeteRager commented on September 13, 2024

I can reproduce the problem as described. In order to recover I have to restart HA, reloading the integration did not work for me. I also see a similar behavior with the app, where I have to reload it to get the right state.

In your log there are alot of these messages:

 Duplicate ZGS received from 192.168.4.92 (event), ignoring
	Line  321: 2024-06-22 13:06:04.526 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.128 (event), ignoring
	Line  333: 2024-06-22 13:06:04.705 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.131 (event), ignoring
	Line  341: 2024-06-22 13:06:04.778 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.7 (event), ignoring
	Line  356: 2024-06-22 13:06:05.043 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.92 (event), ignoring
	Line  378: 2024-06-22 13:06:05.318 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.139 (event), ignoring
	Line  382: 2024-06-22 13:06:05.354 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.128 (event), ignoring
	Line  386: 2024-06-22 13:06:05.395 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.90 (event), ignoring
	Line  390: 2024-06-22 13:06:05.431 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.165 (event), ignoring
	Line  394: 2024-06-22 13:06:05.541 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.45 (event), ignoring
	Line  398: 2024-06-22 13:06:05.590 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.131 (event), ignoring
	Line  402: 2024-06-22 13:06:05.601 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.7 (event), ignoring
	Line  409: 2024-06-22 13:06:05.882 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.129 (event), ignoring
	Line  461: 2024-06-22 13:06:57.416 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.128 (event), ignoring
	Line  465: 2024-06-22 13:06:57.592 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.131 (event), ignoring
	Line  472: 2024-06-22 13:06:57.673 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.90 (event), ignoring
	Line  476: 2024-06-22 13:06:57.707 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.129 (event), ignoring
	Line  480: 2024-06-22 13:06:57.713 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.7 (event), ignoring
	Line  484: 2024-06-22 13:06:57.714 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.45 (event), ignoring
	Line  488: 2024-06-22 13:06:57.760 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.165 (event), ignoring
	Line  492: 2024-06-22 13:06:57.893 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.92 (event), ignoring
	Line  496: 2024-06-22 13:06:57.909 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.236 (event), ignoring
	Line  504: 2024-06-22 13:06:58.246 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.128 (event), ignoring
	Line  508: 2024-06-22 13:06:58.421 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.131 (event), ignoring
	Line  512: 2024-06-22 13:06:58.489 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.45 (event), ignoring
	Line  516: 2024-06-22 13:06:58.504 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.90 (event), ignoring
	Line  520: 2024-06-22 13:06:58.536 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.7 (event), ignoring
	Line  524: 2024-06-22 13:06:58.550 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.165 (event), ignoring
	Line  528: 2024-06-22 13:06:58.552 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.129 (event), ignoring
	Line  532: 2024-06-22 13:06:58.686 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.92 (event), ignoring
	Line  536: 2024-06-22 13:06:58.773 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.236 (event), ignoring
	Line  598: 2024-06-22 13:08:49.014 DEBUG (MainThread) [soco.zonegroupstate] Duplicate ZGS received from 192.168.4.139 (event), ignoring

I find that the Soco Library (used by the integration) still retains state between reloads of the integration. Restarting HA is the best way to get to a clean slate. Similarly, I've had to delete the integration and then re-add it. Since I don't change any of the entity ids this is also a good way to get back to a clean state.

from core.

PeteRager avatar PeteRager commented on September 13, 2024

I encounter same issues

Please provide the debug information.

from core.

PeteRager avatar PeteRager commented on September 13, 2024

I have been looking at this. The group management code in speaker.py is complicated. So it is possible the bug is in that code. What would be helpful is to rerun your test. I'd like you to do this:

a) After fresh restart of Sonos integration, I press play on my Sonos app in the bedroom speaker. I will see the correct media_player.bedroom entity playing.
b) grab the diagnostics
c) I press the 'Bedroom' button at the bottom of my Sonos app screen to bring up the speaker select menu. I uncheck bedroom. I check guest bathroom, I hit apply.
d) grab the diagnostics
e) reload the integration
f) grab the diagnostics

The diagnostics file contain the membership information on the zone grouping. Having the three files will allow for a quick compare between d and f to see what is different and give me some insite into where to start debugging futher.

from core.

PeteRager avatar PeteRager commented on September 13, 2024

I can now reproduce this in the debugger. However, if I have breakpoints on the events; then the system works fine. However; withouth breakpoint it gets in a confused state. Starting to look like a race condition. I've also verified that when running in Polling Mode it works fine.

from core.

dennyhle avatar dennyhle commented on September 13, 2024

Attached are the diagnostics below:
a. After fresh restart.
b. After switching switching from bedroom to guest bathroom, I grabbed the diagnostics. I then played some music in my bedroom on Sonos app and the media entity for both my bedroom and my family room was playing at the same time in home assistant.
c. Reload integration

IP Addresses:
Bedroom: 192.168.4.92
Family Room: 192.168.4.131
Guest Bathroom: 192.168.4.128

c.json
b.json
a.json

from core.

bartbakels avatar bartbakels commented on September 13, 2024

Seems resolved for me after latest supervisor update

from core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.