* Add expandable support for data entry form flows
* Update config_validation.py
* optional options
* Adjust
* Correct translations of data within sections
* Update homeassistant/components/kitchen_sink/config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Add missing import
* Update tests/components/kitchen_sink/test_config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Format code
* Match frontend when serializing
* Move section class to data_entry_flow
* Correct serializing
* Fix import in kitchen_sink
* Move and update test
---------
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* 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>
* 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
* 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
* 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