Android TV Card - Universal Remote with Touchpad, Slider, and Keyboard Support

Really nice card! Works great with Kodi! Haven’t tried it with Android TV yet.

The only thing I’m missing from Kore is the ability to change language and subtitles. Has anyone gotten that to work from HA?

Thx alot, Nerwyn. :+1:
Just added your card to my HA installation to use it as a remote for a Sony Bravia TV (KE-65XH9299) and it worked almost perfect - with some trials and errors (because I’m just beginning with something like that).

I have found a list of commands for the Sony Bravia TV here:

And inserted (almost all of) them to my card for testing.
But I miss one important command:
Rec List

The TV has an USB HDD with some recordings and the original remote has a button “Rec List”.
But I wasn’t able to find the corresponding command.
Perhaps someone has an idea - except something like “RecList”.
Just tried some commands like that.

Edit:
*Just found an typo in my card:
W_test2:
icon: mdi:alpha-w-circle-outline
service: remote.send_command
service_data:
entity_id: remote.sony_ke_65xh9299
command: OneTouchView

so and this one is the recording list I was looking for.*

For someone who is interested in a testing remote layout, here is the code I used for Nerwyns Remote Card. So you could change only the entity ID and have a couple of testing commands on the buttons a…z (three times).
(Hope the “preformatted text” will be reduced and can be expandend :see_no_evil:):

type: custom:android-tv-card
remote_id: remote.sony_tv
media_player_id: media_player.sony_tv_3
rows:
  - - guide
    - spotify
    - power
  - - youtube
    - primevideo
    - tv
    - home
  - - volume_up
    - leer
    - channel_up
  - - volume_mute
    - back
    - swap
  - - volume_down
    - exit
    - channel_down
  - - navigation_buttons
  - - rewind
    - play
    - fast_forward
  - - record
    - pause
    - exit
  - - leer
  - - red
    - green
    - yellow
    - blue
  - - number1
    - number2
    - number3
  - - number4
    - number5
    - number6
  - - number7
    - number8
    - number9
  - - leer
    - number0
    - enter
  - - leer
  - - A_test
    - B_test
    - C_test
    - D_test
    - E_test
  - - F_test
    - G_test
    - H_test
    - I_test
    - J_test
  - - K_test
    - L_test
    - M_test
    - N_test
    - O_test
  - - P_test
    - Q_test
    - R_test
    - S_test
    - T_test
  - - U_test
    - V_test
    - W_test
    - X_test
    - Y_test
  - - Z_test
  - - A_test1
    - B_test1
    - C_test1
    - D_test1
    - E_test1
  - - F_test1
    - G_test1
    - H_test1
    - I_test1
    - J_test1
  - - K_test1
    - L_test1
    - M_test1
    - N_test1
    - O_test1
  - - P_test1
    - Q_test1
    - R_test1
    - S_test1
    - T_test1
  - - U_test1
    - V_test1
    - W_test1
    - X_test1
    - Y_test1
  - - Z_test1
  - - A_test2
    - B_test2
    - C_test2
    - D_test2
    - E_test2
  - - F_test2
    - G_test2
    - H_test2
    - I_test2
    - J_test2
  - - K_test2
    - L_test2
    - M_test2
    - N_test2
    - O_test2
  - - P_test2
    - Q_test2
    - R_test2
    - S_test2
    - T_test2
  - - U_test2
    - V_test2
    - W_test2
    - X_test2
    - Y_test2
  - - Z_test2
  - - A_test3
    - B_test3
    - C_test3
    - D_test3
    - E_test3
  - - F_test3
    - G_test3
    - H_test3
    - I_test3
    - J_test3
