* Deprecate register_static_path in favor of async_register_static_path
`hass.http.register_static_path` is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_path([StaticPathConfig(url_path, path, cache_headers)])`
The arguments to `async_register_static_path` are the same as `register_static_path` except they are wrapped in the `StaticPathConfig` dataclass and an iterable of them is accepted to allow registering multiple paths at once to avoid multiple executor jobs.
* add date
* spacing
* Reduce code needed to set august unique ids
Set the unique ids in the base class since they always
use the same format
* Reduce code needed to set august unique ids
Set the unique ids in the base class since they always
use the same format
* squash DNS IP enable port
* linting
* fix config entries in tests.
* fix more config entries
* fix parameter order
* Add defaults for legacy config entries
* test legacy config are not broken
* test driven migration
* define versions for future proofing
* remove defaults as should be covered by migrations in the future
* adds config migration
* spacing
* Review: remove unnecessary statements
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* make default ports the same
* test migration from future error
* linting
* Small tweaks
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Fix late group platform registration
* use a callback instead
* Run thread safe
* Not working domain filter
* Also update if a group has nested group's
* Only update if the siingle state type key could change
* Avoid redundant regisister hooks
* Use set, add comment
* Revert changes
* Keep callback cleanup const
* Cleanup after dependencies
* Preimport and cleanup excluded domains
* Revert test changes as we assume early set up now
* Migrate alarm_control_panel
* Migrate climate
* Migrate cover
* Migrate device_tracker
* Migrate lock
* Migrate media_player
* Migrate person
* Migrate plant
* Migrate vacuum
* Migrate water_heater
* Remove water_heater group_pre_import
* Use Platform enum if possible
* Also use platform enum for excluded domains
* Set registry to self._registry
* move deregistering call back hook to async_added_to_hass
* Add comment
* Do no pass mutable reference to EXCLUDED_DOMAINS
* Remove unneeded type hint
* Extract coordinator to separate module in Nanoleaf
* Extract coordinator to separate module in Nanoleaf
* Extract coordinator to separate module in Nanoleaf