Universal Remote Card - Buttons, Touchpads, Sliders, and Keyboards for Multiple Platforms

It’s because I want to use the Plex “Skip” functionality rather than the direct Forward / Rewind functionality.

I thought that your Apple TV example you have in the ReadMe would just send the same Android Remote skip “command” to the Android App running on the Android TV device.

I didn’t think it would be an Andorid App specific “command”, but more of an Android Remote “command” to an Android TV OS that then feeds whatever Android App is running ?

The Apple TV example is for Apple TV, it won’t work with Android TV. As far as I know, Android TV doesn’t have a separate skip button.

You might (I don’t know if this will produce desired behavior) be able to add skip functionality to the fast_forward and rewind buttons by creating new custom actions with hold_secs in their data. Try this:

custom_actions:
  skip_forward:
    tap_action:
      action: call-service
      service: remote.send_command
      data:
        entity_id: remote.android_tv
        command: fast_forward
        hold_secs: 2

Version 3.4.0 has just been released and contains some requested features:

  • An alternate momentary button mode to fire one action when a button is initially held and a separate action when released.
  • Customizable timings for the delay between repeat when held actions, double tap window, and time to trigger hold action.
  • Better Fire TV keyboard support.
1 Like

I’ll try the workaround solution, but still a bit confused about the underlying issue.

I thought that the Apple TV section was for Apple TV app on the Android TV OS. Therefore the command would be to deliver a generic Android TV OS skip function call to any Android TV App.

Are you saying that the Android TV Plex App does not have an interface in the Android TV OS that supports the skip command but the Android TV Apple TV App does ?

I’d be surprised if Android TV OS had specific function calls for specific apps ?

No, the Apple TV example is for physical Apple TV devices. Android TV doesn’t have a separate skip button, the Android TV Plex app doesn’t have skip buttons, and there are no app specific commands.

Hello @giof94is and @Nerwyn - Thank you for your contributions. I am trying to get this to work with my Samsung TV, and while the app, volume, and power buttons work, it seems that the Home button, touch input, etc. does not bring up the app selector menu on my Samsung TVs or otherwise allow me to traverse the menus. Any ideas?

Ok, I’ve figured it out. It seems the example is incorrect on the help page. The format for these keys should be in the format of:

  center:
    tap_action:
      action: call-service
      service: remote.send_command
      target:
        entity_id: remote.samsung_tv
      data:
        command: KEY_ENTER

The Samsung TV example was provided by another user here. It looks like I neglected to mention that it uses this custom component.

hey would u mind sharing the yaml code, this looks awesome

Dear community,

since updating my Android TV to version 12, some commands do not work anymore (e.g. TV, CHANNEL_UP and CHANNEL_DOWN). Other still do (e.g. dpad commands or HOME).

Did someone experience the same issue?

I solved it by using adb debugging commands and the Android Debug Bridge Integration but it’s more complicated and I don’t like debugging to be permanently activated.

Any ideas?

All the best and kind regards
Benedikt

How do I insert yaml code??

Version 3.6.0 has been released and implements several recent feature requests:

  • Support for the fire-dom-event action for use with browser-mod popup card.
  • Slider tooltip style options (tooltip was added in 3.5.0) for changing it’s value, display, offset, and transform function.
  • Autofill remote and media player IDs in service calls for convenience when using this card with alternate media platforms.
  • Unique IDs for rows and columns for advanced styling using card-mod.
2 Likes

Version 3.7.0 has been released and adds full Roku keyboard support. I do not have a Roku, but @dgoodwin430 has confirmed that it’s working for him. If you do run into any issues using it, please let me know either here or on the GitHub repo issues section.

1 Like

@Nerwyn, is at all possible to have a vertical slider in a column?

Not really. I do have a GitHub issue for future implementation that has a hacky way of making the slider vertical using built in and card mod styles, but it has some issues with swipe and tap detection.

Vertical sliders added in 3.8.0, among other requested features. See the release notes and README for more.
using_less

1 Like

THANK YOU @Nerwyn!

Here’s my mimic’d Apple TV 2nd Gen Siri Remote using your card…

After playing around (a lot) with null column spacing, I realize that the vertical slider has default behavior to stay right aligned with a set width in it’s own column, leaving the columns to it’s left being centered and filling the rest of the available width.

Humble requests:

  1. Add a modifier option to change the alignment behavior to be like icons?
  2. Ability to change the icon on the slider based on state of slider_id? (The idea is to give visual feedback if the volume is muted. Change the icon to a volume muted button and the white color to grey)

Possible solution:

          slider:
            slider_id: media_player.living_room_sonos
            vertical: true
            centered: true
            icon: mdi:volume-high
            mute_icon: mdi:volume-mute

Appreciate your work @Nerwyn!

1 Like

You can use card-mod to set remote-slider flex-grow to 1, which should fix this. It was set to 0 for sliders to fix issues with vertical sliders but it should be okay if there are sibling elements to define the vertical space it can occupy.

card_mod:
  style: |
    remote-slider {
      flex-grow: 1;
    }

In a future major refactor I want to change how styles are applied and add a style field per sub element, which will make it possible to apply styles like this without card-mod.

Also, you can use templates to change the icon and color based on entity states/attributes.

Hi, I got my version pretty nice, but got one “issue” what really bothers me (way more than it should, but…), it’s the “active” style. Can I disable it using general card_mod style?

before usage (and how I like it)

After some channel switching etc…

I tried (finding with inspect):

card_mod:
  style: |
    .mdc-ripple-upgraded--foreground-activation {
      --mdc-ripple-fg-opacity: 0;
    }

But no result. Seems like I can only pass styles till <remote-button> but no deeper than that. I tested that with:

#doesn't work:
card_mod:
  style: |
    ha-card .button-pad remote-button ha-icon-button {
      color: red;
    }

#works
card_mod:
  style: |
    ha-card .button-pad remote-button {
      color: red;
    }

kaleidescape anyone using this card and if so a config file to share before i reinvent the wheel ? Thank you