diff --git a/homeassistant/components/isy994/config_flow.py b/homeassistant/components/isy994/config_flow.py index 413d0689b6e..60e69f73cef 100644 --- a/homeassistant/components/isy994/config_flow.py +++ b/homeassistant/components/isy994/config_flow.py @@ -10,8 +10,7 @@ from pyisy.connection import Connection import voluptuous as vol from homeassistant import config_entries, core, data_entry_flow, exceptions -from homeassistant.components import ssdp -from homeassistant.components.dhcp import HOSTNAME, IP_ADDRESS, MAC_ADDRESS +from homeassistant.components import dhcp, ssdp from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PASSWORD, CONF_USERNAME from homeassistant.core import callback from homeassistant.helpers import aiohttp_client @@ -184,16 +183,18 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): ) raise data_entry_flow.AbortFlow("already_configured") - async def async_step_dhcp(self, discovery_info): + async def async_step_dhcp( + self, discovery_info: dhcp.DhcpServiceInfo + ) -> data_entry_flow.FlowResult: """Handle a discovered isy994 via dhcp.""" - friendly_name = discovery_info[HOSTNAME] - url = f"http://{discovery_info[IP_ADDRESS]}" - mac = discovery_info[MAC_ADDRESS] + friendly_name = discovery_info[dhcp.HOSTNAME] + url = f"http://{discovery_info[dhcp.IP_ADDRESS]}" + mac = discovery_info[dhcp.MAC_ADDRESS] 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[IP_ADDRESS], None + isy_mac, discovery_info[dhcp.IP_ADDRESS], None ) self.discovered_conf = { diff --git a/tests/components/isy994/test_config_flow.py b/tests/components/isy994/test_config_flow.py index 62a779293be..c2853454327 100644 --- a/tests/components/isy994/test_config_flow.py +++ b/tests/components/isy994/test_config_flow.py @@ -485,11 +485,11 @@ async def test_form_dhcp(hass: HomeAssistant): result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": SOURCE_DHCP}, - data={ - dhcp.IP_ADDRESS: "1.2.3.4", - dhcp.HOSTNAME: "isy994-ems", - dhcp.MAC_ADDRESS: MOCK_MAC, - }, + data=dhcp.DhcpServiceInfo( + ip="1.2.3.4", + hostname="isy994-ems", + macaddress=MOCK_MAC, + ), ) assert result["type"] == data_entry_flow.RESULT_TYPE_FORM assert result["step_id"] == "user" @@ -529,11 +529,11 @@ async def test_form_dhcp_existing_entry(hass: HomeAssistant): result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": SOURCE_DHCP}, - data={ - dhcp.IP_ADDRESS: "1.2.3.4", - dhcp.HOSTNAME: "isy994-ems", - dhcp.MAC_ADDRESS: MOCK_MAC, - }, + data=dhcp.DhcpServiceInfo( + ip="1.2.3.4", + hostname="isy994-ems", + macaddress=MOCK_MAC, + ), ) await hass.async_block_till_done() @@ -559,11 +559,11 @@ async def test_form_dhcp_existing_entry_preserves_port(hass: HomeAssistant): result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": SOURCE_DHCP}, - data={ - dhcp.IP_ADDRESS: "1.2.3.4", - dhcp.HOSTNAME: "isy994-ems", - dhcp.MAC_ADDRESS: MOCK_MAC, - }, + data=dhcp.DhcpServiceInfo( + ip="1.2.3.4", + hostname="isy994-ems", + macaddress=MOCK_MAC, + ), ) await hass.async_block_till_done()