Quinn Hosler b13db6391a
new documentation regarding play_media service (#12902)
* new documentation regarding play_media service

* ✏️ Tweak

* ✏️ Tweak

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-04-15 14:58:36 +02:00

3.5 KiB

title, description, ha_category, ha_iot_class, ha_release, ha_domain, ha_config_flow, ha_quality_scale, ha_codeowners
title description ha_category ha_iot_class ha_release ha_domain ha_config_flow ha_quality_scale ha_codeowners
Roku Instructions how to integrate Roku devices into Home Assistant.
Hub
Media Player
Remote
Local Polling 0.86 roku true silver
@ctalkington

The Roku integration allows you to control a Roku device.

Configuration

Go to the integrations page in your configuration and click on new integration -> Roku. If your Roku device is on, it has likely been discovered already and you just have to confirm the detected device.

There is currently support for the following device types within Home Assistant:

  • Media Player
  • Remote

YAML Configuration

Manual configuration of your Roku device is also possible, add the following to your configuration.yaml file:

# Example configuration.yaml entry
roku:
  - host: IP_ADDRESS

{% configuration %} host: description: Set the IP address of the Roku device. required: true type: string {% endconfiguration %}

Remote

The roku remote platform allows you to send remote control buttons to a Roku device. It is automatically set up when a Roku is configured.

At the moment, the following buttons are supported:

  • back
  • backspace
  • channel_down
  • channel_up
  • down
  • enter
  • find_remote
  • forward
  • home
  • info
  • input_av1
  • input_hdmi1
  • input_hdmi2
  • input_hdmi3
  • input_hdmi4
  • input_tuner
  • left
  • literal
  • play
  • power
  • replay
  • reverse
  • right
  • search
  • select
  • up
  • volume_down
  • volume_mute
  • volume_up

A typical service call for pressing several buttons looks like this.

service: remote.send_command
data:
  entity_id: remote.roku
  command:
    - left
    - left
    - select

Media Player

When the Home Assistant Roku integration is enabled and a Roku device has been configured, in the Home Assistant UI the Roku media player will show a listing of the installed channels, or apps, under “source”. Select one and it will attempt to launch the channel on your Roku device. This action can also be automated, but it requires you to acquire an extra piece of information; the appID for the channel specific to your Roku. Although this information is gathered by the Roku integration, at the moment it is not exposed to the end user. This item might be added in a future release. For now though, you can easily get the information yourself. All you need to do is a simple GET API call on the same network as your device.

The API calls are like this:

GET http:// ROKU_IP:8060/query/apps
POST http://ROKU_IP:8060/launch/APP_ID

YouTube example:
POST http://YOUR_ROKU_IP:8060/launch/837?contentID=YOUR_YOUTUBE_VIDEOS_CONTENT_ID&MediaType=live

More details can be found on the Roku dev pages

To use this in Home Assistant, for instance in an automation, the format is as follows. Note that source: is the appID you discovered in the API call:

action:
- data:
    entity_id: media_player.roku
    source: 20197
  service: media_player.select_source

It is also possible to tune directly to specific channels if you have a Roku TV and use an OTA antenna. This service only supports media_channel_type of 'channel'. media_content_id corresponds to the TV channel, which you should see when navigating to these on your TV UI.

action:
- data:
    entity_id: media_player.roku
    media_content_id: 5.1
    media_content_type: channel
  service: media_player.play_media