* Template domain blueprints
* Default blueprint for templates
* Some linting
* Template entity updates
* Load and use blueprints in config
* Added missing mapping methods for templates
* Linting
* Added tests
* Wrong schema type
* Hassfest errors
* More linting issues
* Refactor based on desired schema
In the [architecture discussion](https://github.com/home-assistant/architecture/discussions/1027), the template blueprint instance did not specify the platform (e.g. `binary_sensor`), but the initial implementation assumed that schema.
* Create default template blueprints on first run
* Moved TemplateConfig definition
This is to avoid circular references
* Corrected methods to find templates based on blueprints
* Corrected missing entity config information
* Added tests
* Don't use hass.data
Address comments https://github.com/home-assistant/core/pull/126971/#discussion_r1780097187
* Prevent creating blueprints during testing
* Combine 2 ifs
Address comment https://github.com/home-assistant/core/pull/126971/#discussion_r1780160870
* Improve test coverage
* Prevent template component from dirtying test env
* Remove useless hard-coded validation
* Improve code coverage to 100%
* Address review comments
* Moved helpers in helpers.py
As per comment https://github.com/home-assistant/core/pull/126971#discussion_r1786539889
* Fix blueprint source URL
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Store instance name in Thread router discovery
Store the DNS-SD instance name in the Thread router discovery message.
The instance name is the actual name given to a Thread border router,
e.g. when configuring the name of a Thread border router in Apple Home
the name appears as the DNS-SD instance name. This will allow to make
the Thread border router list more user friendly.
* Use instance_name_from_service_info to get instance name
* Add Protocol Upload/Download for Deluge
* add unit test and fix typo in sensor.py
* remove unneeded import
* rename/unify the translation keys and entries in const.py
* split out const.py items into DelugeSensorType to avoid confusion with DelugeGetSessionStatusKeys
* change DelugeGetSessionStatusKeys to be a regular enum to satisfy mypy
* Add config_flow helper to get config entry from context
* Simplify
* Apply to aussie_broadband
* Another example
* Rename and adjust docstring
* Simplify
* Add test
* Refactor to hide context
* Raise
* Improve coverage
* Use AttributeError
* Use ValueError
* Raise UnknownEntry
* Tibber: Add extra test to expose aware/naive datetime issue
* Tibber: Fix get_prices action not working with aware datetimes
* Tibber: Simplify comparison
* Tibber: Combine timezone tests into single parametrized one
* Tibber: Split test again to prevent if statement