* Manage KNX Keyfile from UI
* migrate config entry to use new keyfile
* Revert "migrate config entry to use new keyfile"
use same config style as before instead of entry version migration
* clean up uploaded file when integration is removed
* change default filename
* revert to previous step name
* remove empty directory on unload
* Minimize wait time for interface discovery
* fix OptionsFlow when connection failed
there is no `self.hass.data["KNX"]` when we are in retry mode after failed integration setup
* review changes
* fix new tests
* always use instance variable for new entry data
- change `self._tunneling_config` to non-optional `self.new_entry_data`
- always use self.new_entry_data in `finish_flow()`
* support secure routing
* amend current tests
* use sync latency tolerance
* test secure routing config flow
* diagnostics redact backbone_key
* test xknx library setup
* check length of backbone_key
* better readable key validation
* rebase off current
* rearrange
* Overload selector function
* Update/fix all selector references
* better typing?
* remove extra option
* move things around
* Switch to Sequence type to avoid ignoring mypy error
* Get rid of ...'s
* Improve typing to reduce number of ignores
* Remove all typing ignores
* Make config optional for selectors that don't need a config
* add missing unit prefixes
* Rename TypedDicts
* Update homeassistant/helpers/selector.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* review feedback
* remove peta from integration integration
* Fix min_max
* Revert change to selector function
* Fix logic
* Add typing for selector classes
* Update selector.py
* Fix indent
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* use `data_description`
* use selectors so `data_description` shows
* remove unused config option
`individual_address` has no effect for tunneling. The address is always assigned by the tunnelling server.
* remove unsupported option for tunneling V1 devices
* Add support for TCP Secure in KNX config flow
* Add support for TCP Secure in KNX config flow
* Fix typing
* Fix import
* Move assert up to cover all possible cases