Remove str from cover device class (#83396)

* Remove str from cover device class

* Fix tests
pull/83418/head
Franck Nijhof 2022-12-06 16:13:29 +01:00 committed by GitHub
parent ba0d6fe611
commit c507ad86d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 18 deletions

View File

@ -218,7 +218,7 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
class CoverEntityDescription(EntityDescription):
"""A class that describes cover entities."""
device_class: CoverDeviceClass | str | None = None
device_class: CoverDeviceClass | None = None
class CoverEntity(Entity):
@ -227,7 +227,7 @@ class CoverEntity(Entity):
entity_description: CoverEntityDescription
_attr_current_cover_position: int | None = None
_attr_current_cover_tilt_position: int | None = None
_attr_device_class: CoverDeviceClass | str | None
_attr_device_class: CoverDeviceClass | None
_attr_is_closed: bool | None
_attr_is_closing: bool | None = None
_attr_is_opening: bool | None = None
@ -253,7 +253,7 @@ class CoverEntity(Entity):
return self._attr_current_cover_tilt_position
@property
def device_class(self) -> CoverDeviceClass | str | None:
def device_class(self) -> CoverDeviceClass | None:
"""Return the class of this entity."""
if hasattr(self, "_attr_device_class"):
return self._attr_device_class

View File

@ -69,7 +69,7 @@ class HomematicipBlindModule(HomematicipGenericEntity, CoverEntity):
"""Representation of the HomematicIP blind module."""
@property
def device_class(self) -> str:
def device_class(self) -> CoverDeviceClass:
"""Return the class of the cover."""
return CoverDeviceClass.BLIND
@ -162,7 +162,7 @@ class HomematicipMultiCoverShutter(HomematicipGenericEntity, CoverEntity):
)
@property
def device_class(self) -> str:
def device_class(self) -> CoverDeviceClass:
"""Return the class of the cover."""
return CoverDeviceClass.SHUTTER
@ -284,7 +284,7 @@ class HomematicipGarageDoorModule(HomematicipGenericEntity, CoverEntity):
return door_state_to_position.get(self._device.doorState)
@property
def device_class(self) -> str:
def device_class(self) -> CoverDeviceClass:
"""Return the class of the cover."""
return CoverDeviceClass.GARAGE
@ -315,7 +315,7 @@ class HomematicipCoverShutterGroup(HomematicipGenericEntity, CoverEntity):
super().__init__(hap, device, post, is_multi_channel=False)
@property
def device_class(self) -> str:
def device_class(self) -> CoverDeviceClass:
"""Return the class of the cover."""
return CoverDeviceClass.SHUTTER

View File

@ -99,7 +99,7 @@ class NetatmoCover(NetatmoBase, CoverEntity):
await self._cover.async_set_target_position(kwargs[ATTR_POSITION])
@property
def device_class(self) -> str:
def device_class(self) -> CoverDeviceClass:
"""Return the device class."""
return CoverDeviceClass.SHUTTER

View File

@ -65,15 +65,12 @@ class VerticalCover(OverkizGenericCover):
return supported_features
@property
def device_class(self) -> str:
def device_class(self) -> CoverDeviceClass:
"""Return the class of the device."""
return cast(
str,
(
OVERKIZ_DEVICE_TO_DEVICE_CLASS.get(self.device.widget)
or OVERKIZ_DEVICE_TO_DEVICE_CLASS.get(self.device.ui_class)
or CoverDeviceClass.BLIND
),
return (
OVERKIZ_DEVICE_TO_DEVICE_CLASS.get(self.device.widget)
or OVERKIZ_DEVICE_TO_DEVICE_CLASS.get(self.device.ui_class)
or CoverDeviceClass.BLIND
)
@property

View File

@ -1086,7 +1086,7 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = {
matches=[
TypeHintMatch(
function_name="device_class",
return_type=["CoverDeviceClass", "str", None],
return_type=["CoverDeviceClass", None],
),
TypeHintMatch(
function_name="current_cover_position",

View File

@ -898,7 +898,7 @@ def test_invalid_device_class(
pylint.testutils.MessageTest(
msg_id="hass-return-type",
node=prop_node,
args=(["CoverDeviceClass", "str", None], "device_class"),
args=(["CoverDeviceClass", None], "device_class"),
line=12,
col_offset=4,
end_line=12,