custom_keys:
  swap:
    icon: mdi:swap-vertical-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Jump
  exit:
    icon: mdi:location-exit
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Exit
  number1:
    icon: mdi:numeric-1-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num1
  number2:
    icon: mdi:numeric-2-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num2
  number3:
    icon: mdi:numeric-3-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num3
  number4:
    icon: mdi:numeric-4-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num4
  number5:
    icon: mdi:numeric-5-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num5
  number6:
    icon: mdi:numeric-6-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num6
  number7:
    icon: mdi:numeric-7-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num7
  number8:
    icon: mdi:numeric-8-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num8
  number9:
    icon: mdi:numeric-9-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num9
  number0:
    icon: mdi:numeric-0-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Num0
  A_test:
    icon: mdi:alpha-a-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Enter
  B_test:
    icon: mdi:alpha-b-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: GGuide
  C_test:
    icon: mdi:alpha-c-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TVPower
  D_test:
    icon: mdi:alpha-d-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Audio
  E_test:
    icon: mdi:alpha-e-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: MediaAudioTrack
  F_test:
    icon: mdi:alpha-f-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TV
  G_test:
    icon: mdi:alpha-g-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Input
  H_test:
    icon: mdi:alpha-h-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TvInput
  I_test:
    icon: mdi:alpha-i-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TvAntennaCable
  J_test:
    icon: mdi:alpha-j-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: WakeUp
  K_test:
    icon: mdi:alpha-k-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PowerOff
  L_test:
    icon: mdi:alpha-l-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Sleep
  M_test:
    icon: mdi:alpha-m-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Right
  N_test:
    icon: mdi:alpha-n-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Left
  O_test:
    icon: mdi:alpha-o-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: SleepTimer
  P_test:
    icon: mdi:alpha-p-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Analog2
  Q_test:
    icon: mdi:alpha-q-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TVAnalog
  R_test:
    icon: mdi:alpha-r-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Display
  S_test:
    icon: mdi:alpha-s-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Jump
  T_test:
    icon: mdi:alpha-t-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PicOff
  U_test:
    icon: mdi:alpha-u-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PictureOff
  V_test:
    icon: mdi:alpha-v-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Teletext
  W_test:
    icon: mdi:alpha-w-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Video1
  X_test:
    icon: mdi:alpha-x-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Video2
  Y_test:
    icon: mdi:alpha-y-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: AnalogRgb1
  Z_test:
    icon: mdi:alpha-z-circle
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Home
  A_test1:
    icon: mdi:alpha-a-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Exit
  B_test1:
    icon: mdi:alpha-b-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PictureMode
  C_test1:
    icon: mdi:alpha-c-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Confirm
  D_test1:
    icon: mdi:alpha-d-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Up
  E_test1:
    icon: mdi:alpha-e-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Down
  F_test1:
    icon: mdi:alpha-f-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: ClosedCaption
  G_test1:
    icon: mdi:alpha-g-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Component1
  H_test1:
    icon: mdi:alpha-h-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Component2
  I_test1:
    icon: mdi:alpha-i-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Wide
  J_test1:
    icon: mdi:alpha-j-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: EPG
  K_test1:
    icon: mdi:alpha-k-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PAP
  L_test1:
    icon: mdi:alpha-l-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TenKey
  M_test1:
    icon: mdi:alpha-m-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: BSCS
  N_test1:
    icon: mdi:alpha-n-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DData
  O_test1:
    icon: mdi:alpha-o-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DOT
  P_test1:
    icon: mdi:alpha-p-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Rec
  Q_test1:
    icon: mdi:alpha-q-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Return
  R_test1:
    icon: mdi:alpha-r-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Blue
  S_test1:
    icon: mdi:alpha-s-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Red
  T_test1:
    icon: mdi:alpha-t-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Green
  U_test1:
    icon: mdi:alpha-u-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Yellow
  V_test1:
    icon: mdi:alpha-v-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Subtitle
  W_test1:
    icon: mdi:alpha-w-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: CS
  X_test1:
    icon: mdi:alpha-x-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: BS
  Y_test1:
    icon: mdi:alpha-y-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Digital
  Z_test1:
    icon: mdi:alpha-z-box
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Options
  A_test2:
    icon: mdi:alpha-a-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Media
  B_test2:
    icon: mdi:alpha-b-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Prev
  C_test2:
    icon: mdi:alpha-c-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Next
  D_test2:
    icon: mdi:alpha-d-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DpadCenter
  E_test2:
    icon: mdi:alpha-e-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: CursorUp
  F_test2:
    icon: mdi:alpha-f-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: ShopRemoteControlForcedDynamic
  G_test2:
    icon: mdi:alpha-g-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Flashplus
  H_test2:
    icon: mdi:alpha-h-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Flashminus
  I_test2:
    icon: mdi:alpha-i-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DemoMode
  J_test2:
    icon: mdi:alpha-j-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Analog
  K_test2:
    icon: mdi:alpha-k-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DigitalToggle
  L_test2:
    icon: mdi:alpha-l-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DemoSurround
  M_test2:
    icon: mdi:alpha-m-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: AD
  N_test2:
    icon: mdi:alpha-n-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: AudioMixUp
  O_test2:
    icon: mdi:alpha-o-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: AudioMixDown
  P_test2:
    icon: mdi:alpha-p-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PhotoFrame
  Q_test2:
    icon: mdi:alpha-q-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TV_Radio
  R_test2:
    icon: mdi:alpha-r-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: SyncMenu
  S_test2:
    icon: mdi:alpha-s-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Hdmi1
  T_test2:
    icon: mdi:alpha-t-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TopMenu
  U_test2:
    icon: mdi:alpha-u-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: PopUpMenu
  V_test2:
    icon: mdi:alpha-v-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: OneTouchTimeRec
  W_test2:
    icon: mdi:alpha-w-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: OneTouchView
  X_test2:
    icon: mdi:alpha-x-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: DUX
  Y_test2:
    icon: mdi:alpha-y-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: FootballMode
  Z_test2:
    icon: mdi:alpha-z-circle-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: iManual
  A_test3:
    icon: mdi:alpha-a-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Netflix
  B_test3:
    icon: mdi:alpha-b-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Assists
  C_test3:
    icon: mdi:alpha-c-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: FeaturedApp
  D_test3:
    icon: mdi:alpha-d-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: FeaturedAppVOD
  E_test3:
    icon: mdi:alpha-e-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: GooglePlay
  F_test3:
    icon: mdi:alpha-f-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: ActionMenu
  G_test3:
    icon: mdi:alpha-g-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: Help
  H_test3:
    icon: mdi:alpha-h-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: TVSatellite
  I_test3:
    icon: mdi:alpha-i-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: WirelessSubwoofer
  J_test3:
    icon: mdi:alpha-j-box-outline
    service: remote.send_command
    service_data:
      entity_id: remote.sony_ke_65xh9299
      command: AndroidMenu
