1
0
mirror of https://github.com/home-assistant/core.git synced 2025-08-13 07:20:01 +00:00
Commit Graph

34 Commits

Author SHA1 Message Date
Robert Resch
060172fc24 Deprecate deprecated data entry flow constants () 2023-12-23 11:25:39 +01:00
Erik Montnemery
4498c2e8c4 Validate steps in Flowhandler ()
* Validate steps in Flowhandler

* Move validation to FlowManager._async_handle_step

* Fix _raise_if_not_has_step

* Fix config_entries tests

* Fix tests

* Rename

* Add test
2023-10-19 13:34:10 +02:00
Simon Lamon
a618e8d1cf Fix loop in progress config flow ()
* Fix data entry flow with multiple steps

* Update a test

* Update description and add a show progress change test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-02 14:15:54 +02:00
J. Nick Koston
9e666ae0c0 Reduce in progress flow matching overhead ()
* Reduce config flow matching overhead

Much of the config flow matching is happening on the context data
after converting via a series of functions. Avoid the conversions
by passing the context matcher deeper into the stack so only
relvant entries need to be processed.

The goal is to reduce the overhead and reduce the chance
the event loop falls behind at the started event when
all the discoveries are processed

* Reduce config flow matching overhead

Much of the config flow matching is happening on the context data
after converting via a series of functions. Avoid the conversions
by passing the context matcher deeper into the stack so only
relvant entries need to be processed.

The goal is to reduce the overhead and reduce the chance
the event loop falls behind at the started event when
all the discoveries are processed

* Reduce config flow matching overhead

Much of the config flow matching is happening on the context data
after converting via a series of functions. Avoid the conversions
by passing the context matcher deeper into the stack so only
relvant entries need to be processed.

The goal is to reduce the overhead and reduce the chance
the event loop falls behind at the started event when
all the discoveries are processed

* augment cover
2023-06-11 10:41:38 +02:00
epenet
a51cc75f03 Add type hints to core tests (part 2) () 2023-02-21 09:27:13 +01:00
J. Nick Koston
331102e592 Dismiss discoveries when the underlying device disappears ()
* Implement discovery removals

Bluetooth, HomeKit, SSDP, and Zeroconf now implement
dismissing discoveries when the underlying discovered
device disappears

* cover

* add zeroconf test

* cover

* cover bluetooth

* fix rediscover
2023-02-17 15:51:19 -05:00
epenet
c98b4e3204 Add typing to tests with single hass argument (2) ()
* Add typing to tests with single hass argument (2)

* a few more
2023-02-08 08:51:43 +01:00
Franck Nijhof
bfbf9b9751 Adjusts imports in tests to match our relative import rules () 2023-01-27 12:51:58 +01:00
Erik Montnemery
3cd6bd87a7 Remove config entry specifics from FlowManager () 2023-01-17 15:26:17 +01:00
Marc Mueller
63d519c1a8 Spelling updates () 2022-11-28 16:51:43 +01:00
puddly
2224d0f43a Add a callback for data flow handler removal ()
* Add a callback for when data flows are removed

* Call `async_remove` at the very end

* Handle and log exceptions caught during flow removal

* Log the error as an exception, with a traceback

