From de7e12eeaf566a0ee15569cfd75dda68bb8cc5ec Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:47:05 +0200 Subject: [PATCH] Enable disallow-any-generics in light (#78499) --- homeassistant/components/light/__init__.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/light/__init__.py b/homeassistant/components/light/__init__.py index 9a40d159ad6..e179672f45a 100644 --- a/homeassistant/components/light/__init__.py +++ b/homeassistant/components/light/__init__.py @@ -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))