1 Like

Just need some Help.
I use a shelly Plug to shutdown the TV (needs 20 Watt for Standby).
Would Like to have a (toggle) Button (or a only switch_on) to enable the Shelly.

Just tried a lot but IT seems that I’m a bit noob.

That doesnt Work:

  Shelly_Power:
    icon: mdi:power-socket-de
    sevice: switch.zahler_7.turn_off
    target:
      entity_id: switch.zahler_7

But also something like that (changed to my entity)

  toggle_light:
    icon: mdi:lightbulb
    service: light.toggle
    target:
      entity_id: light.bedroom

Perhaps it ist a little thing to Change?

You’ve accidentally left your entity ID in the service name. It should just be switch.toggle. Also update to the latest version if you haven’t yet (v2.2.0 at time of writing). It adds support for the target and data fields in custom keys and services. Previously, you had to put it all in the service_data object due to how the hass.callService frontend method works, but now it’ll merge target, data, and service_data in the config into one object so you can copy YAML created by the Home Assistant service developer tool.

Thank you!
Wonder If i didnt try that before.
But now - with your hint - it works as it should.

Switch.turn_on
is her better, because it Just Starts the TV

Switch.toggle
Is possible, too. But perhaps anybody click it while watching TV. And then it’s Off…

  Shelly_Power:
    icon: mdi:power-socket-de
    service: switch.turn_on
    service_data:
      entity_id: switch.zahler_5

Hi @Nerwyn it’s awesome!!!

I have a LG WebOS TV and a Samsung both working great whit the costume buttons

But I have some trouble with the volume slider, it’s no rendering properly…

What should I check??

A Typo: you forgot a ‘r’ at the end.
volume_slider

Not working neither

