mirror of
https://github.com/home-assistant/core.git
synced 2025-07-12 07:47:08 +00:00
Use dataclass properties in tesla_wall_connector discovery (#60741)
Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
parent
3d5f4e54ea
commit
a3cccb50c7
@ -9,7 +9,7 @@ from tesla_wall_connector.exceptions import WallConnectorError
|
|||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
from homeassistant.components.dhcp import IP_ADDRESS
|
from homeassistant.components import dhcp
|
||||||
from homeassistant.const import CONF_HOST
|
from homeassistant.const import CONF_HOST
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.data_entry_flow import FlowResult
|
from homeassistant.data_entry_flow import FlowResult
|
||||||
@ -45,12 +45,12 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
"""Initialize config flow."""
|
"""Initialize config flow."""
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.ip_address = None
|
self.ip_address: str | None = None
|
||||||
self.serial_number = None
|
self.serial_number = None
|
||||||
|
|
||||||
async def async_step_dhcp(self, discovery_info) -> FlowResult:
|
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> FlowResult:
|
||||||
"""Handle dhcp discovery."""
|
"""Handle dhcp discovery."""
|
||||||
self.ip_address = discovery_info[IP_ADDRESS]
|
self.ip_address = discovery_info.ip
|
||||||
_LOGGER.debug("Discovered Tesla Wall Connector at [%s]", self.ip_address)
|
_LOGGER.debug("Discovered Tesla Wall Connector at [%s]", self.ip_address)
|
||||||
|
|
||||||
self._async_abort_entries_match({CONF_HOST: self.ip_address})
|
self._async_abort_entries_match({CONF_HOST: self.ip_address})
|
||||||
|
@ -4,7 +4,7 @@ from unittest.mock import patch
|
|||||||
from tesla_wall_connector.exceptions import WallConnectorConnectionError
|
from tesla_wall_connector.exceptions import WallConnectorConnectionError
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
from homeassistant.components.dhcp import HOSTNAME, IP_ADDRESS, MAC_ADDRESS
|
from homeassistant.components import dhcp
|
||||||
from homeassistant.components.tesla_wall_connector.const import DOMAIN
|
from homeassistant.components.tesla_wall_connector.const import DOMAIN
|
||||||
from homeassistant.const import CONF_HOST
|
from homeassistant.const import CONF_HOST
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
@ -112,11 +112,11 @@ async def test_dhcp_can_finish(
|
|||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
context={"source": config_entries.SOURCE_DHCP},
|
context={"source": config_entries.SOURCE_DHCP},
|
||||||
data={
|
data=dhcp.DhcpServiceInfo(
|
||||||
HOSTNAME: "teslawallconnector_abc",
|
hostname="teslawallconnector_abc",
|
||||||
IP_ADDRESS: "1.2.3.4",
|
ip="1.2.3.4",
|
||||||
MAC_ADDRESS: "DC:44:27:12:12",
|
macaddress="DC:44:27:12:12",
|
||||||
},
|
),
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
@ -143,11 +143,11 @@ async def test_dhcp_already_exists(mock_wall_connector_version, hass):
|
|||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
context={"source": config_entries.SOURCE_DHCP},
|
context={"source": config_entries.SOURCE_DHCP},
|
||||||
data={
|
data=dhcp.DhcpServiceInfo(
|
||||||
HOSTNAME: "teslawallconnector_aabbcc",
|
hostname="teslawallconnector_aabbcc",
|
||||||
IP_ADDRESS: "1.2.3.4",
|
ip="1.2.3.4",
|
||||||
MAC_ADDRESS: "aa:bb:cc:dd:ee:ff",
|
macaddress="aa:bb:cc:dd:ee:ff",
|
||||||
},
|
),
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
@ -165,11 +165,11 @@ async def test_dhcp_error_from_wall_connector(mock_wall_connector_version, hass)
|
|||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
context={"source": config_entries.SOURCE_DHCP},
|
context={"source": config_entries.SOURCE_DHCP},
|
||||||
data={
|
data=dhcp.DhcpServiceInfo(
|
||||||
HOSTNAME: "teslawallconnector_aabbcc",
|
hostname="teslawallconnector_aabbcc",
|
||||||
IP_ADDRESS: "1.2.3.4",
|
ip="1.2.3.4",
|
||||||
MAC_ADDRESS: "aa:bb:cc:dd:ee:ff",
|
macaddress="aa:bb:cc:dd:ee:ff",
|
||||||
},
|
),
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user