@@ -293,8 +293,17 @@ def validate_scenario_names(scenarios: dict) -> dict:
293293})
294294
295295
296+ def _migrate_condition (config : dict ) -> dict :
297+ """Migrate deprecated 'condition' key to 'conditions'."""
298+ if CONF_CONDITION in config :
299+ if CONF_CONDITIONS not in config :
300+ config = {** config , CONF_CONDITIONS : config [CONF_CONDITION ]}
301+ config = {k : v for k , v in config .items () if k != CONF_CONDITION }
302+ return config
303+
304+
296305DELIVERY_SCHEMA = vol .All (
297- cv . deprecated ( key = CONF_CONDITION ) ,
306+ _migrate_condition ,
298307 DELIVERY_CONFIG_SCHEMA .extend ({
299308 vol .Required (CONF_TRANSPORT ): vol .In (TRANSPORT_VALUES ),
300309 vol .Optional (CONF_ALIAS ): cv .string ,
@@ -303,7 +312,6 @@ def validate_scenario_names(scenarios: dict) -> dict:
303312 vol .Optional (CONF_TITLE ): vol .Any (None , cv .string ),
304313 vol .Optional (CONF_ENABLED ): cv .boolean ,
305314 vol .Optional (CONF_OCCUPANCY , default = OCCUPANCY_ALL ): vol .In (OCCUPANCY_VALUES ),
306- vol .Optional (CONF_CONDITION ): cv .CONDITIONS_SCHEMA ,
307315 vol .Optional (CONF_CONDITIONS ): cv .CONDITIONS_SCHEMA ,
308316 }),
309317)
@@ -367,12 +375,11 @@ def validate_scenario_names(scenarios: dict) -> dict:
367375
368376
369377SCENARIO_SCHEMA = vol .All (
370- cv . deprecated ( key = CONF_CONDITION ) ,
378+ _migrate_condition ,
371379 cv .deprecated (key = "delivery_selection" ),
372380 vol .Schema ({
373381 vol .Optional (CONF_ALIAS ): cv .string ,
374382 vol .Optional (CONF_ENABLED , default = True ): cv .boolean ,
375- vol .Optional (CONF_CONDITION ): cv .CONDITIONS_SCHEMA ,
376383 vol .Optional (CONF_CONDITIONS ): cv .CONDITIONS_SCHEMA ,
377384 vol .Optional (CONF_MEDIA ): MEDIA_SCHEMA ,
378385 vol .Optional (CONF_ACTION_GROUP_NAMES , default = []): vol .All (cv .ensure_list , [cv .string ]),
0 commit comments