core: Slimproto integration does not discover/add Squeezebox Boom

The problem

I’m trying to migrate from Logitech Media Server to Slimproto to reduce the need for an additional addon. When enabling the Slimproto integration, it is setup immediately indicating it was successful, however the device is not added. A few notes that may be helpful:

  • I removed the Logitech Media Server Add-On and restarted before installing the Slimproto integration
  • I factory reset my Squeezebox Boom
  • The Squeezebox is on the same network as Home Assistant
  • Auto-discovery works for other integrations

When restarting Home Assistant i do see the logs i’ve included below.

What version of Home Assistant Core has the issue?

2022.6.7

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

slimproto

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: aioslimproto.discovery
Source: /usr/local/lib/python3.9/site-packages/aioslimproto/discovery.py:210
First occurred: 1:05:26 PM (1 occurrences)
Last logged: 1:05:26 PM

'utf-8' codec can't decode byte 0xa7 in position 16: invalid start byte
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/aioslimproto/discovery.py", line 202, in datagram_received
    data = data.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa7 in position 16: invalid start byte

and…

Logger: homeassistant.components.media_player
Source: components/slimproto/media_player.py:104
Integration: Media player (documentation, issues)
First occurred: 1:05:29 PM (1 occurrences)
Last logged: 1:05:29 PM

Error while setting up slimproto platform for media_player
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/src/homeassistant/homeassistant/components/slimproto/media_player.py", line 71, in async_setup_entry
    await asyncio.gather(*(async_add_player(player) for player in slimserver.players))
  File "/usr/src/homeassistant/homeassistant/components/slimproto/media_player.py", line 55, in async_add_player
    async_add_entities([SlimProtoPlayer(slimserver, player)])
  File "/usr/src/homeassistant/homeassistant/components/slimproto/media_player.py", line 104, in __init__
    if "-pCP" in self.player.firmware or self.player.device_model == "SqueezeESP32":
TypeError: argument of type 'NoneType' is not iterable



### Additional information

_No response_

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

Like I said above. I will provide a fix soon. The cause of the issue is all clear. Just need to find some time to PR the patch. Maybe later today or tomorrow. Thanks for the patience.

To add to this, i’ve also noticed that even aver re-booting, Home Assistant is ‘discovering’ a Logitech Media Server (with the ip of HA) which doesn’t exist (I’ve confirmed the container is not running in HomeAssistant or otherwise on my network): image

I have the same problem. No matter how I try to disable/remove the Squeezebox (Logitech Media Server) integration it appears again and I’m not able to connect to SlimProto (I have tried Squeezebox Radio, Squeezebox Duet).

Yes, it can handle multiple devices but I have never tried it with a SB Boom. I will put a few guard in the code and provide a new version soon.