1 """Config flow to configure emulated_roku component."""
5 import voluptuous
as vol
11 from .const
import CONF_LISTEN_PORT, DEFAULT_NAME, DEFAULT_PORT, DOMAIN
16 """Return a set of the configured servers."""
18 entry.data[CONF_NAME]
for entry
in hass.config_entries.async_entries(DOMAIN)
23 """Handle an emulated_roku config flow."""
28 self, user_input: dict[str, Any] |
None =
None
29 ) -> ConfigFlowResult:
30 """Handle a flow initialized by the user."""
31 errors: dict[str, str] = {}
33 if user_input
is not None:
40 default_name = f
"{DEFAULT_NAME} {servers_num + 1}"
41 default_port = DEFAULT_PORT + servers_num
43 default_name = DEFAULT_NAME
44 default_port = DEFAULT_PORT
48 data_schema=vol.Schema(
50 vol.Required(CONF_NAME, default=default_name): str,
51 vol.Required(CONF_LISTEN_PORT, default=default_port): vol.Coerce(
60 """Handle a flow import."""
ConfigFlowResult async_step_user(self, dict[str, Any]|None user_input=None)
ConfigFlowResult async_step_import(self, dict[str, Any] import_data)
ConfigFlowResult async_create_entry(self, *str title, Mapping[str, Any] data, str|None description=None, Mapping[str, str]|None description_placeholders=None, Mapping[str, Any]|None options=None)
ConfigFlowResult async_step_user(self, dict[str, Any]|None user_input=None)
None _async_abort_entries_match(self, dict[str, Any]|None match_dict=None)
ConfigFlowResult async_show_form(self, *str|None step_id=None, vol.Schema|None data_schema=None, dict[str, str]|None errors=None, Mapping[str, str]|None description_placeholders=None, bool|None last_step=None, str|None preview=None)
_FlowResultT async_show_form(self, *str|None step_id=None, vol.Schema|None data_schema=None, dict[str, str]|None errors=None, Mapping[str, str]|None description_placeholders=None, bool|None last_step=None, str|None preview=None)
_FlowResultT async_create_entry(self, *str|None title=None, Mapping[str, Any] data, str|None description=None, Mapping[str, str]|None description_placeholders=None)
set[str] configured_servers(HomeAssistant hass)