Changing Chromecast remote buttons

As many of you probably know, Google does not allow you to change the buttons of their chromecast remote. We don't use Netflix at all, but we use Jellyfin. I just though of it and tested it, but Home assistant allows you to track the chromecast and functionality replace one app with another. Making the button now open the jellyfin app

alias: Replace google chromecast nexflix with whoflix
description: >-
  Google does not allow you to re-map the netflix button, but we can launch
  jellyfin when its trying to launch netflix. And thus effectivly replacing the
  button
triggers:
  - trigger: state
    entity_id:
      - remote.woonkamer_tv
    attribute: current_activity
    to:
      - com.netflix.ninja
conditions: []
actions:
  - action: media_player.play_media
    metadata: {}
    target:
      entity_id: media_player.woonkamer_tv
    data:
      media:
        media_content_id: org.jellyfin.androidtv
        media_content_type: app
mode: single
21 points · 12 comments · view on lemmy.world

12 Comments

Ravi@feddit.org · 8 pts · 214d

There is an app called button mapper that lets you rebin the keys easily on the chromecast remote (google tv)

ropatrick@lemmy.world · 2 pts · 155d (3 replies)

Can you share a bit about how you got the names for the Netflix and Jellyfin variables please? My daughter asked me yesterday if we could change the YouTube button to SmartTube! I said I didn't think it was possible! 👀

Thanks!

JelleWho@lemmy.world · 1 pts · 155d (2 replies)

woonkamer_tv is the chromecast name

so change the "remote.woonkamer_tv" and "media_player.woonkamer_tv"

Out current automation has grown, but has been unchanged for a bit. Just posting here in case you have some errors of issues.

alias: Replace google chromecast nexflix with whoflix
description: >-
  Google does not allow you to re-map the netflix button, but we can launch
  jellyfin when its trying to launch netflix. And thus effectivly replacing the
  button
triggers:
  - trigger: state
    entity_id:
      - media_player.woonkamer_tv_2
    to:
      - com.netflix.ninja
    attribute: app_name
  - trigger: state
    entity_id:
      - media_player.woonkamer_tv
    attribute: app_id
    to:
      - Netflix
conditions: []
actions:
  - action: media_player.play_media
    metadata: {}
    target:
      entity_id: media_player.woonkamer_tv_2
    data:
      media:
        media_content_id: org.jellyfin.androidtv
        media_content_type: app
mode: single
ropatrick@lemmy.world · 2 pts · 155d (1 reply)

Thanks, I understood those names but I was curious about the Netflix and Jellyfin variables com.Netflix.ninja and org.Jellyfin.androidtv. How did you figure out what those were? I'll need to do the same for YT and SmartTube.

JelleWho@lemmy.world · 2 pts · 155d

Switch the TV to the input. And see what the entity says in Home Assistant (either open the entity, oor look in development and then the status)

EarMaster@lemmy.world · 2 pts · 214d (6 replies)

How is the delay?

JelleWho@lemmy.world · 3 pts · 213d (5 replies)

I literally can't notice (I did wire everything)

EarMaster@lemmy.world · 2 pts · 213d (4 replies)

That's great to hear. I would have thought it would take some seconds to register.

JelleWho@lemmy.world · 3 pts · 213d (3 replies)

Yhea me too, or some double launch stuff. But it just works instantly

ropatrick@lemmy.world · 2 pts · 154d (2 replies)

I have this set up to launch SmartTube instead of YouTube. Its working but there is a 1sec delay during which yhe YouTube screen flashes up. Also theres a looping issue if you use the back button to get out of SmartTube.

However, nice to have a way to remap the buttons without installing an additional app.

JelleWho@lemmy.world · 1 pts · 154d (1 reply)

Good to hear you got it to work. Our chroma cast is wired in, so that might also hide the delay better maybe?

If you use the back button and the app stays, check in home assistant what the entity is saying. For me it ended up being two different app names

ropatrick@lemmy.world · 1 pts · 154d

Yeah maybe so. I'll have a look at the entity names bit I think the loop.is being caused by something in my code. Will report back!