Use runtime_data in epson (#136706)

This commit is contained in:
epenet 2025-01-28 11:57:12 +01:00 committed by GitHub
parent f14f7936eb
commit 933aec1027
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 14 deletions

View File

@ -13,13 +13,15 @@ from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import CONF_CONNECTION_TYPE, DOMAIN, HTTP
from .const import CONF_CONNECTION_TYPE, HTTP
from .exceptions import CannotConnect, PoweredOff
PLATFORMS = [Platform.MEDIA_PLAYER]
_LOGGER = logging.getLogger(__name__)
type EpsonConfigEntry = ConfigEntry[Projector]
async def validate_projector(
hass: HomeAssistant,
@ -45,7 +47,7 @@ async def validate_projector(
return epson_proj
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_setup_entry(hass: HomeAssistant, entry: EpsonConfigEntry) -> bool:
"""Set up epson from a config entry."""
projector = await validate_projector(
hass=hass,
@ -54,23 +56,21 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
check_power=False,
check_powered_on=False,
)
hass.data.setdefault(DOMAIN, {})
hass.data[DOMAIN][entry.entry_id] = projector
entry.runtime_data = projector
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
entry.async_on_unload(projector.close)
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: EpsonConfigEntry) -> bool:
"""Unload a config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
projector = hass.data[DOMAIN].pop(entry.entry_id)
projector.close()
return unload_ok
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
async def async_migrate_entry(
hass: HomeAssistant, config_entry: EpsonConfigEntry
) -> bool:
"""Migrate old entry."""
_LOGGER.debug(
"Migrating configuration from version %s.%s",

View File

@ -45,6 +45,7 @@ from homeassistant.helpers import (
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import EpsonConfigEntry
from .const import ATTR_CMODE, DOMAIN, SERVICE_SELECT_CMODE
_LOGGER = logging.getLogger(__name__)
@ -52,13 +53,12 @@ _LOGGER = logging.getLogger(__name__)
async def async_setup_entry(
hass: HomeAssistant,
config_entry: ConfigEntry,
config_entry: EpsonConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up the Epson projector from a config entry."""
projector: Projector = hass.data[DOMAIN][config_entry.entry_id]
projector_entity = EpsonProjectorMediaPlayer(
projector=projector,
projector=config_entry.runtime_data,
unique_id=config_entry.unique_id or config_entry.entry_id,
entry=config_entry,
)