mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Remove duplicate code in SamsungTV (#117913)
This commit is contained in:
parent
9454dfc719
commit
5ee42ec780
@ -12,6 +12,7 @@ from homeassistant.const import (
|
|||||||
CONF_MODEL,
|
CONF_MODEL,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
)
|
)
|
||||||
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers import device_registry as dr
|
from homeassistant.helpers import device_registry as dr
|
||||||
from homeassistant.helpers.device_registry import DeviceInfo
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
@ -67,3 +68,19 @@ class SamsungTVEntity(CoordinatorEntity[SamsungTVDataUpdateCoordinator], Entity)
|
|||||||
# If the ip address changed since we last saw the device
|
# If the ip address changed since we last saw the device
|
||||||
# broadcast a packet as well
|
# broadcast a packet as well
|
||||||
send_magic_packet(self._mac)
|
send_magic_packet(self._mac)
|
||||||
|
|
||||||
|
async def _async_turn_off(self) -> None:
|
||||||
|
"""Turn the device off."""
|
||||||
|
await self._bridge.async_power_off()
|
||||||
|
await self.coordinator.async_refresh()
|
||||||
|
|
||||||
|
async def _async_turn_on(self) -> None:
|
||||||
|
"""Turn the remote on."""
|
||||||
|
if self._turn_on_action:
|
||||||
|
await self._turn_on_action.async_run(self.hass, self._context)
|
||||||
|
elif self._mac:
|
||||||
|
await self.hass.async_add_executor_job(self._wake_on_lan)
|
||||||
|
else:
|
||||||
|
raise HomeAssistantError(
|
||||||
|
f"Entity {self.entity_id} does not support this service."
|
||||||
|
)
|
||||||
|
@ -311,8 +311,7 @@ class SamsungTVDevice(SamsungTVEntity, MediaPlayerEntity):
|
|||||||
|
|
||||||
async def async_turn_off(self) -> None:
|
async def async_turn_off(self) -> None:
|
||||||
"""Turn off media player."""
|
"""Turn off media player."""
|
||||||
await self._bridge.async_power_off()
|
await super()._async_turn_off()
|
||||||
await self.coordinator.async_refresh()
|
|
||||||
|
|
||||||
async def async_set_volume_level(self, volume: float) -> None:
|
async def async_set_volume_level(self, volume: float) -> None:
|
||||||
"""Set volume level on the media player."""
|
"""Set volume level on the media player."""
|
||||||
@ -386,10 +385,7 @@ class SamsungTVDevice(SamsungTVEntity, MediaPlayerEntity):
|
|||||||
|
|
||||||
async def async_turn_on(self) -> None:
|
async def async_turn_on(self) -> None:
|
||||||
"""Turn the media player on."""
|
"""Turn the media player on."""
|
||||||
if self._turn_on_action:
|
await super()._async_turn_on()
|
||||||
await self._turn_on_action.async_run(self.hass, self._context)
|
|
||||||
elif self._mac:
|
|
||||||
await self.hass.async_add_executor_job(self._wake_on_lan)
|
|
||||||
|
|
||||||
async def async_select_source(self, source: str) -> None:
|
async def async_select_source(self, source: str) -> None:
|
||||||
"""Select input source."""
|
"""Select input source."""
|
||||||
|
@ -7,7 +7,6 @@ from typing import Any
|
|||||||
|
|
||||||
from homeassistant.components.remote import ATTR_NUM_REPEATS, RemoteEntity
|
from homeassistant.components.remote import ATTR_NUM_REPEATS, RemoteEntity
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import SamsungTVConfigEntry
|
from . import SamsungTVConfigEntry
|
||||||
@ -33,7 +32,7 @@ class SamsungTVRemote(SamsungTVEntity, RemoteEntity):
|
|||||||
|
|
||||||
async def async_turn_off(self, **kwargs: Any) -> None:
|
async def async_turn_off(self, **kwargs: Any) -> None:
|
||||||
"""Turn the device off."""
|
"""Turn the device off."""
|
||||||
await self._bridge.async_power_off()
|
await super()._async_turn_off()
|
||||||
|
|
||||||
async def async_send_command(self, command: Iterable[str], **kwargs: Any) -> None:
|
async def async_send_command(self, command: Iterable[str], **kwargs: Any) -> None:
|
||||||
"""Send a command to a device.
|
"""Send a command to a device.
|
||||||
@ -53,11 +52,4 @@ class SamsungTVRemote(SamsungTVEntity, RemoteEntity):
|
|||||||
|
|
||||||
async def async_turn_on(self, **kwargs: Any) -> None:
|
async def async_turn_on(self, **kwargs: Any) -> None:
|
||||||
"""Turn the remote on."""
|
"""Turn the remote on."""
|
||||||
if self._turn_on_action:
|
await super()._async_turn_on()
|
||||||
await self._turn_on_action.async_run(self.hass, self._context)
|
|
||||||
elif self._mac:
|
|
||||||
await self.hass.async_add_executor_job(self._wake_on_lan)
|
|
||||||
else:
|
|
||||||
raise HomeAssistantError(
|
|
||||||
f"Entity {self.entity_id} does not support this service."
|
|
||||||
)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user