diff --git a/homeassistant/helpers/selector.py b/homeassistant/helpers/selector.py index 8b113cf1bba..34c9446c3de 100644 --- a/homeassistant/helpers/selector.py +++ b/homeassistant/helpers/selector.py @@ -855,7 +855,7 @@ class DurationSelector(Selector[DurationSelectorConfig]): vol.Optional("enable_day"): cv.boolean, # Enable millisecond field in frontend. vol.Optional("enable_millisecond"): cv.boolean, - # Allow negative durations. Will default to False in HA Core 2025.6.0. + # Allow negative durations. vol.Optional("allow_negative"): cv.boolean, } ) @@ -866,7 +866,7 @@ class DurationSelector(Selector[DurationSelectorConfig]): def __call__(self, data: Any) -> dict[str, float]: """Validate the passed selection.""" - if self.config.get("allow_negative", True): + if self.config.get("allow_negative", False): cv.time_period_dict(data) else: cv.positive_time_period_dict(data) diff --git a/tests/helpers/test_selector.py b/tests/helpers/test_selector.py index fba9018b698..2f803e4da1e 100644 --- a/tests/helpers/test_selector.py +++ b/tests/helpers/test_selector.py @@ -1308,17 +1308,17 @@ def test_attribute_selector_schema( {"days": 10}, # Days is allowed also if `enable_day` is not set {"milliseconds": 500}, ), - (None, {}), + (None, {}, {"seconds": -1}), ), ( {"enable_day": True, "enable_millisecond": True}, ({"seconds": 10}, {"days": 10}, {"milliseconds": 500}), - (None, {}), + (None, {}, {"seconds": -1}), ), ( - {"allow_negative": False}, - ({"seconds": 10}, {"days": 10}), - (None, {}, {"seconds": -1}), + {"allow_negative": True}, + ({"seconds": 10}, {"seconds": -1}), + (None, {}), ), ], )