Sony Bravia TV

The braviatv platform allows you to control a Sony Bravia TV.

Almost all Sony Bravia TV 2013 and newer are supported. A more generic method for older TVs connected to a Raspberry Pi with HDMI-CEC is explained further below.


Adding Sony Bravia TV to your Home Assistant instance can be done via the user interface, by using this My button:

Manual configuration steps

Common Issues

Previous Configurations

To ensure a clean re-configuration, please perform the following steps:

  • Ensure that all braviatv entries in configuration.yaml have been removed and bravia.conf does not exist in your .homeassistant folder.
  • Remove the entities you are reconfiguring from Home Assistant.
  • Restart Home Assistant.
  • Perform the TV does not generate new pin steps.
  • Retry configuration.

TV does not generate new pin:

If you have previously set up your TV with any Home Assistant instances, you must remove Home Assistant from your TV in order for your TV to generate a new pin. To do this, you must do one of the following:

  • On your TV, go to: Settings -> Network -> Remote device settings -> Deregister remote device. Disable and re-enable the Control remotely after. Menu titles may differ slightly between models. If needed, refer to your specific model’s manual for additional guidiance.
  • Reset your TV to factory condition.

Configuration using YAML

New setups via configuration.yaml file are currently not supported.

If you are updating from a previous version of Home Assistant and have the following configuration in your configuration.yaml file in addition to a bravia.conf file it will be imported to the Integrations:

# Example configuration.yaml entry
  - platform: braviatv
    host: IP_ADDRESS

Configuration Variables

host string Required

The IP of the Sony Bravia TV, e.g.,

name string (Optional, default: Sony Bravia TV)

The name to use on the frontend.

Extra configuration for the integration

The integration allows you to change ignored TV sources from the front end. Enter which Sony Bravia TV integration you want to change options on and press the cog wheel.

For TVs older than 2013

This is not part of the Bravia TV integration. Extra Configuration does not apply to the steps below.

Users of TVs older than 2013 have another option for controlling their TV via Home Assistant.


If you have a Raspberry Pi connected to your TV:

  - platform: command_line
        command_on: ssh [email protected][IP] "echo 'on 0' | cec-client -s"
        command_off: ssh [email protected][IP] "echo 'standby 0' | cec-client -s"
        command_state: ssh [email protected][IP] "echo 'pow 0' | cec-client -s |grep 'power status:'"
        value_template: '{{ value == "power status: on" }}'

Using cec-client is a great method to turn your TV off/on, however the trade off is if you’re using Kodi, it will no longer be able to control your TV using the TV Remote.

This is because only one process can control the CEC functionality within the Raspberry Pi at a time and running the above commands terminates the functionality inside libCEC within Kodi. Kodi must be restarted for TV remove functionality to work again.


If your desire is only to turn on your TV, the following “workaround” may be desirable:

Change the ‘on’ command to a restart for Kodi. This doesn’t reboot the Kodi device.

Restarting Kodi will trigger a HDMI-CEC event to bring the TV out of standby. The following can replace your TV ‘on’ command.

command_on: ssh [email protected][IP] "systemctl restart kodi"