mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 04:07:08 +00:00
Refactor DeviceAutomationConditionProtocol (#147377)
This commit is contained in:
parent
512449a76d
commit
c29879274a
@ -9,7 +9,10 @@ import voluptuous as vol
|
|||||||
from homeassistant.const import CONF_DOMAIN
|
from homeassistant.const import CONF_DOMAIN
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
from homeassistant.helpers.condition import ConditionProtocol, trace_condition_function
|
from homeassistant.helpers.condition import (
|
||||||
|
ConditionCheckerType,
|
||||||
|
trace_condition_function,
|
||||||
|
)
|
||||||
from homeassistant.helpers.typing import ConfigType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
|
|
||||||
from . import DeviceAutomationType, async_get_device_automation_platform
|
from . import DeviceAutomationType, async_get_device_automation_platform
|
||||||
@ -19,13 +22,24 @@ if TYPE_CHECKING:
|
|||||||
from homeassistant.helpers import condition
|
from homeassistant.helpers import condition
|
||||||
|
|
||||||
|
|
||||||
class DeviceAutomationConditionProtocol(ConditionProtocol, Protocol):
|
class DeviceAutomationConditionProtocol(Protocol):
|
||||||
"""Define the format of device_condition modules.
|
"""Define the format of device_condition modules.
|
||||||
|
|
||||||
Each module must define either CONDITION_SCHEMA or async_validate_condition_config
|
Each module must define either CONDITION_SCHEMA or async_validate_condition_config.
|
||||||
from ConditionProtocol.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
CONDITION_SCHEMA: vol.Schema
|
||||||
|
|
||||||
|
async def async_validate_condition_config(
|
||||||
|
self, hass: HomeAssistant, config: ConfigType
|
||||||
|
) -> ConfigType:
|
||||||
|
"""Validate config."""
|
||||||
|
|
||||||
|
def async_condition_from_config(
|
||||||
|
self, hass: HomeAssistant, config: ConfigType
|
||||||
|
) -> ConditionCheckerType:
|
||||||
|
"""Evaluate state based on configuration."""
|
||||||
|
|
||||||
async def async_get_condition_capabilities(
|
async def async_get_condition_capabilities(
|
||||||
self, hass: HomeAssistant, config: ConfigType
|
self, hass: HomeAssistant, config: ConfigType
|
||||||
) -> dict[str, vol.Schema]:
|
) -> dict[str, vol.Schema]:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user