music-assistant / hass-music-assistant

Turn your Home Assistant instance into a jukebox, hassle free streaming of your favorite media to Home Assistant media players.
Apache License 2.0
1.39k stars 51 forks source link

Squeezebox `invalid decoder` #1222

Closed meichthys closed 1 year ago

meichthys commented 1 year ago

What version of Music Assistant has the issue?

2.0

The problem

I've confirmed that i do not have Logitech Media Server installed on my network. I've confirmed that i do not have slimproto or similar integration enabled in HomeAssistant

I receive an invalid decoder error on my Squeezebox Boom when trying to connect to MA 2.0 I do see the squeezebox show up as a player in MA2.0

How to reproduce

Setup Squeezebox Boom to connect to MA2.0 Try to play music through Squeezebox via MA2.0

Relevant log output

No response

Additional information

No response

What version of Home Assistant Core are your running

2023.4

What type of installation are you running?

Home Assistant OS

On what type of hardware are you running?

Linux

OzGav commented 1 year ago

Please include the relevant MA log as well

meichthys commented 1 year ago

It seems like it is related to this: https://github.com/home-assistant-libs/aioslimproto/issues/50 Perhaps a regression?

MA logs:

2023-04-27 00:28:10 INFO  music_assistant  -- Starting Music Assistant Server (2317823eed70f4230a667f82341dd1afc) - autodetected IP-address: 10.0.4.4
2023-04-27 00:28:10 INFO  music_assistant.web  -- Starting webserver on port 8095
2023-04-27 00:28:11 INFO  music_assistant.streams  -- Started stream controller (using ffmpeg version 4.3.5 with libsoxr support)
2023-04-27 00:28:11 INFO  music_assistant.providers.lms_cli  -- Registering jsonrpc endpoints on the webserver
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded player provider UPnP/DLNA Player provider
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded player provider SONOS
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded metadata provider MusicBrainz Metadata provider
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded music provider URL
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded metadata provider fanart.tv Metadata provider
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded metadata provider TheAudioDB Metadata provider
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded plugin provider Websocket API
2023-04-27 00:28:11 WARNING music_assistant.providers.tunein  -- Emailadress detected instead of username, it is advised to use the tunein username instead of email.
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded music provider Tune-In Radio
2023-04-27 00:28:11 INFO  music_assistant.providers.lms_cli  -- Starting (telnet) CLI on port 9090
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded player provider Chromecast
2023-04-27 00:28:11 INFO  music_assistant  -- Loaded plugin provider LMS CLI
2023-04-27 00:28:12 INFO  music_assistant.providers.slimproto  -- Starting SLIMProto server on port 3483
2023-04-27 00:28:12 INFO  music_assistant  -- Loaded player provider Slimproto
2023-04-27 00:28:12 INFO  music_assistant  -- Loaded player provider Airplay
2023-04-27 00:28:12 INFO  music_assistant  -- Loaded music provider RadioBrowser
2023-04-27 00:28:13 WARNING asyncio  -- Executing <Task finished name='Task-2' coro=<run.<locals>.new_coro() done, defined at /usr/local/lib/python3.11/site-packages/aiorun.py:227> result=None> took 0.810 seconds
2023-04-27 00:28:13 ERROR aioslimproto.discovery  -- Error occured while trying to parse a datagram from ('10.0.4.30', 3483) - data: b'd\x00\n9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04 \x1e\xa7\\'
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aioslimproto/discovery.py", line 205, in datagram_received
    dgram = Datagram.decode(data)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aioslimproto/discovery.py", line 42, in decode
    return ClientDiscoveryDatagram(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aioslimproto/discovery.py", line 62, in __init__
    msg = struct.unpack("!cxBB8x6B", data.encode())
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
struct.error: unpack requires a buffer of 18 bytes
2023-04-27 00:28:16 INFO  music_assistant.players  -- Player registered: 00:04:20:11:a5:4c/boom: 00:04:20:1a:a5:4c
OzGav commented 1 year ago

@marcelveldt thoughts?

marcelveldt commented 1 year ago

This should be fixed in beta36

OzGav commented 1 year ago

Closing assumed fixed pending further info