From cd61f37df7c4fdadc1641bc5abb4c948d030f1b7 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Tue, 13 May 2025 20:53:08 +0200 Subject: [PATCH] Remove support for condition platforms defining only a CONDITION_SCHEMA (#144832) --- homeassistant/components/sun/condition.py | 9 ++++++++- homeassistant/helpers/condition.py | 11 ++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/sun/condition.py b/homeassistant/components/sun/condition.py index c52ada51e06..205f1bb8b5c 100644 --- a/homeassistant/components/sun/condition.py +++ b/homeassistant/components/sun/condition.py @@ -20,7 +20,7 @@ from homeassistant.helpers.sun import get_astral_event_date from homeassistant.helpers.typing import ConfigType, TemplateVarsType from homeassistant.util import dt as dt_util -CONDITION_SCHEMA = vol.All( +_CONDITION_SCHEMA = vol.All( vol.Schema( { **cv.CONDITION_BASE_SCHEMA, @@ -37,6 +37,13 @@ CONDITION_SCHEMA = vol.All( ) +async def async_validate_condition_config( + hass: HomeAssistant, config: ConfigType +) -> ConfigType: + """Validate config.""" + return _CONDITION_SCHEMA(config) # type: ignore[no-any-return] + + def sun( hass: HomeAssistant, before: str | None = None, diff --git a/homeassistant/helpers/condition.py b/homeassistant/helpers/condition.py index c1b87dd755a..fbdf2dce7b1 100644 --- a/homeassistant/helpers/condition.py +++ b/homeassistant/helpers/condition.py @@ -94,12 +94,7 @@ INPUT_ENTITY_ID = re.compile( class ConditionProtocol(Protocol): - """Define the format of device_condition modules. - - Each module must define either CONDITION_SCHEMA or async_validate_condition_config. - """ - - CONDITION_SCHEMA: vol.Schema + """Define the format of condition modules.""" async def async_validate_condition_config( self, hass: HomeAssistant, config: ConfigType @@ -952,9 +947,7 @@ async def async_validate_condition_config( platform = await _async_get_condition_platform(hass, config) if platform is not None: - if hasattr(platform, "async_validate_condition_config"): - return await platform.async_validate_condition_config(hass, config) - return cast(ConfigType, platform.CONDITION_SCHEMA(config)) + return await platform.async_validate_condition_config(hass, config) if platform is None and condition in ("numeric_state", "state"): validator = cast( Callable[[HomeAssistant, ConfigType], ConfigType],