diff --git a/homeassistant/helpers/selector.py b/homeassistant/helpers/selector.py index 08975c5c881e28..192777ae3be710 100644 --- a/homeassistant/helpers/selector.py +++ b/homeassistant/helpers/selector.py @@ -988,6 +988,7 @@ class SelectSelectorConfig(TypedDict, total=False): custom_value: bool mode: SelectSelectorMode translation_key: str + sort: bool @SELECTORS.register("select") @@ -1005,6 +1006,7 @@ class SelectSelector(Selector[SelectSelectorConfig]): vol.Coerce(SelectSelectorMode), lambda val: val.value ), vol.Optional("translation_key"): cv.string, + vol.Optional("sort", default=False): cv.boolean, } ) diff --git a/tests/components/knx/test_device_trigger.py b/tests/components/knx/test_device_trigger.py index c3d3ed67b03223..e901fd7f29e9da 100644 --- a/tests/components/knx/test_device_trigger.py +++ b/tests/components/knx/test_device_trigger.py @@ -201,6 +201,7 @@ async def test_get_trigger_capabilities_node_status( "mode": "dropdown", "multiple": True, "options": [], + "sort": False, }, }, } diff --git a/tests/helpers/test_selector.py b/tests/helpers/test_selector.py index c1d5f76ea7872b..590526cdb2b06d 100644 --- a/tests/helpers/test_selector.py +++ b/tests/helpers/test_selector.py @@ -655,6 +655,11 @@ def test_text_selector_schema(schema, valid_selections, invalid_selections) -> N (["red"], ["green", "blue"], []), (0, None, "red"), ), + ( + {"options": ["red", "green", "blue"], "sort": True}, + ("red", "blue"), + (0, None, ["red"]), + ), ), ) def test_select_selector_schema(schema, valid_selections, invalid_selections) -> None: