mirror of
https://github.com/home-assistant/core.git
synced 2025-07-07 13:27:09 +00:00
Make name a top-level key for SSDP discovery WebSocket API (#143923)
This commit is contained in:
parent
c562cba030
commit
4b6fa12925
@ -10,7 +10,10 @@ import voluptuous as vol
|
||||
from homeassistant.components import websocket_api
|
||||
from homeassistant.core import HassJob, HomeAssistant, callback
|
||||
from homeassistant.helpers.json import json_bytes
|
||||
from homeassistant.helpers.service_info.ssdp import SsdpServiceInfo
|
||||
from homeassistant.helpers.service_info.ssdp import (
|
||||
ATTR_UPNP_FRIENDLY_NAME,
|
||||
SsdpServiceInfo,
|
||||
)
|
||||
|
||||
from .const import DOMAIN, SSDP_SCANNER
|
||||
from .scanner import Scanner, SsdpChange
|
||||
@ -47,7 +50,13 @@ async def ws_subscribe_discovery(
|
||||
@callback
|
||||
def _async_on_data(info: SsdpServiceInfo, change: SsdpChange) -> None:
|
||||
if change is not SsdpChange.BYEBYE:
|
||||
_async_event_message({"add": [asdict(info)]})
|
||||
_async_event_message(
|
||||
{
|
||||
"add": [
|
||||
{"name": info.upnp.get(ATTR_UPNP_FRIENDLY_NAME), **asdict(info)}
|
||||
]
|
||||
}
|
||||
)
|
||||
return
|
||||
remove_msg = {
|
||||
FIELD_SSDP_ST: info.ssdp_st,
|
||||
|
@ -29,6 +29,7 @@ async def test_subscribe_discovery(
|
||||
<root>
|
||||
<device>
|
||||
<deviceType>Paulus</deviceType>
|
||||
<friendlyName>Bedroom TV</friendlyName>
|
||||
</device>
|
||||
</root>
|
||||
""",
|
||||
@ -80,7 +81,12 @@ async def test_subscribe_discovery(
|
||||
"ssdp_st": "mock-st",
|
||||
"ssdp_udn": "uuid:mock-udn",
|
||||
"ssdp_usn": "uuid:mock-udn::mock-st",
|
||||
"upnp": {"UDN": "uuid:mock-udn", "deviceType": "Paulus"},
|
||||
"upnp": {
|
||||
"UDN": "uuid:mock-udn",
|
||||
"deviceType": "Paulus",
|
||||
"friendlyName": "Bedroom TV",
|
||||
},
|
||||
"name": "Bedroom TV",
|
||||
"x_homeassistant_matching_domains": [],
|
||||
}
|
||||
]
|
||||
@ -119,7 +125,12 @@ async def test_subscribe_discovery(
|
||||
"ssdp_st": "upnp:rootdevice",
|
||||
"ssdp_udn": "uuid:mock-udn",
|
||||
"ssdp_usn": "uuid:mock-udn::mock-st",
|
||||
"upnp": {"UDN": "uuid:mock-udn", "deviceType": "Paulus"},
|
||||
"upnp": {
|
||||
"UDN": "uuid:mock-udn",
|
||||
"deviceType": "Paulus",
|
||||
"friendlyName": "Bedroom TV",
|
||||
},
|
||||
"name": "Bedroom TV",
|
||||
"x_homeassistant_matching_domains": ["mock-domain"],
|
||||
}
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user