* 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>
31 lines
901 B
Python
31 lines
901 B
Python
"""The blueprint integration."""
|
|
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers import config_validation as cv
|
|
from homeassistant.helpers.typing import ConfigType
|
|
|
|
from . import websocket_api
|
|
from .const import CONF_USE_BLUEPRINT, DOMAIN # noqa: F401
|
|
from .errors import ( # noqa: F401
|
|
BlueprintException,
|
|
BlueprintInUse,
|
|
BlueprintWithNameException,
|
|
FailedToLoad,
|
|
InvalidBlueprint,
|
|
InvalidBlueprintInputs,
|
|
MissingInput,
|
|
)
|
|
from .models import Blueprint, BlueprintInputs, DomainBlueprints # noqa: F401
|
|
from .schemas import ( # noqa: F401
|
|
BLUEPRINT_INSTANCE_FIELDS,
|
|
BLUEPRINT_SCHEMA,
|
|
is_blueprint_instance_config,
|
|
)
|
|
|
|
CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN)
|
|
|
|
|
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|
"""Set up the blueprint integration."""
|
|
websocket_api.async_setup(hass)
|
|
return True
|