mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +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 typing_extensions import Concatenate, ParamSpec
|
||||
|
||||
from homeassistant.components import persistent_notification
|
||||
from homeassistant.components.media_player.const import (
|
||||
MEDIA_TYPE_APP,
|
||||
MEDIA_TYPE_CHANNEL,
|
||||
@ -256,3 +257,16 @@ class BraviaTVCoordinator(DataUpdateCoordinator[None]):
|
||||
for _ in range(repeats):
|
||||
for cmd in command:
|
||||
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."""
|
||||
repeats = kwargs[ATTR_NUM_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