Emulated Roku Automation Handler Blueprint

Tags: #<Tag:0x00007fc414a2e650>

This blueprint allows you to choose actions for every emulated harmony command.
I map buttons from my logitech harmony remote to emulated roku, this blueprint then allows them each to be assigned to actions.
Now i can control my lights and chromecast (and anything) from my harmony remote.

Currently you have to type the name of your emulated roku, i couldnt get the selector working. If anyone has any info on how i can do this please let me know.

blueprint:
  name: Emulated Roku Automation Chooser
  description: 'Control anything using emulated roku and a harmony remote"'
  domain: automation
  input:
    emulated_roku:
      name: Emulated Roku
      description: Type the name of your emulated roku (can be found by going to Configuration, Integrations, Emulated Roku)
#      selector:
#        device:
#          integration: 
#          manufacturer: 
#          model: 
    Home:
      name: Home
      description: Action to run on press Home
      default: []
      selector:
        action: {}
    Rev:
      name: Rev
      description: Action to run on press Rev
      default: []
      selector:
        action: {}
    Fwd:
      name: Fwd
      description: Action to run on press Fwd
      default: []
      selector:
        action: {}
    Play:
      name: Play
      description: Action to run on press play
      default: []
      selector:
        action: {}
    Select:
      name: Select
      description: Action to run on press select
      default: []
      selector:
        action: {}
    Left:
      name: Left
      description: Action to run on press left
      default: []
      selector:
        action: {}
    Right:
      name: Right
      description: Action to run on press Right
      default: []
      selector:
        action: {}
    Down:
      name: Down
      description: Action to run on press down
      default: []
      selector:
        action: {}
    Up:
      name: Up
      description: Action to run on press Up
      default: []
      selector:
        action: {}
    Back:
      name: Back
      description: Action to run on press back
      default: []
      selector:
        action: {}
    InstantReplay:
      name: InstantReplay
      description: Action to run on press instant replay
      default: []
      selector:
        action: {}
    Info:
      name: Info
      description: Action to run on press info
      default: []
      selector:
        action: {}
    BackSpace:
      name: BackSpace
      description: Action to run on press backspace
      default: []
      selector:
        action: {}
    Search:
      name: Search
      description: Action to run on press search
      default: []
      selector:
        action: {}
    Enter:
      name: Enter
      description: Action to run on press enter
      default: []
      selector:
        action: {}        
mode: restart
max_exceeded: silent
trigger:
- platform: event
  event_type: roku_command
  event_data:
    source_name: !input 'emulated_roku'
action:
- variables:
    event: '{{ trigger.event.data.key }}'
- choose:
  - conditions:
    - '{{ event == "Home" }}'
    sequence: !input 'Home'
  - conditions:
    - '{{ event == "Rev" }}'
    sequence: !input 'Rev'
  - conditions:
    - '{{ event == "Fwd" }}'
    sequence: !input 'Fwd'
  - conditions:
    - '{{ event == "Play" }}'
    sequence: !input 'Play'
  - conditions:
    - '{{ event == "Select" }}'
    sequence: !input 'Select'
  - conditions:
    - '{{ event == "Left" }}'
    sequence: !input 'Left'
  - conditions:
    - '{{ event == "Right" }}'
    sequence: !input 'Right'
  - conditions:
    - '{{ event == "Down" }}'
    sequence: !input 'Down'
  - conditions:
    - '{{ event == "Up" }}'
    sequence: !input 'Up'
  - conditions:
    - '{{ event == "Back" }}'
    sequence: !input 'Back'
  - conditions:
    - '{{ event == "InstantReplay" }}'
    sequence: !input 'InstantReplay'
  - conditions:
    - '{{ event == "Info" }}'
    sequence: !input 'Info'
  - conditions:
    - '{{ event == "BackSpace" }}'
    sequence: !input 'BackSpace'
  - conditions:
    - '{{ event == "Search" }}'
    sequence: !input 'Search'
  - conditions:
    - '{{ event == "Enter" }}'
    sequence: !input 'Enter'

thank you for sharing your blueprint :slight_smile:

2 little remarks :

  • Backspace should be renamed to BackSpace to trigger
  • you can add the undocumented button PowerOff which is available on Harmony remotes.

I don’t know if you are also using this with Harmony, but I couldn’t find how to map the button “Enter” using the Harmony mobile app on my 950 remote, did you ?

PS: I couldn’t find a way to activate the Roku selector either

Thanks, I’ve corrected BackSpace.
I wasn’t aware of power off, I’ll look into that.
I have a harmony hub and remote, I seem to remember using the web app to select a button and assign any Roku command to it

@samnewman86 Still new so thank you very much for this blueprint, lighting control via Harmony was my primary goal. Question for you when setting the commands, is there a way to include conditions where these commands are only triggered for specific activities and not others? I have a flat screen that is my daily driver then a screen that comes down in front for movie time and I would like to set it up so that only those projector driven activities control the light. I have taken a shot at that and have so far been unsuccessful, any help is appreciated.

and just after typing this I decided to give it one more shot and I think I have it working. To help anyone else (and verify I did indeed do this right) that got to this topic with a similar use case please see the screenshot for what mine looks like and seems to be working.

You could also select a choose action. This enables you to set conditions and subsequent actions determined by those conditions.