* Adjust test's expected logging output to match updated format specifier
2022-08-29 16:25:34 -04:00
Franck Nijhof
a6244eea28 Search/replace RESULT_TYPE_* by FlowResultType enum () 2022-07-07 21:28:18 +02:00
Franck Nijhof
7cd68381f1 Search/replace RESULT_TYPE_* by FlowResultType enum () 2022-07-07 19:57:36 +03:00
Paulus Schoutsen
f6af93ae35 Add support for menu step () 2022-03-16 14:14:50 -07:00
J. Nick Koston
3b7dce8b95 Index in-progress flows to avoid linear search ()
Co-authored-by: Steven Looman <steven.looman@gmail.com>
2021-10-22 07:19:49 -10:00
J. Nick Koston
b86e19143d Prevent event loop delay / instability from discovery () 2021-10-13 08:37:14 -07:00
Ville Skyttä
c2f5dcefa5 Use flow result type constants more () 2021-05-29 14:09:13 +02:00
Ville Skyttä
153d6e891e Use config_entries.SOURCE_* constants () 2021-04-25 11:27:40 +02:00
J. Nick Koston
dafc7a072c Cancel discovery flows that are initializing at shutdown () 2021-04-15 07:13:42 -10:00
Martin Hjelmare
1338c4a425 Add data entry flow show progress step () 2020-11-09 18:39:28 +01:00
Paulus Schoutsen
1c5b4dbd97 Add current step that is in progress () 2020-05-05 21:34:51 -07:00
Paulus Schoutsen
6404882ec4 Allow flows to know if user is in advanced mode () 2020-04-24 09:31:56 -07:00
Jc2k
fdfedd086b Rework FlowManager to use inheritance ()
* Pull async_finish_flow/async_create_flow out of ConfigEntries

* Towards refactoring

* mypy fixes

* Mark Flow manager with abc.* annotations

* Flake8 fixes

* Mypy fixes

* Blacken data_entry_flow

* Blacken longer signatures caused by mypy changes

* test fixes

* Test fixes

* Fix typo

* Avoid protected member lint (W0212) in config_entries

* More protected member fixes

* Missing await
2020-01-03 11:52:01 +01:00
Paulus Schoutsen
d851cb6f9e Add unique ID to config entries ()
* Add unique ID to config entries

* Unload existing entries with same unique ID if flow with unique ID is
finished

* Remove unused exception

* Fix typing

* silence pylint

* Fix tests

* Add unique ID to Hue

* Address typing comment

* Tweaks to comments

* lint
2019-12-16 12:27:43 +01:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Paulus Schoutsen
9debbfb1a8 Add SSDP integration ()
* Add SSDP integration

* Fix tests

* Sort all the things

* Add netdisco to test requirements
2019-05-26 19:48:27 -07:00
Paulus Schoutsen
5888e32360 Add support for an external step in config flow ()
* Add support for an external step in config flow

* Types

* Lint
2019-05-10 14:33:49 +02:00
Jason Hu
00c6f56cc8 Allow finish_flow callback to change data entry result type ()
* Allow finish_flow callback to change data entry result type

* Add unit test
2018-08-21 10:48:24 -07:00
Jason Hu
50daef9a52 Add context to login flow ()
* Add context to login flow

* source -> context

* Fix unit test

* Update comment
2018-08-13 11:27:18 +02:00
Jason Hu
f58425dd3c Refactor data entry flow ()
* Refactoring data_entry_flow and config_entry_flow

Move SOURCE_* to config_entries
Change data_entry_flow.FlowManager.async_init() source param default
 to None
Change this first step_id as source or init if source is None
_BaseFlowManagerView pass in SOURCE_USER as default source

* First step of data entry flow decided by _async_create_flow() now

* Lint

* Change helpers.config_entry_flow.DiscoveryFlowHandler default step

* Change FlowManager.async_init source param to context dict param
2018-08-09 13:24:14 +02:00
Paulus Schoutsen
fa9b9105a8 Fix hue discovery popping up ()
* Fix hue discovery popping up

* Fix result

* Fix tests
2018-05-24 14:24:14 -04:00
Paulus Schoutsen
5d3471269a Show a notification when a config entry is discovered ()
* Show a notification when a config entry is discovered

* update comment

* Inline functions

* Lint
2018-04-22 21:00:24 +02:00
Paulus Schoutsen
4d44c0feff Further untangle data entry flow ()
* Further untangle data entry flow

* Fix test

* Remove helper class
2018-04-14 14:38:24 -04:00
Paulus Schoutsen
60508f7215 Extract config flow to own module ()
* Extract config flow to own module

* Lint

* fix lint

* fix typo

* ConfigFlowHandler -> FlowHandler

* Rename to data_entry_flow
2018-04-13 10:14:53 -04:00