Migrate BraviaTV to new entity naming style (#75253)

This commit is contained in:
Maciej Bieniek 2022-07-16 17:43:47 +02:00 committed by GitHub
parent 20d70337d5
commit 859189421b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 38 additions and 57 deletions

View File

@ -137,6 +137,7 @@ omit =
homeassistant/components/bosch_shc/switch.py
homeassistant/components/braviatv/__init__.py
homeassistant/components/braviatv/const.py
homeassistant/components/braviatv/entity.py
homeassistant/components/braviatv/media_player.py
homeassistant/components/braviatv/remote.py
homeassistant/components/broadlink/__init__.py

View File

@ -12,6 +12,5 @@ CONF_IGNORED_SOURCES: Final = "ignored_sources"
BRAVIA_CONFIG_FILE: Final = "bravia.conf"
CLIENTID_PREFIX: Final = "HomeAssistant"
DEFAULT_NAME: Final = f"{ATTR_MANUFACTURER} Bravia TV"
DOMAIN: Final = "braviatv"
NICKNAME: Final = "Home Assistant"

View File

@ -0,0 +1,29 @@
"""A entity class for BraviaTV integration."""
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import BraviaTVCoordinator
from .const import ATTR_MANUFACTURER, DOMAIN
class BraviaTVEntity(CoordinatorEntity[BraviaTVCoordinator]):
"""BraviaTV entity class."""
_attr_has_entity_name = True
def __init__(
self,
coordinator: BraviaTVCoordinator,
unique_id: str,
model: str,
) -> None:
"""Initialize the entity."""
super().__init__(coordinator)
self._attr_unique_id = unique_id
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, unique_id)},
manufacturer=ATTR_MANUFACTURER,
model=model,
name=f"{ATTR_MANUFACTURER} {model}",
)

View File

@ -9,12 +9,10 @@ from homeassistant.components.media_player import (
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import STATE_OFF, STATE_PAUSED, STATE_PLAYING
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import BraviaTVCoordinator
from .const import ATTR_MANUFACTURER, DEFAULT_NAME, DOMAIN
from .const import DOMAIN
from .entity import BraviaTVEntity
async def async_setup_entry(
@ -27,19 +25,13 @@ async def async_setup_entry(
coordinator = hass.data[DOMAIN][config_entry.entry_id]
unique_id = config_entry.unique_id
assert unique_id is not None
device_info = DeviceInfo(
identifiers={(DOMAIN, unique_id)},
manufacturer=ATTR_MANUFACTURER,
model=config_entry.title,
name=DEFAULT_NAME,
)
async_add_entities(
[BraviaTVMediaPlayer(coordinator, DEFAULT_NAME, unique_id, device_info)]
[BraviaTVMediaPlayer(coordinator, unique_id, config_entry.title)]
)
class BraviaTVMediaPlayer(CoordinatorEntity[BraviaTVCoordinator], MediaPlayerEntity):
class BraviaTVMediaPlayer(BraviaTVEntity, MediaPlayerEntity):
"""Representation of a Bravia TV Media Player."""
_attr_device_class = MediaPlayerDeviceClass.TV
@ -57,21 +49,6 @@ class BraviaTVMediaPlayer(CoordinatorEntity[BraviaTVCoordinator], MediaPlayerEnt
| MediaPlayerEntityFeature.STOP
)
def __init__(
self,
coordinator: BraviaTVCoordinator,
name: str,
unique_id: str,
device_info: DeviceInfo,
) -> None:
"""Initialize the entity."""
self._attr_device_info = device_info
self._attr_name = name
self._attr_unique_id = unique_id
super().__init__(coordinator)
@property
def state(self) -> str | None:
"""Return the state of the device."""

View File

@ -7,12 +7,10 @@ from typing import Any
from homeassistant.components.remote import ATTR_NUM_REPEATS, RemoteEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import BraviaTVCoordinator
from .const import ATTR_MANUFACTURER, DEFAULT_NAME, DOMAIN
from .const import DOMAIN
from .entity import BraviaTVEntity
async def async_setup_entry(
@ -25,36 +23,13 @@ async def async_setup_entry(
coordinator = hass.data[DOMAIN][config_entry.entry_id]
unique_id = config_entry.unique_id
assert unique_id is not None
device_info = DeviceInfo(
identifiers={(DOMAIN, unique_id)},
manufacturer=ATTR_MANUFACTURER,
model=config_entry.title,
name=DEFAULT_NAME,
)
async_add_entities(
[BraviaTVRemote(coordinator, DEFAULT_NAME, unique_id, device_info)]
)
async_add_entities([BraviaTVRemote(coordinator, unique_id, config_entry.title)])
class BraviaTVRemote(CoordinatorEntity[BraviaTVCoordinator], RemoteEntity):
class BraviaTVRemote(BraviaTVEntity, RemoteEntity):
"""Representation of a Bravia TV Remote."""
def __init__(
self,
coordinator: BraviaTVCoordinator,
name: str,
unique_id: str,
device_info: DeviceInfo,
) -> None:
"""Initialize the entity."""
self._attr_device_info = device_info
self._attr_name = name
self._attr_unique_id = unique_id
super().__init__(coordinator)
@property
def is_on(self) -> bool:
"""Return true if device is on."""