mirror of
https://github.com/home-assistant/core.git
synced 2025-07-12 15:57:06 +00:00
Remove deprecated support feature values in vacuum (#146982)
This commit is contained in:
parent
c446cce2cc
commit
b0c2a47288
@ -312,7 +312,7 @@ class StateVacuumEntity(
|
|||||||
@property
|
@property
|
||||||
def capability_attributes(self) -> dict[str, Any] | None:
|
def capability_attributes(self) -> dict[str, Any] | None:
|
||||||
"""Return capability attributes."""
|
"""Return capability attributes."""
|
||||||
if VacuumEntityFeature.FAN_SPEED in self.supported_features_compat:
|
if VacuumEntityFeature.FAN_SPEED in self.supported_features:
|
||||||
return {ATTR_FAN_SPEED_LIST: self.fan_speed_list}
|
return {ATTR_FAN_SPEED_LIST: self.fan_speed_list}
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@ -330,7 +330,7 @@ class StateVacuumEntity(
|
|||||||
def state_attributes(self) -> dict[str, Any]:
|
def state_attributes(self) -> dict[str, Any]:
|
||||||
"""Return the state attributes of the vacuum cleaner."""
|
"""Return the state attributes of the vacuum cleaner."""
|
||||||
data: dict[str, Any] = {}
|
data: dict[str, Any] = {}
|
||||||
supported_features = self.supported_features_compat
|
supported_features = self.supported_features
|
||||||
|
|
||||||
if VacuumEntityFeature.BATTERY in supported_features:
|
if VacuumEntityFeature.BATTERY in supported_features:
|
||||||
data[ATTR_BATTERY_LEVEL] = self.battery_level
|
data[ATTR_BATTERY_LEVEL] = self.battery_level
|
||||||
@ -369,19 +369,6 @@ class StateVacuumEntity(
|
|||||||
"""Flag vacuum cleaner features that are supported."""
|
"""Flag vacuum cleaner features that are supported."""
|
||||||
return self._attr_supported_features
|
return self._attr_supported_features
|
||||||
|
|
||||||
@property
|
|
||||||
def supported_features_compat(self) -> VacuumEntityFeature:
|
|
||||||
"""Return the supported features as VacuumEntityFeature.
|
|
||||||
|
|
||||||
Remove this compatibility shim in 2025.1 or later.
|
|
||||||
"""
|
|
||||||
features = self.supported_features
|
|
||||||
if type(features) is int:
|
|
||||||
new_features = VacuumEntityFeature(features)
|
|
||||||
self._report_deprecated_supported_features_values(new_features)
|
|
||||||
return new_features
|
|
||||||
return features
|
|
||||||
|
|
||||||
def stop(self, **kwargs: Any) -> None:
|
def stop(self, **kwargs: Any) -> None:
|
||||||
"""Stop the vacuum cleaner."""
|
"""Stop the vacuum cleaner."""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
@ -31,7 +31,6 @@ from .common import async_start
|
|||||||
from tests.common import (
|
from tests.common import (
|
||||||
MockConfigEntry,
|
MockConfigEntry,
|
||||||
MockEntity,
|
MockEntity,
|
||||||
MockEntityPlatform,
|
|
||||||
MockModule,
|
MockModule,
|
||||||
help_test_all,
|
help_test_all,
|
||||||
import_and_test_deprecated_constant_enum,
|
import_and_test_deprecated_constant_enum,
|
||||||
@ -263,44 +262,6 @@ async def test_send_command(hass: HomeAssistant, config_flow_fixture: None) -> N
|
|||||||
assert "test" in strings
|
assert "test" in strings
|
||||||
|
|
||||||
|
|
||||||
async def test_supported_features_compat(hass: HomeAssistant) -> None:
|
|
||||||
"""Test StateVacuumEntity using deprecated feature constants features."""
|
|
||||||
|
|
||||||
features = (
|
|
||||||
VacuumEntityFeature.BATTERY
|
|
||||||
| VacuumEntityFeature.FAN_SPEED
|
|
||||||
| VacuumEntityFeature.START
|
|
||||||
| VacuumEntityFeature.STOP
|
|
||||||
| VacuumEntityFeature.PAUSE
|
|
||||||
)
|
|
||||||
|
|
||||||
class _LegacyConstantsStateVacuum(StateVacuumEntity):
|
|
||||||
_attr_supported_features = int(features)
|
|
||||||
_attr_fan_speed_list = ["silent", "normal", "pet hair"]
|
|
||||||
|
|
||||||
entity = _LegacyConstantsStateVacuum()
|
|
||||||
entity.hass = hass
|
|
||||||
entity.platform = MockEntityPlatform(hass)
|
|
||||||
assert isinstance(entity.supported_features, int)
|
|
||||||
assert entity.supported_features == int(features)
|
|
||||||
assert entity.supported_features_compat is (
|
|
||||||
VacuumEntityFeature.BATTERY
|
|
||||||
| VacuumEntityFeature.FAN_SPEED
|
|
||||||
| VacuumEntityFeature.START
|
|
||||||
| VacuumEntityFeature.STOP
|
|
||||||
| VacuumEntityFeature.PAUSE
|
|
||||||
)
|
|
||||||
assert entity.state_attributes == {
|
|
||||||
"battery_level": None,
|
|
||||||
"battery_icon": "mdi:battery-unknown",
|
|
||||||
"fan_speed": None,
|
|
||||||
}
|
|
||||||
assert entity.capability_attributes == {
|
|
||||||
"fan_speed_list": ["silent", "normal", "pet hair"]
|
|
||||||
}
|
|
||||||
assert entity._deprecated_supported_features_reported
|
|
||||||
|
|
||||||
|
|
||||||
async def test_vacuum_not_log_deprecated_state_warning(
|
async def test_vacuum_not_log_deprecated_state_warning(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_vacuum_entity: MockVacuum,
|
mock_vacuum_entity: MockVacuum,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user