Use dataclass properties in isy994 discovery (#60715)

Co-authored-by: epenet <epenet@users.noreply.github.com>
pull/60814/head
epenet 2021-12-01 17:45:09 +01:00 committed by GitHub
parent 3eba575fde
commit 92b149fffe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 10 deletions

View File

@ -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):