From 416976dd39d72e96c35ddf64bd2a1ef076db2e9a Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 30 Nov 2021 11:03:08 +0100 Subject: [PATCH] Use dataclass properties in esphome discovery (#60606) Co-authored-by: epenet --- homeassistant/components/esphome/config_flow.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/esphome/config_flow.py b/homeassistant/components/esphome/config_flow.py index 94c1f80a5e4..b73743ee950 100644 --- a/homeassistant/components/esphome/config_flow.py +++ b/homeassistant/components/esphome/config_flow.py @@ -143,22 +143,20 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN): ) -> FlowResult: """Handle zeroconf discovery.""" # Hostname is format: livingroom.local. - local_name = discovery_info[zeroconf.ATTR_HOSTNAME][:-1] + local_name = discovery_info.hostname[:-1] node_name = local_name[: -len(".local")] - address = discovery_info[zeroconf.ATTR_PROPERTIES].get("address", local_name) + address = discovery_info.properties.get("address", local_name) # Check if already configured await self.async_set_unique_id(node_name) - self._abort_if_unique_id_configured( - updates={CONF_HOST: discovery_info[zeroconf.ATTR_HOST]} - ) + self._abort_if_unique_id_configured(updates={CONF_HOST: discovery_info.host}) for entry in self._async_current_entries(): already_configured = False if CONF_HOST in entry.data and entry.data[CONF_HOST] in ( address, - discovery_info[zeroconf.ATTR_HOST], + discovery_info.host, ): # Is this address or IP address already configured? already_configured = True @@ -177,15 +175,15 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN): entry, data={ **entry.data, - CONF_HOST: discovery_info[zeroconf.ATTR_HOST], + CONF_HOST: discovery_info.host, }, unique_id=node_name, ) return self.async_abort(reason="already_configured") - self._host = discovery_info[zeroconf.ATTR_HOST] - self._port = discovery_info[zeroconf.ATTR_PORT] + self._host = discovery_info.host + self._port = discovery_info.port self._name = node_name return await self.async_step_discovery_confirm()