Is media_player_id set? Did you also install my-slider? The volume slider is a bit janky since it embeds another custom card within this one. I hope to replace it with a built in slider next time I refactor this project.

Hi @Nerwyn yes i have intall my-slider

i tried to intall manually the my-cards.js file but it’s no clear for me where tu put the ocnfiguration, i wrote it on the configuration.yaml but have errors

After installing my-slider you shouldn’t have to do any other configurations (I think, I’ve had trouble getting custom cards to load if I don’t do it through HACS even after restarting). Did you try installing it via HACS as a custom repository?
Are you sure that the media_player entity you’re using supports the service media_player.volume_set and has the attribute volume_level when it’s on? I’ve noticed that if a media player that doesn’t have the volume_set service either the slider or the entire card may not render.

I reinstall from hacks, not working
Reboot and reinstall as custom repository and reboot, no working

Yes the media_player supports volume set, volume_buttons work just fine


Volume buttons uses remote_id, while volume slider uses media_player_id (the media player entity ID is only used for the volume slider at this point) so it makes sense that buttons would work even when the slider doesn’t. Can you post your full config?

1 Like

I’ll paste the code

type: custom:android-tv-card
media_player_id: media_player.lg_recamara
custom_keys:
  up:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: UP
  down:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: DOWN
  left:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: LEFT
  right:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: RIGHT
  center:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: ENTER
  poweron:
    icon: mdi:power-on
    service: media_player.turn_on
    target:
      entity_id: media_player.lg_recamara
  poweroff:
    icon: mdi:power-off
    service: media_player.turn_off
    target:
      entity_id: media_player.lg_recamara
  volume_up:
    service: media_player.volume_up
    service_data:
      entity_id: media_player.lg_recamara
  volume_down:
    service: media_player.volume_down
    service_data:
      entity_id: media_player.lg_recamara
  volume_mute:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: MUTE
  home:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: HOME
  back:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: BACK
rows:
  - - poweron
    - poweroff
  - - volume_slide
  - - volume_buttons
  - - navigation_touchpad
  - - back
    - home

Weird, it works for me if I change media_player_id to Spotify. Can you try changing it to a different media player entity ID and see if that fixes it?

I did remove the volume up and volume down and the slider show up, LG WebOS TV integration doesn’t support remote, and just add a custom button for mute control

type: custom:android-tv-card
media_player_id: media_player.lg_recamara
custom_keys:
  up:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: UP
  down:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: DOWN
  left:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: LEFT
  right:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: RIGHT
  center:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: ENTER
  poweron:
    icon: mdi:power-on
    service: media_player.turn_on
    target:
      entity_id: media_player.lg_recamara
  poweroff:
    icon: mdi:power-off
    service: media_player.turn_off
    target:
      entity_id: media_player.lg_recamara
  home:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: HOME
  back:
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: BACK
  volume_mute:
    icon: mdi:volume-mute
    service: webostv.button
    target:
      entity_id: media_player.lg_recamara
    data:
      button: MUTE
rows:
  - - poweron
    - poweroff
  - - navigation_touchpad
  - - volume_slider
  - - back
    - home
    - volume_mute

Thanks for your help!

1 Like

Hello,
Is there a way to get a button to autofocus a projector?
I use a Xgimi Halo+ and to autofocus it there is a button on the side of the remote. I dont know how to get the command from ADB.

Are you sure that this remote command is being done through Android? It may be proprietary to the Xgimi Halo+. This Xgimi custom integration says it supports the Halo+ and autofocus, I’d try using it instead of ADB.

This project is now on HACS! :tada:

I’ve released v3.0.0, which is another big refactor that improves stability and makes it easier to make future improvements on this project.

This release also breaks many card-mod configs as it places all buttons, sliders, and touchpads inside shadow roots. I’ve added button_style, touchpad_style, and slider_style options to help mitigate this. style fields can also be placed in custom keys and sources to modify individual buttons.

1 Like

Great work! really nice update on an already great card!

I was wondering when it says “Touchpad haptics can now be disabled separately from buttons” how this could be done? I tried:

enable_touchpad_feedback: false

but this wasn’t it. Thanks!