diff --git a/homeassistant/components/isy994/config_flow.py b/homeassistant/components/isy994/config_flow.py index 60e69f73cef..7289f7d416e 100644 --- a/homeassistant/components/isy994/config_flow.py +++ b/homeassistant/components/isy994/config_flow.py @@ -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):