diff --git a/homeassistant/components/esphome/cover.py b/homeassistant/components/esphome/cover.py index 1b3e42d5a17..8c28639ff34 100644 --- a/homeassistant/components/esphome/cover.py +++ b/homeassistant/components/esphome/cover.py @@ -1,6 +1,7 @@ """Support for ESPHome covers.""" from __future__ import annotations +from contextlib import suppress from typing import Any from aioesphomeapi import CoverInfo, CoverOperation, CoverState @@ -8,7 +9,7 @@ from aioesphomeapi import CoverInfo, CoverOperation, CoverState from homeassistant.components.cover import ( ATTR_POSITION, ATTR_TILT_POSITION, - DEVICE_CLASSES, + CoverDeviceClass, CoverEntity, CoverEntityFeature, ) @@ -54,11 +55,11 @@ class EsphomeCover(EsphomeEntity[CoverInfo, CoverState], CoverEntity): return flags @property - def device_class(self) -> str | None: + def device_class(self) -> CoverDeviceClass | None: """Return the class of this device, from component DEVICE_CLASSES.""" - if self._static_info.device_class not in DEVICE_CLASSES: - return None - return self._static_info.device_class + with suppress(ValueError): + return CoverDeviceClass(self._static_info.device_class) + return None @property def assumed_state(self) -> bool: