Android TV Remote


The Android TV Remote integration allows you to control an Android TV and launching apps. For this to work the Android TV device needs to have Android TV Remote Service which is pre-installed on most devices.

For a quick introduction on how to get started with Android TV Remote, check out this video:

Configuration

To add the Android TV Remote integration to your Home Assistant instance, use this My button:

Android TV Remote can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.

Media player

This integration adds a media_player with basic playback and volume controls. The media player provides volume information and display name of current active app on the Android TV. Due to API limitations, the integration will not display the playback status. It is recommended to use this integration together with Google Cast integration. Two media players can be combined into one using the Universal Media Player integration.

Using the media_player.play_media service, you can launch applications via Deep Links and switch channels.

Launching apps

You can pass any URL to the device to open it in the built-in browser. Using Deep Links you can launch some applications.

Examples of some Deep Links for popular applications:

App URL
YouTube https://www.youtube.com
Netflix https://www.netflix.com/title
Prime Video https://app.primevideo.com
Disney+ https://www.disneyplus.com

Examples:

# Launch the Netflix app
service: media_player.play_media
data:
  media_content_type: url
  media_content_id: https://www.netflix.com/title
target:
  entity_id: media_player.living_room_tv
# Open a specific YouTube video:
service: media_player.play_media
data:
  media_content_type: url
  media_content_id: https://www.youtube.com/watch?v=dQw4w9WgXcQ
target:
  entity_id: media_player.living_room_tv

Switch channels

You can pass the channel number to switch the channel. The channel number must be an integer.

Example:

# Change channel to number 15:
service: media_player.play_media
data:
  media_content_type: channel
  media_content_id: 15
target:
  entity_id: media_player.living_room_tv

Remote

The remote allows you to send key commands to your Android TV device with the remote.send_command service. The entity has the current_activity attribute that shows the current foreground app on the Android TV.

For a full list see here.

If activity is specified in remote.turn_on it will open the specified URL in the associated app. See Launching apps section.

Examples of service calls:

# Open the currently selected item on the Android TV
service: remote.send_command
data:
  command: DPAD_CENTER
target:
  entity_id: remote.living_room_tv
# Long press on the currently selected item on the Android TV
service: remote.send_command
data:
  command: DPAD_CENTER
  hold_secs: 0.5
target:
  entity_id: remote.living_room_tv
# Launch YouTube
service: remote.turn_on
data:
  activity: https://www.youtube.com
target:
  entity_id: remote.living_room_tv
# Open a specific YouTube video:
service: remote.turn_on
data:
  activity: https://www.youtube.com/watch?v=dQw4w9WgXcQ
target:
  entity_id: remote.living_room_tv

Dashboard example

You have to manually create buttons in Lovelace to send commands to the Android TV device or launch apps on it.

Below is an example for you to start with. Many of the buttons support long press.

Screenshot Android TV Remote example