Android TV Remote - App Links/Deep Linking - Guide

did you succeed?

did you found tivimate?

Viaplay (apkmirror)

E.g. activity: https://viaplay.no/filmer/

<intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="https"/>
                <data android:host="viaplay.se"/>
                <data android:host="viaplay.fi"/>
                <data android:host="viaplay.no"/>
                <data android:host="viaplay.dk"/>
                <data android:host="viaplay.is"/>
                <data android:host="viaplay.lt"/>
                <data android:host="viaplay.lv"/>
                <data android:host="viaplay.ee"/>
                <data android:host="viaplay.ru"/>
                <data android:host="viaplay.pl"/>
                <data android:host="viaplay.com"/>
                <data android:path="/serier"/>
                <data android:pathPattern="/serier/.*"/>
                <data android:path="/sarjat"/>
                <data android:pathPattern="/sarjat/.*"/>
                <data android:path="/series"/>
                <data android:pathPattern="/series/.*"/>
                <data android:path="/film"/>
                <data android:pathPattern="/film/.*"/>
                <data android:path="/filmer"/>
                <data android:pathPattern="/filmer/.*"/>
                <data android:path="/leffat"/>
                <data android:pathPattern="/leffat/.*"/>
                <data android:path="/movies"/>
                <data android:pathPattern="/movies/.*"/>
                <data android:path="/sport"/>
                <data android:pathPattern="/sport/.*"/>
                <data android:path="/urheilu"/>
                <data android:pathPattern="/urheilu/.*"/>
                <data android:path="/barn"/>
                <data android:pathPattern="/barn/.*"/>
                <data android:path="/born"/>
                <data android:pathPattern="/born/.*"/>
                <data android:path="/lapsille"/>
                <data android:pathPattern="/lapsille/.*"/>
                <data android:path="/kids"/>
                <data android:pathPattern="/kids/.*"/>
                <data android:path="/store"/>
                <data android:pathPattern="/store/.*"/>
                <data android:pathPrefix="/tv"/>
                <data android:pathPrefix="/kanaler"/>
            </intent-filter>

And some more for norwegian folks:

  • Nrk TV
    • activity: https://tv.nrk.no/direkte/nrk1
    • activity: https://tv.nrk.no/serie/dagsrevyen
    • activity: https://tv.nrk.no/programmer/dokumentar
    • and so on (same urls as on their website?)
  • TeliaPlay_6.4.5: activity: no.telia.tv.android.431257://
  • TV 2 Play: activity: https://play.tv2.no/film (same urls as on their website?)
1 Like

tvrecommendation://app/browse/.seven works for kino.pub

This is working for me to start the Viaplay app:
https://viaplay.com/sport/motorsport/formula-1

I apologize if this has been asked and answered…
When I use tv.apple.com to try to open Apple TV on my Sony Bravia, I get a dialog box giving me the option to select whether Apple TV or Airplay is used. Apple TV seems to be what is selected. I get a choice to select “just once” or “set to always open”. When I select “always”, the next time I use the service, it still asks me which app I want to use. How do I make my selection stick?

Edit: All of the above still happens, but despite what was happening the other day, even when I select “always”, the Apple TV app never actually opens. Before, once I made the always selection, the app would open. Not anymore :). We do watch Apple TV a lot so it would be nice to have this work.

3 Likes

For Streamz app, use:

streamz://www.streamz.be/streamz

If you login to your account in the browser and look at the urls, you can figure out urls that are deeper in the app, e.g.

  • streamz://www.streamz.be/streamz/series
  • streamz://www.streamz.be/streamz/mijn-lijst
  • streamz://www.streamz.be/streamz/vinyl~0e025aa4-f8e9-4026-a7d7-ce2f2eb9aa01
2 Likes

I think this should worlk:

videoland-v2://

Hello everyone,

Does anyone has de app link-deeplink for de app mytvonline on a formuler Z10 pro box plz?

Kind Regards.

Milan

Does anyone know the intent to open the google home remote, i want the remote link in a notification when my android tv is on … ?

I wanted to do the same but was never able to find the intent. Since this AndroidTV Remote integration came out, however, I wound up completely uninstalling the Google TV app (since I only ever used it for the remote shortcut in the quick settings tile).

