mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Add remote learn command to BraviaTV (#76655)
* add bravia remote learn * unwrap
This commit is contained in:
parent
cfa26ae0ca
commit
647eb9650d
@ -10,6 +10,7 @@ from typing import Any, Final, TypeVar
|
|||||||
from pybravia import BraviaTV, BraviaTVError
|
from pybravia import BraviaTV, BraviaTVError
|
||||||
from typing_extensions import Concatenate, ParamSpec
|
from typing_extensions import Concatenate, ParamSpec
|
||||||
|
|
||||||
|
from homeassistant.components import persistent_notification
|
||||||
from homeassistant.components.media_player.const import (
|
from homeassistant.components.media_player.const import (
|
||||||
MEDIA_TYPE_APP,
|
MEDIA_TYPE_APP,
|
||||||
MEDIA_TYPE_CHANNEL,
|
MEDIA_TYPE_CHANNEL,
|
||||||
@ -256,3 +257,16 @@ class BraviaTVCoordinator(DataUpdateCoordinator[None]):
|
|||||||
for _ in range(repeats):
|
for _ in range(repeats):
|
||||||
for cmd in command:
|
for cmd in command:
|
||||||
await self.client.send_command(cmd)
|
await self.client.send_command(cmd)
|
||||||
|
|
||||||
|
@catch_braviatv_errors
|
||||||
|
async def async_learn_command(self, entity_id: str) -> None:
|
||||||
|
"""Display a list of available commands in a persistent notification."""
|
||||||
|
commands = await self.client.get_command_list()
|
||||||
|
codes = ", ".join(commands.keys())
|
||||||
|
title = "Bravia TV"
|
||||||
|
message = f"**List of available commands for `{entity_id}`**:\n\n{codes}"
|
||||||
|
persistent_notification.async_create(
|
||||||
|
self.hass,
|
||||||
|
title=title,
|
||||||
|
message=message,
|
||||||
|
)
|
||||||
|
@ -47,3 +47,7 @@ class BraviaTVRemote(BraviaTVEntity, RemoteEntity):
|
|||||||
"""Send a command to device."""
|
"""Send a command to device."""
|
||||||
repeats = kwargs[ATTR_NUM_REPEATS]
|
repeats = kwargs[ATTR_NUM_REPEATS]
|
||||||
await self.coordinator.async_send_command(command, repeats)
|
await self.coordinator.async_send_command(command, repeats)
|
||||||
|
|
||||||
|
async def async_learn_command(self, **kwargs: Any) -> None:
|
||||||
|
"""Learn commands from the device."""
|
||||||
|
await self.coordinator.async_learn_command(self.entity_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user