"""The constants of the Evohome integration.""" from datetime import timedelta from enum import StrEnum, unique from typing import TYPE_CHECKING, Final from homeassistant.util.hass_dict import HassKey if TYPE_CHECKING: from . import EvoData DOMAIN: Final = "evohome" EVOHOME_DATA: HassKey[EvoData] = HassKey(DOMAIN) STORAGE_VER: Final = 1 STORAGE_KEY: Final = DOMAIN CONF_LOCATION_IDX: Final = "location_idx" SCAN_INTERVAL_DEFAULT: Final = timedelta(seconds=300) SCAN_INTERVAL_MINIMUM: Final = timedelta(seconds=60) ATTR_DURATION: Final = "duration" # number of minutes, <24h ATTR_PERIOD: Final = "period" # number of days ATTR_SETPOINT: Final = "setpoint" # Support for the reset service calls/presets is being deprecated RESET_BREAKS_IN_HA_VERSION: Final = "2026.11.0" # Support for untargeted service calls to controllers is being deprecated SERVICE_BREAKS_IN_HA_VERSION: Final = "2026.11.0" @unique class EvoService(StrEnum): """The Evohome services.""" REFRESH_SYSTEM = "refresh_system" SET_SYSTEM_MODE = "set_system_mode" RESET_SYSTEM = "reset_system" SET_ZONE_OVERRIDE = "set_zone_override" CLEAR_ZONE_OVERRIDE = "clear_zone_override" SET_DHW_OVERRIDE = "set_dhw_override"