Instead, I just built out a remote subview in Home Assistant and I link to that now. It’s just as responsive as the remote from the Google Home (and Google TV) app, and I’m able to send a notification easily to the devices. I did build out my own touchpad (GitHub - breakthestatic/ha-touch-pad: Multi-directional swipe pad, similar to swipe controls for smartphone remote controls); there are a few other ones out there I believe as well, or if you wanted discrete buttons, you could set it up easily with the grid card.

2 Likes

can anyone get tivimate to launch ?

Did someone figure out the links for f1tv and goplay?

Hi,

Can’t edit the post so I’ll add it here.

App URL
Meo (Portuguese TV provider) ottapp://

Hello, I just tried your HA touch panel, but I don’t see anything after installing and restarting HA, and refreshing the page with F5. Here is my code:

type: custom:my-tv-card
entity: media_player.nvidia_shield_tv_192_168_0_194
name: NVIDIA Shield
options:
  power:
    dblclick: script.tv_aan_uit_modus
    hold: no-action
  source:
    dblclick: script.vtm_go_nvidia_app
    hold: script.telenettv_box_streamz
  mute:
    dblclick: script.sonos_volume_mute_on
    hold: script.sonos_volume_mute_off
icons:
  topicon: phu:nvidia-shield
  power: mdi:power
  channel_up: mdi:arrow-up-bold-circle
  channel_down: mdi:arrow-down-bold-circle
  source: mdi:logout-variant
  mute: mdi:volume-variant-off
  volume_up: mdi:volume-high
  volume_down: mdi:volume-medium
fancy_borders: true

Sorry, I originally wrote that for myself and didn’t get around to adding documentation yet. I’ll work on adding some basic config instructions, but essentially you need to add a new card custom:touch-pad, and set up what you want for each of swipes/corners. The actions follow the standard HASS actions structure (see Actions - Home Assistant)

type: custom:touch-pad
up_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Up
down_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Down
left_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Left
right_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Right
tap_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Tap
double_tap_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Double Tap
corners:
  top_left:
    icon: mdi:arrow-left
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Top Left
  top_right:
    icon: mdi:home
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Top Right
  bottom_left:
    icon: mdi:volume-minus
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Bottom Left
  bottom_right:
    icon: mdi:volume-plus
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Bottom Right

I’m going to work on adding that documentation to help people out in the future now that it’s out in the wild :smiley:

Hey, if I understand correctly, you need to add everything differently by putting it all in HACS under custom repositories, and then you should see custom:touch-pad in your dashboard card. However, it’s not appearing when you save it? That’s the question. So, what should I do now?

I’m one step further but still nothing is working now? Here’s the code:

type: custom:touch-pad
entity: media_player.nvidia_shield_tv_192_168_0_194
name: NVIDIA Shield
icons:
  topicon: phu:nvidia-shield
  power: mdi:power
  channel_up: mdi:arrow-up-bold-circle
  channel_down: mdi:arrow-down-bold-circle
  source: mdi:logout-variant
  mute: mdi:volume-variant-off
  volume_up: mdi:volume-high
  volume_down: mdi:volume-medium
options:
  power:
    dblclick: script.tv_aan_uit_modus
    hold: no-action
  source:
    dblclick: script.vtm_go_nvidia_app
    hold: script.telenettv_box_streamz
  mute:
    dblclick: script.sonos_volume_mute_on
    hold: script.sonos_volume_mute_off
up_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Up
down_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Down
left_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Left
right_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Swipe Right
tap_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Tap
double_tap_action:
  action: call-service
  service: persistent_notification.create
  data:
    message: Double Tap
corners:
  top_left:
    icon: mdi:arrow-left
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Top Left
  top_right:
    icon: mdi:home
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Top Right
  bottom_left:
    icon: mdi:volume-minus
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Bottom Left
  bottom_right:
    icon: mdi:volume-plus
    action:
      action: call-service
      service: persistent_notification.create
      data:
        message: Bottom Right

Is there something I’m missing?

Try sportscenter://x-callback-url

1 Like