Add Model and Manufacturer details for Squeezebox devices (#126435)

* Add models and manufacturer

* Updates re: comments

* Updates for test

* Dedupe model

* Update homeassistant/components/squeezebox/media_player.py

* Change Squeezelite to SqueezeLite

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
This commit is contained in:
peteS-UK 2024-09-23 15:59:22 +01:00 committed by GitHub
parent 84f19f7216
commit 8a2dccddc5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 2 deletions

View file

@ -220,11 +220,23 @@ class SqueezeBoxEntity(MediaPlayerEntity):
self._query_result: bool | dict = {}
self._remove_dispatcher: Callable | None = None
self._attr_unique_id = format_mac(player.player_id)
_manufacturer = None
if player.model == "SqueezeLite" or "SqueezePlay" in player.model:
_manufacturer = "Ralph Irving"
elif (
"Squeezebox" in player.model
or "Transporter" in player.model
or "Slim" in player.model
):
_manufacturer = "Logitech"
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, self._attr_unique_id)},
name=player.name,
connections={(CONNECTION_NETWORK_MAC, self._attr_unique_id)},
via_device=(DOMAIN, server.uuid),
model=player.model,
manufacturer=_manufacturer,
)
@property

View file

@ -221,6 +221,7 @@ def mock_pysqueezebox_player(uuid: str) -> MagicMock:
mock_player.remote_title = None
mock_player.title = None
mock_player.image_url = None
mock_player.model = "SqueezeLite"
return mock_player

View file

@ -23,8 +23,8 @@
'is_new': False,
'labels': set({
}),
'manufacturer': 'https://lyrion.org/',
'model': 'Lyrion Music Server',
'manufacturer': 'Ralph Irving',
'model': 'SqueezeLite',
'model_id': None,
'name': 'Test Player',
'name_by_user': None,