Enable disallow-any-generics in light (#78499)

This commit is contained in:
epenet 2022-09-15 14:47:05 +02:00 committed by GitHub
parent a443cefa7b
commit de7e12eeaf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -112,6 +112,8 @@ COLOR_MODES_COLOR = {
ColorMode.XY,
}
# mypy: disallow-any-generics
def filter_supported_color_modes(color_modes: Iterable[ColorMode]) -> set[ColorMode]:
"""Filter the given color modes."""
@ -167,7 +169,7 @@ def color_temp_supported(color_modes: Iterable[ColorMode | str] | None) -> bool:
return ColorMode.COLOR_TEMP in color_modes
def get_supported_color_modes(hass: HomeAssistant, entity_id: str) -> set | None:
def get_supported_color_modes(hass: HomeAssistant, entity_id: str) -> set[str] | None:
"""Get supported color modes for a light entity.
First try the statemachine, then entity registry.
@ -366,7 +368,7 @@ def filter_turn_on_params(light: LightEntity, params: dict[str, Any]) -> dict[st
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: # noqa: C901
"""Expose light control via state machine and services."""
component = hass.data[DOMAIN] = EntityComponent(
component = hass.data[DOMAIN] = EntityComponent[LightEntity](
_LOGGER, DOMAIN, hass, SCAN_INTERVAL
)
await component.async_setup(config)
@ -583,13 +585,13 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: # noqa:
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up a config entry."""
component = cast(EntityComponent, hass.data[DOMAIN])
component: EntityComponent[LightEntity] = hass.data[DOMAIN]
return await component.async_setup_entry(entry)
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
component = cast(EntityComponent, hass.data[DOMAIN])
component: EntityComponent[LightEntity] = hass.data[DOMAIN]
return await component.async_unload_entry(entry)
@ -868,8 +870,10 @@ class LightEntity(ToggleEntity):
return data
def _light_internal_convert_color(self, color_mode: ColorMode | str) -> dict:
data: dict[str, tuple] = {}
def _light_internal_convert_color(
self, color_mode: ColorMode | str
) -> dict[str, tuple[float, ...]]:
data: dict[str, tuple[float, ...]] = {}
if color_mode == ColorMode.HS and self.hs_color:
hs_color = self.hs_color
data[ATTR_HS_COLOR] = (round(hs_color[0], 3), round(hs_color[1], 3))