PRProd/HA-Firemote

Trying to use AL2 remote for Roku Ultra

Closed this issue · 6 comments

Describe the bug

I am trying to use the AL2 remote instead of the Roku Ultra remote for my Roku Ultra. I am trying to override the hamburger and mute buttons, but I can't seem to override them. I keep getting the Service androidtv.adb_command not found error. This is what my overrides look like:

roku_remote_entity: remote.roku_ultra
button_overrides:
  hamburger-button:
    service: remote.send_command
    data:
      entity_id: remote.roku_ultra
      command: settings
  mute-button:
    service: remote.send_command
    data:
      entity_id: remote.harmony_hub
      device: xxx
      command: Mute

To Reproduce

See above

Expected Behavior

I should be able to override those buttons

Which Type of Device Do You Own?

Roku Ultra

Troubleshooting Steps Completed

No response

Additional context

No response

Greetings @sameer-git!

Quick question: What do you have set for these entires?

device_family: roku
device_type: roku-ultra-lt-2023
roku_remote_entity: remote.roku_ultra

Could you post your entire Firemote YAML config for me to look at?

I think I can simplify some of the commands (bypass the remote, but just using this for now from other buttons I had created before using Firemote)

type: custom:firemote-card
entity: media_player.roku_ultra
device_family: roku
device_type: roku-ultra-2020
compatibility_mode: default
defaultRemoteStyle_override: AL2
app_launcher_relative_size: 0
app_launch_1: disney-plus
app_launch_2: netflix
roku_remote_entity: remote.roku_ultra
button_overrides:
  hamburger-button:
    service: remote.send_command
    data:
      entity_id: remote.roku_ultra
      command: settings
  mute-button:
    service: remote.send_command
    data:
      entity_id: remote.harmony_hub
      device: xxx
      command: Mute

Thanks for your reply @sameer-git ~

There are two things happening in your config:

  1. The entity_id does not belong in the data group. It belongs inside its own group called target (see the button overrides section of the readme for another example)
  2. The Roku command settings does not exist. (see a list of valid roku remote commands here) The closest valid command might be info but ultimately it's your decision to either hide that button or choose from one of the alternate valid Roku remote commands.

With those things corrected, a tested valid YAML config looks like this:

type: custom:firemote-card
entity: media_player.roku_ultra
device_family: roku
device_type: roku-ultra-2020
compatibility_mode: default
defaultRemoteStyle_override: AL2
app_launcher_relative_size: 0
app_launch_1: disney-plus
app_launch_2: netflix
button_overrides:
  hamburger-button:
    service: remote.send_command
    target:
      entity_id: remote.roku_ultra
    data:
      command: info

I omitted the mute-button section since I don't own a harmony hub, so I couldn't validate the syntax

I hope this helps!

-Doug

Ah, that works, I copy/pasted some existing code from my automations here. Makes sense now and it works.

Is it possible to map existing buttons to existing functions, e.g.,

button_overrides:
  mute-button:
    function: function-mute

@sameer-git

It wasn't designed or tested to be used that way. I'm seeing now that I should have caught this scenario, but I didn't. Thanks for making me aware! I'll work on getting a patch for that on the next release.

In the meantime, this will work too:

button_overrides:
  mute-button:
    service: remote.send_command
    target:
      entity_id: remote.roku_ultra
    data:
      command: volume_mute

@sameer-git

I have just published Firemote version v3.4.7 which fixes the missing default mute functionality for Roku using AL2. Thanks for letting me know about that!
-Doug


After updating to the newest version, if you are unable to see the new updates on your Firemote card, visit this link for help.