diff --git a/homeassistant/components/cast/helpers.py b/homeassistant/components/cast/helpers.py index 71caa6490d8..6d021d020c4 100644 --- a/homeassistant/components/cast/helpers.py +++ b/homeassistant/components/cast/helpers.py @@ -43,7 +43,7 @@ class ChromecastInfo: ) @property - def manufacturer(self) -> str: + def manufacturer(self) -> str | None: """Return the manufacturer.""" if self._manufacturer: return self._manufacturer diff --git a/homeassistant/components/cast/home_assistant_cast.py b/homeassistant/components/cast/home_assistant_cast.py index bb0354bb68e..fb2d790d03d 100644 --- a/homeassistant/components/cast/home_assistant_cast.py +++ b/homeassistant/components/cast/home_assistant_cast.py @@ -82,4 +82,5 @@ async def async_remove_user( if user_id is not None: user = await hass.auth.async_get_user(user_id) - await hass.auth.async_remove_user(user) + if user: + await hass.auth.async_remove_user(user) diff --git a/homeassistant/components/cast/media_player.py b/homeassistant/components/cast/media_player.py index 07e97dd1a7e..fde9b23704d 100644 --- a/homeassistant/components/cast/media_player.py +++ b/homeassistant/components/cast/media_player.py @@ -3,7 +3,7 @@ from __future__ import annotations import asyncio from contextlib import suppress -from datetime import timedelta +from datetime import datetime, timedelta import functools as ft import json import logging @@ -169,8 +169,8 @@ class CastDevice(MediaPlayerEntity): self.cast_status = None self.media_status = None self.media_status_received = None - self.mz_media_status = {} - self.mz_media_status_received = {} + self.mz_media_status: dict[str, pychromecast.controllers.media.MediaStatus] = {} + self.mz_media_status_received: dict[str, datetime] = {} self.mz_mgr = None self._available = False self._status_listener: CastStatusListener | None = None @@ -774,7 +774,7 @@ class CastDevice(MediaPlayerEntity): url_path: str | None, ): """Handle a show view signal.""" - if entity_id != self.entity_id: + if entity_id != self.entity_id or self._chromecast is None: return if self._hass_cast_controller is None: diff --git a/mypy.ini b/mypy.ini index 5ed805a1b59..c3dd71d8229 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1060,9 +1060,6 @@ ignore_errors = true [mypy-homeassistant.components.bsblan.*] ignore_errors = true -[mypy-homeassistant.components.cast.*] -ignore_errors = true - [mypy-homeassistant.components.cert_expiry.*] ignore_errors = true diff --git a/script/hassfest/mypy_config.py b/script/hassfest/mypy_config.py index 8b9b15d35aa..dbde9516f8c 100644 --- a/script/hassfest/mypy_config.py +++ b/script/hassfest/mypy_config.py @@ -30,7 +30,6 @@ IGNORED_MODULES: Final[list[str]] = [ "homeassistant.components.blueprint.*", "homeassistant.components.bmw_connected_drive.*", "homeassistant.components.bsblan.*", - "homeassistant.components.cast.*", "homeassistant.components.cert_expiry.*", "homeassistant.components.climacell.*", "homeassistant.components.cloud.*",