From 7ba1736637a5cad9cd390a7109962a45bdfd2169 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Fri, 22 Dec 2023 21:22:16 +0100 Subject: [PATCH] Filter by supported features for todo services (#106241) --- homeassistant/components/todo/services.yaml | 18 ++++++++++++++++++ homeassistant/helpers/service.py | 2 ++ 2 files changed, 20 insertions(+) diff --git a/homeassistant/components/todo/services.yaml b/homeassistant/components/todo/services.yaml index 8ecc9e0ec86..07f91e12e22 100644 --- a/homeassistant/components/todo/services.yaml +++ b/homeassistant/components/todo/services.yaml @@ -26,14 +26,23 @@ add_item: selector: text: due_date: + filter: + supported_features: + - todo.TodoListEntityFeature.SET_DUE_DATE_ON_ITEM example: "2023-11-17" selector: date: due_datetime: + filter: + supported_features: + - todo.TodoListEntityFeature.SET_DUE_DATETIME_ON_ITEM example: "2023-11-17 13:30:00" selector: datetime: description: + filter: + supported_features: + - todo.TodoListEntityFeature.SET_DESCRIPTION_ON_ITEM example: "A more complete description of the to-do item than that provided by the summary." selector: text: @@ -62,14 +71,23 @@ update_item: - needs_action - completed due_date: + filter: + supported_features: + - todo.TodoListEntityFeature.SET_DUE_DATE_ON_ITEM example: "2023-11-17" selector: date: due_datetime: + filter: + supported_features: + - todo.TodoListEntityFeature.SET_DUE_DATETIME_ON_ITEM example: "2023-11-17 13:30:00" selector: datetime: description: + filter: + supported_features: + - todo.TodoListEntityFeature.SET_DESCRIPTION_ON_ITEM example: "A more complete description of the to-do item than that provided by the summary." selector: text: diff --git a/homeassistant/helpers/service.py b/homeassistant/helpers/service.py index b7a81c3fb19..9af69acc6b2 100644 --- a/homeassistant/helpers/service.py +++ b/homeassistant/helpers/service.py @@ -88,6 +88,7 @@ def _base_components() -> dict[str, ModuleType]: media_player, remote, siren, + todo, update, vacuum, water_heater, @@ -106,6 +107,7 @@ def _base_components() -> dict[str, ModuleType]: "media_player": media_player, "remote": remote, "siren": siren, + "todo": todo, "update": update, "vacuum": vacuum, "water_heater": water_heater,