diff --git a/homeassistant/components/sonos/entity.py b/homeassistant/components/sonos/entity.py index dadec82a939..5730679dbd9 100644 --- a/homeassistant/components/sonos/entity.py +++ b/homeassistant/components/sonos/entity.py @@ -95,7 +95,10 @@ class SonosEntity(Entity): "name": self.speaker.zone_name, "model": self.speaker.model_name.replace("Sonos ", ""), "sw_version": self.speaker.version, - "connections": {(dr.CONNECTION_NETWORK_MAC, self.speaker.mac_address)}, + "connections": { + (dr.CONNECTION_NETWORK_MAC, self.speaker.mac_address), + (dr.CONNECTION_UPNP, f"uuid:{self.speaker.uid}"), + }, "manufacturer": "Sonos", "suggested_area": self.speaker.zone_name, } diff --git a/homeassistant/components/sonos/speaker.py b/homeassistant/components/sonos/speaker.py index 77bb5d0c869..b47d1444384 100644 --- a/homeassistant/components/sonos/speaker.py +++ b/homeassistant/components/sonos/speaker.py @@ -177,6 +177,7 @@ class SonosSpeaker: # Device information self.mac_address = speaker_info["mac_address"] self.model_name = speaker_info["model_name"] + self.uid = speaker_info["uid"] self.version = speaker_info["display_version"] self.zone_name = speaker_info["zone_name"] diff --git a/tests/components/sonos/conftest.py b/tests/components/sonos/conftest.py index b81934e2593..d970c8923ef 100644 --- a/tests/components/sonos/conftest.py +++ b/tests/components/sonos/conftest.py @@ -160,6 +160,7 @@ def speaker_info_fixture(): """Create speaker_info fixture.""" return { "zone_name": "Zone A", + "uid": "RINCON_test", "model_name": "Model Name", "software_version": "49.2-64250", "mac_address": "00-11-22-33-44-55", diff --git a/tests/components/sonos/test_media_player.py b/tests/components/sonos/test_media_player.py index 0e4af2071b2..4de0f37d333 100644 --- a/tests/components/sonos/test_media_player.py +++ b/tests/components/sonos/test_media_player.py @@ -77,7 +77,10 @@ async def test_device_registry(hass, config_entry, config, soco): ) assert reg_device.model == "Model Name" assert reg_device.sw_version == "13.1" - assert reg_device.connections == {(dr.CONNECTION_NETWORK_MAC, "00:11:22:33:44:55")} + assert reg_device.connections == { + (dr.CONNECTION_NETWORK_MAC, "00:11:22:33:44:55"), + (dr.CONNECTION_UPNP, "uuid:RINCON_test"), + } assert reg_device.manufacturer == "Sonos" assert reg_device.suggested_area == "Zone A" assert reg_device.name == "Zone A"