mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 02:37:08 +00:00
Store devolo_home_network flow data in flow handler attributes (#127169)
This commit is contained in:
parent
825bce32b5
commit
eb1fe93a59
@ -12,7 +12,7 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant.components import zeroconf
|
from homeassistant.components import zeroconf
|
||||||
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
|
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
|
||||||
from homeassistant.const import CONF_HOST, CONF_IP_ADDRESS, CONF_NAME, CONF_PASSWORD
|
from homeassistant.const import CONF_IP_ADDRESS, CONF_NAME, CONF_PASSWORD
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.httpx_client import get_async_client
|
from homeassistant.helpers.httpx_client import get_async_client
|
||||||
|
|
||||||
@ -48,6 +48,8 @@ class DevoloHomeNetworkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
|
|
||||||
VERSION = 1
|
VERSION = 1
|
||||||
|
|
||||||
|
host: str
|
||||||
|
|
||||||
async def async_step_user(
|
async def async_step_user(
|
||||||
self, user_input: dict[str, Any] | None = None
|
self, user_input: dict[str, Any] | None = None
|
||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
@ -88,7 +90,7 @@ class DevoloHomeNetworkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
updates={CONF_IP_ADDRESS: discovery_info.host}
|
updates={CONF_IP_ADDRESS: discovery_info.host}
|
||||||
)
|
)
|
||||||
|
|
||||||
self.context[CONF_HOST] = discovery_info.host
|
self.host = discovery_info.host
|
||||||
self.context["title_placeholders"] = {
|
self.context["title_placeholders"] = {
|
||||||
PRODUCT: discovery_info.properties["Product"],
|
PRODUCT: discovery_info.properties["Product"],
|
||||||
CONF_NAME: discovery_info.hostname.split(".")[0],
|
CONF_NAME: discovery_info.hostname.split(".")[0],
|
||||||
@ -103,7 +105,7 @@ class DevoloHomeNetworkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
title = self.context["title_placeholders"][CONF_NAME]
|
title = self.context["title_placeholders"][CONF_NAME]
|
||||||
if user_input is not None:
|
if user_input is not None:
|
||||||
data = {
|
data = {
|
||||||
CONF_IP_ADDRESS: self.context[CONF_HOST],
|
CONF_IP_ADDRESS: self.host,
|
||||||
CONF_PASSWORD: "",
|
CONF_PASSWORD: "",
|
||||||
}
|
}
|
||||||
return self.async_create_entry(title=title, data=data)
|
return self.async_create_entry(title=title, data=data)
|
||||||
@ -117,7 +119,7 @@ class DevoloHomeNetworkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Handle reauthentication."""
|
"""Handle reauthentication."""
|
||||||
if entry := self.hass.config_entries.async_get_entry(self.context["entry_id"]):
|
if entry := self.hass.config_entries.async_get_entry(self.context["entry_id"]):
|
||||||
self.context[CONF_HOST] = entry_data[CONF_IP_ADDRESS]
|
self.host = entry_data[CONF_IP_ADDRESS]
|
||||||
self.context["title_placeholders"][PRODUCT] = (
|
self.context["title_placeholders"][PRODUCT] = (
|
||||||
entry.runtime_data.device.product
|
entry.runtime_data.device.product
|
||||||
)
|
)
|
||||||
@ -139,7 +141,7 @@ class DevoloHomeNetworkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
assert reauth_entry is not None
|
assert reauth_entry is not None
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
CONF_IP_ADDRESS: self.context[CONF_HOST],
|
CONF_IP_ADDRESS: self.host,
|
||||||
CONF_PASSWORD: user_input[CONF_PASSWORD],
|
CONF_PASSWORD: user_input[CONF_PASSWORD],
|
||||||
}
|
}
|
||||||
return self.async_update_reload_and_abort(reauth_entry, data=data)
|
return self.async_update_reload_and_abort(reauth_entry, data=data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user