From e478045ce2d38ad3f4e374f7c9150c736e0dd024 Mon Sep 17 00:00:00 2001 From: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com> Date: Mon, 26 Jan 2026 12:50:00 +0100 Subject: [PATCH] Move vacuum constants to const.py (#161620) --- homeassistant/components/vacuum/__init__.py | 24 ++--------------- homeassistant/components/vacuum/const.py | 29 ++++++++++++++++++++- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/homeassistant/components/vacuum/__init__.py b/homeassistant/components/vacuum/__init__.py index 13389c6e797..5985bb5bcac 100644 --- a/homeassistant/components/vacuum/__init__.py +++ b/homeassistant/components/vacuum/__init__.py @@ -4,7 +4,6 @@ from __future__ import annotations import asyncio from datetime import timedelta -from enum import IntFlag from functools import partial import logging from typing import TYPE_CHECKING, Any, final @@ -36,20 +35,20 @@ from homeassistant.helpers.frame import ReportBehavior, report_usage from homeassistant.helpers.icon import icon_for_battery_level from homeassistant.helpers.typing import ConfigType from homeassistant.loader import bind_hass -from homeassistant.util.hass_dict import HassKey from .const import ( # noqa: F401 _DEPRECATED_STATE_CLEANING, _DEPRECATED_STATE_DOCKED, _DEPRECATED_STATE_ERROR, _DEPRECATED_STATE_RETURNING, + DATA_COMPONENT, DOMAIN, VacuumActivity, + VacuumEntityFeature, ) _LOGGER = logging.getLogger(__name__) -DATA_COMPONENT: HassKey[EntityComponent[StateVacuumEntity]] = HassKey(DOMAIN) ENTITY_ID_FORMAT = DOMAIN + ".{}" PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA PLATFORM_SCHEMA_BASE = cv.PLATFORM_SCHEMA_BASE @@ -85,25 +84,6 @@ _BATTERY_DEPRECATION_IGNORED_PLATFORMS = ( ) -class VacuumEntityFeature(IntFlag): - """Supported features of the vacuum entity.""" - - TURN_ON = 1 # Deprecated, not supported by StateVacuumEntity - TURN_OFF = 2 # Deprecated, not supported by StateVacuumEntity - PAUSE = 4 - STOP = 8 - RETURN_HOME = 16 - FAN_SPEED = 32 - BATTERY = 64 - STATUS = 128 # Deprecated, not supported by StateVacuumEntity - SEND_COMMAND = 256 - LOCATE = 512 - CLEAN_SPOT = 1024 - MAP = 2048 - STATE = 4096 # Must be set by vacuum platforms derived from StateVacuumEntity - START = 8192 - - # mypy: disallow-any-generics diff --git a/homeassistant/components/vacuum/const.py b/homeassistant/components/vacuum/const.py index f153a11dcb9..d6b94e9a8bd 100644 --- a/homeassistant/components/vacuum/const.py +++ b/homeassistant/components/vacuum/const.py @@ -2,8 +2,9 @@ from __future__ import annotations -from enum import StrEnum +from enum import IntFlag, StrEnum from functools import partial +from typing import TYPE_CHECKING from homeassistant.helpers.deprecation import ( DeprecatedConstantEnum, @@ -11,9 +12,16 @@ from homeassistant.helpers.deprecation import ( check_if_deprecated_constant, dir_with_deprecated_constants, ) +from homeassistant.helpers.entity_component import EntityComponent +from homeassistant.util.hass_dict import HassKey + +if TYPE_CHECKING: + from . import StateVacuumEntity DOMAIN = "vacuum" +DATA_COMPONENT: HassKey[EntityComponent[StateVacuumEntity]] = HassKey(DOMAIN) + class VacuumActivity(StrEnum): """Vacuum activity states.""" @@ -26,6 +34,25 @@ class VacuumActivity(StrEnum): ERROR = "error" +class VacuumEntityFeature(IntFlag): + """Supported features of the vacuum entity.""" + + TURN_ON = 1 # Deprecated, not supported by StateVacuumEntity + TURN_OFF = 2 # Deprecated, not supported by StateVacuumEntity + PAUSE = 4 + STOP = 8 + RETURN_HOME = 16 + FAN_SPEED = 32 + BATTERY = 64 + STATUS = 128 # Deprecated, not supported by StateVacuumEntity + SEND_COMMAND = 256 + LOCATE = 512 + CLEAN_SPOT = 1024 + MAP = 2048 + STATE = 4096 # Must be set by vacuum platforms derived from StateVacuumEntity + START = 8192 + + # These STATE_* constants are deprecated as of Home Assistant 2025.1. # Please use the VacuumActivity enum instead. _DEPRECATED_STATE_CLEANING = DeprecatedConstantEnum(VacuumActivity.CLEANING, "2026.1")