1 """Config flow for drop_connect integration."""
3 from __future__
import annotations
6 from typing
import TYPE_CHECKING, Any
8 from dropmqttapi.discovery
import DropDiscovery
26 _LOGGER = logging.getLogger(__name__)
30 """Handle DROP config flow."""
34 _drop_discovery: DropDiscovery |
None =
None
37 self, discovery_info: MqttServiceInfo
38 ) -> ConfigFlowResult:
39 """Handle a flow initialized by MQTT discovery."""
43 discovery_info.subscribed_topic != DISCOVERY_TOPIC
44 or not discovery_info.payload
51 discovery_info.topic, discovery_info.payload
56 f
"{self._drop_discovery.hub_id}_{self._drop_discovery.device_id}"
58 if existing_entry
is not None:
65 return await self.async_step_confirm()
68 self, user_input: dict[str, Any] |
None =
None
69 ) -> ConfigFlowResult:
70 """Confirm the setup."""
73 if user_input
is not None:
90 description_placeholders={
97 self, user_input: dict[str, Any] |
None =
None
98 ) -> ConfigFlowResult:
99 """Handle a flow initialized by the user."""
ConfigFlowResult async_step_mqtt(self, MqttServiceInfo discovery_info)
ConfigEntry|None async_set_unique_id(self, str|None unique_id=None, *bool raise_on_progress=True)
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)
ConfigFlowResult async_abort(self, *str reason, Mapping[str, str]|None description_placeholders=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)
_FlowResultT async_abort(self, *str reason, Mapping[str, str]|None description_placeholders=None)
IssData update(pyiss.ISS iss)
config_entries.ConfigFlowResult async_step_confirm(self, dict[str, Any]|None user_input=None)