Use dataclass properties in isy994 discovery (#60715)
Co-authored-by: epenet <epenet@users.noreply.github.com>pull/60814/head
parent
3eba575fde
commit
92b149fffe
|
@ -187,15 +187,13 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
self, discovery_info: dhcp.DhcpServiceInfo
|
||||
) -> data_entry_flow.FlowResult:
|
||||
"""Handle a discovered isy994 via dhcp."""
|
||||
friendly_name = discovery_info[dhcp.HOSTNAME]
|
||||
url = f"http://{discovery_info[dhcp.IP_ADDRESS]}"
|
||||
mac = discovery_info[dhcp.MAC_ADDRESS]
|
||||
friendly_name = discovery_info.hostname
|
||||
url = f"http://{discovery_info.ip}"
|
||||
mac = discovery_info.macaddress
|
||||
isy_mac = (
|
||||
f"{mac[0:2]}:{mac[2:4]}:{mac[4:6]}:{mac[6:8]}:{mac[8:10]}:{mac[10:12]}"
|
||||
)
|
||||
await self._async_set_unique_id_or_update(
|
||||
isy_mac, discovery_info[dhcp.IP_ADDRESS], None
|
||||
)
|
||||
await self._async_set_unique_id_or_update(isy_mac, discovery_info.ip, None)
|
||||
|
||||
self.discovered_conf = {
|
||||
CONF_NAME: friendly_name,
|
||||
|
@ -205,12 +203,14 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
self.context["title_placeholders"] = self.discovered_conf
|
||||
return await self.async_step_user()
|
||||
|
||||
async def async_step_ssdp(self, discovery_info):
|
||||
async def async_step_ssdp(
|
||||
self, discovery_info: ssdp.SsdpServiceInfo
|
||||
) -> data_entry_flow.FlowResult:
|
||||
"""Handle a discovered isy994."""
|
||||
friendly_name = discovery_info[ssdp.ATTR_UPNP_FRIENDLY_NAME]
|
||||
url = discovery_info[ssdp.ATTR_SSDP_LOCATION]
|
||||
friendly_name = discovery_info.upnp[ssdp.ATTR_UPNP_FRIENDLY_NAME]
|
||||
url = discovery_info.ssdp_location
|
||||
parsed_url = urlparse(url)
|
||||
mac = discovery_info[ssdp.ATTR_UPNP_UDN]
|
||||
mac = discovery_info.upnp[ssdp.ATTR_UPNP_UDN]
|
||||
if mac.startswith(UDN_UUID_PREFIX):
|
||||
mac = mac[len(UDN_UUID_PREFIX) :]
|
||||
if url.endswith(ISY_URL_POSTFIX):
|
||||
|
|
Loading…
Reference in New Issue