Use DhcpServiceInfo in isy994 (#59982)

Co-authored-by: epenet <epenet@users.noreply.github.com>
pull/60013/head
epenet 2021-11-19 15:14:25 +01:00 committed by GitHub
parent 982f2065c8
commit 14d4a9a69d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 22 deletions

View File

@ -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 = {

View File

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