mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Use new helper properties in crownstone options flow (#129774)
This commit is contained in:
parent
3a293c6bc4
commit
018acc0a3c
@ -143,7 +143,7 @@ class CrownstoneConfigFlowHandler(BaseCrownstoneFlowHandler, ConfigFlow, domain=
|
|||||||
config_entry: ConfigEntry,
|
config_entry: ConfigEntry,
|
||||||
) -> CrownstoneOptionsFlowHandler:
|
) -> CrownstoneOptionsFlowHandler:
|
||||||
"""Return the Crownstone options."""
|
"""Return the Crownstone options."""
|
||||||
return CrownstoneOptionsFlowHandler(config_entry)
|
return CrownstoneOptionsFlowHandler()
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
"""Initialize the flow."""
|
"""Initialize the flow."""
|
||||||
@ -210,21 +210,21 @@ class CrownstoneConfigFlowHandler(BaseCrownstoneFlowHandler, ConfigFlow, domain=
|
|||||||
class CrownstoneOptionsFlowHandler(BaseCrownstoneFlowHandler, OptionsFlow):
|
class CrownstoneOptionsFlowHandler(BaseCrownstoneFlowHandler, OptionsFlow):
|
||||||
"""Handle Crownstone options."""
|
"""Handle Crownstone options."""
|
||||||
|
|
||||||
def __init__(self, config_entry: ConfigEntry) -> None:
|
def __init__(self) -> None:
|
||||||
"""Initialize Crownstone options."""
|
"""Initialize Crownstone options."""
|
||||||
super().__init__(OPTIONS_FLOW, self.async_create_new_entry)
|
super().__init__(OPTIONS_FLOW, self.async_create_new_entry)
|
||||||
self.entry = config_entry
|
|
||||||
self.updated_options = config_entry.options.copy()
|
|
||||||
|
|
||||||
async def async_step_init(
|
async def async_step_init(
|
||||||
self, user_input: dict[str, Any] | None = None
|
self, user_input: dict[str, Any] | None = None
|
||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Manage Crownstone options."""
|
"""Manage Crownstone options."""
|
||||||
self.cloud: CrownstoneCloud = self.hass.data[DOMAIN][self.entry.entry_id].cloud
|
self.cloud: CrownstoneCloud = self.hass.data[DOMAIN][
|
||||||
|
self.config_entry.entry_id
|
||||||
|
].cloud
|
||||||
|
|
||||||
spheres = {sphere.name: sphere.cloud_id for sphere in self.cloud.cloud_data}
|
spheres = {sphere.name: sphere.cloud_id for sphere in self.cloud.cloud_data}
|
||||||
usb_path = self.entry.options.get(CONF_USB_PATH)
|
usb_path = self.config_entry.options.get(CONF_USB_PATH)
|
||||||
usb_sphere = self.entry.options.get(CONF_USB_SPHERE)
|
usb_sphere = self.config_entry.options.get(CONF_USB_SPHERE)
|
||||||
|
|
||||||
options_schema = vol.Schema(
|
options_schema = vol.Schema(
|
||||||
{vol.Optional(CONF_USE_USB_OPTION, default=usb_path is not None): bool}
|
{vol.Optional(CONF_USE_USB_OPTION, default=usb_path is not None): bool}
|
||||||
@ -243,14 +243,14 @@ class CrownstoneOptionsFlowHandler(BaseCrownstoneFlowHandler, OptionsFlow):
|
|||||||
if user_input[CONF_USE_USB_OPTION] and usb_path is None:
|
if user_input[CONF_USE_USB_OPTION] and usb_path is None:
|
||||||
return await self.async_step_usb_config()
|
return await self.async_step_usb_config()
|
||||||
if not user_input[CONF_USE_USB_OPTION] and usb_path is not None:
|
if not user_input[CONF_USE_USB_OPTION] and usb_path is not None:
|
||||||
self.updated_options[CONF_USB_PATH] = None
|
self.options[CONF_USB_PATH] = None
|
||||||
self.updated_options[CONF_USB_SPHERE] = None
|
self.options[CONF_USB_SPHERE] = None
|
||||||
elif (
|
elif (
|
||||||
CONF_USB_SPHERE_OPTION in user_input
|
CONF_USB_SPHERE_OPTION in user_input
|
||||||
and spheres[user_input[CONF_USB_SPHERE_OPTION]] != usb_sphere
|
and spheres[user_input[CONF_USB_SPHERE_OPTION]] != usb_sphere
|
||||||
):
|
):
|
||||||
sphere_id = spheres[user_input[CONF_USB_SPHERE_OPTION]]
|
sphere_id = spheres[user_input[CONF_USB_SPHERE_OPTION]]
|
||||||
self.updated_options[CONF_USB_SPHERE] = sphere_id
|
self.options[CONF_USB_SPHERE] = sphere_id
|
||||||
|
|
||||||
return self.async_create_new_entry()
|
return self.async_create_new_entry()
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ class CrownstoneOptionsFlowHandler(BaseCrownstoneFlowHandler, OptionsFlow):
|
|||||||
"""Create a new entry."""
|
"""Create a new entry."""
|
||||||
# these attributes will only change when a usb was configured
|
# these attributes will only change when a usb was configured
|
||||||
if self.usb_path is not None and self.usb_sphere_id is not None:
|
if self.usb_path is not None and self.usb_sphere_id is not None:
|
||||||
self.updated_options[CONF_USB_PATH] = self.usb_path
|
self.options[CONF_USB_PATH] = self.usb_path
|
||||||
self.updated_options[CONF_USB_SPHERE] = self.usb_sphere_id
|
self.options[CONF_USB_SPHERE] = self.usb_sphere_id
|
||||||
|
|
||||||
return super().async_create_entry(title="", data=self.updated_options)
|
return super().async_create_entry(title="", data=self.options)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user