From 8a2dccddc55727929d5c173273218a8b31081ca0 Mon Sep 17 00:00:00 2001 From: peteS-UK <64092177+peteS-UK@users.noreply.github.com> Date: Mon, 23 Sep 2024 15:59:22 +0100 Subject: [PATCH] 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 --- homeassistant/components/squeezebox/media_player.py | 12 ++++++++++++ tests/components/squeezebox/conftest.py | 1 + .../squeezebox/snapshots/test_media_player.ambr | 4 ++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/squeezebox/media_player.py b/homeassistant/components/squeezebox/media_player.py index 610cb28d9ee..54cb07cafaf 100644 --- a/homeassistant/components/squeezebox/media_player.py +++ b/homeassistant/components/squeezebox/media_player.py @@ -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 diff --git a/tests/components/squeezebox/conftest.py b/tests/components/squeezebox/conftest.py index 9c8201cfbca..2a8c4aacbd3 100644 --- a/tests/components/squeezebox/conftest.py +++ b/tests/components/squeezebox/conftest.py @@ -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 diff --git a/tests/components/squeezebox/snapshots/test_media_player.ambr b/tests/components/squeezebox/snapshots/test_media_player.ambr index cac53d9a5af..ddd5b9868a1 100644 --- a/tests/components/squeezebox/snapshots/test_media_player.ambr +++ b/tests/components/squeezebox/snapshots/test_media_player.ambr @@ -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,