Sony Bravia TV
The Bravia TV integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] allows you to control a Sony Bravia TV
Almost all Sony Bravia TV 2013 and newer
配置
要将 Sony Bravia TV device 添加到您的 Home Assistant 实例中,请使用此 My 按钮:
Sony Bravia TV 可以被 Home Assistant 自动发现。如果发现了实例, 它将显示为 已发现。您可以立即进行设置。
手动配置步骤
如果没有自动发现,请不要担心!您可以设置一个 手动集成条目:
-
浏览到您的 Home Assistant 实例。
-
转到
设置 > 设备与服务。 -
在右下角,选择
Add Integration 按钮。 -
从列表中选择 Sony Bravia TV。
-
按照屏幕上的说明完成设置。
Authentication
The Bravia TV integration supports two types of authentication:
- PSK (Pre-Shared-Key) is a user-defined secret key used for access control. This authentication method is recommended as more reliable and stable. To set up and enable PSK on your TV, go to: Settings -> Network -> Home Network Setup -> IP Control.
- PIN Code authentication is easier and does not require additional settings. See this guide if your TV does not show the PIN code.
For more information, see IP Control Authentication
Media browser
Using the media browser, you can view a list of all installed applications and TV channels and launch them. You can access the media browser from the Media section in the Home Assistant side menu or by selecting the Browse media button on the media player card.
Using with Google Cast
The Bravia TV integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] provides information about the power status of the device, current source, and volume. It gives you the ability to control playback, run applications, and send remote control commands. Unfortunately, due to limitations of the Bravia REST API, it does not provide information about the currently playing content in applications (app name, media title, duration, play/pause state, etc.). In turn, the Google Cast integration does not provide reliable information about the power status of the device (for example on Home Screen) and does not allow you to control playback in Android apps without MediaSession
Example YAML configuration
Replace media_player.sony_tv_native
with your Bravia TV integration media player entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] ID. Replace media_player.sony_tv_cast
with your Google Cast integration media player entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] ID.
media_player:
- platform: universal
name: Sony TV
unique_id: sony_tv_combined
device_class: tv
children:
- media_player.sony_tv_native
- media_player.sony_tv_cast
active_child_template: >
{% if state_attr('media_player.sony_tv_native', 'media_content_id') %}
media_player.sony_tv_native
{% endif %}
attributes:
source: media_player.sony_tv_native|source
source_list: media_player.sony_tv_native|source_list
browse_media_entity: media_player.sony_tv_native
commands:
turn_off:
action: media_player.turn_off
data:
entity_id: media_player.sony_tv_native
turn_on:
action: media_player.turn_on
data:
entity_id: media_player.sony_tv_native
select_source:
action: media_player.select_source
data:
entity_id: media_player.sony_tv_native
source: "{{ source }}"
media_play:
action: media_player.media_play
target:
entity_id: media_player.sony_tv_native
media_pause:
action: media_player.media_pause
target:
entity_id: media_player.sony_tv_native
media_play_pause:
action: media_player.media_play_pause
target:
entity_id: media_player.sony_tv_native
media_previous_track:
action: media_player.media_previous_track
target:
entity_id: media_player.sony_tv_native
media_next_track:
action: media_player.media_next_track
target:
entity_id: media_player.sony_tv_native
Play media action
The play_media
action动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列。 [Learn more] can be used in an automationHome Assistant 中的自动化允许您自动响应在家中和周围发生的事情。 [Learn more] or script脚本是允许用户指定 Home Assistant 打开时要执行的动作序列的组件。 [Learn more] to switch to a specified application or TV channel. It selects the best matching application or channel according to the media_content_id
:
- Channel number (i.e., ‘1’ or ‘6’)
- Exact app or channel name (i.e., ‘Google Play’ or ‘CNN’)
- Substring in app or channel name (i.e., ‘BFM’ in ‘BFM TV’)
- URI-string of app or channel (i.e., ‘tv:dvbt?trip=9999.441.41104&srvName=BBC HD’)
Example to open YouTube app:
action: media_player.play_media
target:
entity_id: media_player.bravia_tv
data:
media_content_id: "YouTube"
media_content_type: "app"
Example to switch to channel number 11:
action: media_player.play_media
target:
entity_id: media_player.bravia_tv
data:
media_content_id: 11
media_content_type: "channel"
Example to switch to channel including ‘news’ in its name:
action: media_player.play_media
target:
entity_id: media_player.bravia_tv
data:
media_content_id: "news"
media_content_type: "channel"
Remote
The integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] supports remote
platform平台是某些集成提供的构建块,可供其他集成使用。 [Learn more]. It allows you to send remote control commands to your TV with the remote.send_command
action.
The commands that can be sent to the TV depend on the model of your TV. To display a list of supported commands for your TV, call the action动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列。 [Learn more] remote.send_command
with non-valid command (e.g. Test
). A list of available commands will be displayed in Home Assistant System Logs.
Example to send Down
key command:
action: remote.send_command
target:
entity_id: remote.bravia_tv
data:
command: "Down"
Some commonly used commands
- Up
- Down
- Left
- Right
- Confirm
- Return
- Home
- Exit
- Rewind
- Forward
- ActionMenu
- SyncMenu
- Num0
- Num1
- Num2
- Num3
- Num4
- Num5
- Num6
- Num7
- Num8
- Num9
Buttons
The integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] supports button
platform平台是某些集成提供的构建块,可供其他集成使用。 [Learn more] and allows you to reboot the device or terminate all running applications.
Limitations and known issues
TV does not generate new PIN
If you have previously set up your TV with any Home Assistant instances via PIN code, you must remove Home Assistant from your TV in order for your TV to generate a new PIN. On your TV, go to: Settings > Network > Remote device settings > Deregister remote device. Menu titles may differ slightly between models. If needed, refer to your specific model’s manual
Sometimes, the integration displays an error in the logs and does not respond to commands
Unfortunately, the system service application (WebApiCore) on the TV that provides Sony Bravia REST API does not work very well and has many problems. The service may begin to reboot spontaneously or freeze, especially when the TV has not been rebooted for a long time or a heavy application is running. Perhaps sometimes the process is killed by Android TV itself due to lack of memory. When the service is being rebooted (about 30 seconds), the API will be unavailable, and any interaction with the integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] may result in an error in the logs.
If you encounter this, you must completely reboot your TV. To do this, hold down the Power button on the remote control and select Restart. In addition, we recommend periodically completely restarting your TV. You can also create an automationHome Assistant 中的自动化允许您自动响应在家中和周围发生的事情。 [Learn more] that will automatically restart the TV (for example, every night if the TV is turned off).
If this happens very often, you can try to reset WebApiCore service. On your TV, go to: Settings > Apps > See all aps > Find WebApiCore > Press Clear data.
Integration shows ‘Smart TV’ instead of the name of the running application
See Using with Google Cast section for more details.
Power consumption ~15 W when the TV in standby mode while integration is enabled
The Bravia TV is local pulling integration. Even if the TV is turned off, its status is constantly polled to determine the current state, so the TV’s network interface remains enabled. This is normal behavior. If you are concerned about this, you can disable polling for updates in the integration System options menu, but the TV status will no longer update automatically and you will have to force the entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] update by calling homeassistant.update_entity
action动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列。 [Learn more] manually.
Please note that this behavior can be caused not only by the integration, but also by some applications installed on the TV.
For TVs older than 2013
Users of TVs older than 2013 can control their devices using HDMI-CEC, Broadlink or Kodi integrations.