Comment contrôlez-vous votre TV Android?

Suite a ta demande @Lou_Juicy, je partage ma carte compète pour ma télécommande :
(J’ai ajouté quelques commentaires pour la lisibilité)

cards:
  - type: custom:roku-card
    entity: media_player.fire_tv
    name: TV remote
    tv: true
# App list
    apps:
      - app: "Canal+"
        image: /local/icons/canal.png
      - app: "Molotov"
        image: /local/icons/molotov.jpeg
      - app: "Netflix"
        image: /local/icons/netflix.png
      - app: "Plex"
        image: /local/icons/plex.png

# UP Button
    up:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: UP
# DOWN Button
    down:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: DOWN
# RIGHT Button
    right:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: RIGHT
# LEFT Button
    left:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: LEFT
# CENTER Button
    select:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: CENTER
# BACK Button
    back:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: BACK
# ON/OFF Button
    power:
      tap_action:
        action: call-service
        service: script.on_off_remote
# HOME Button
    home:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: HOME
# FAST_FORWARD Button
    forward:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: FAST_FORWARD
# REWIND Button
    reverse:
      tap_action:
        action: call-service
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.fire_tv
          command: REWIND
# PLAY/PAUSE Button
    play:
      tap_action:
        action: call-service
        service: script.pause_play_remote
          
# HIDE Button
    info:
      show: false
    volume_up:
      show: false
    volume_down:
      show: false
    volume_mute:
      show: false
icon: 'mdi:remote'
title: Remote

A savoir que pour le mode play/pause et le mode on/off, j’ai utilisé des scripts (ça remonte à longtemps alors je ne sais plus pourquoi je l’ai fait …)
Mais aussi pour les commandes liées au son, je les ai désactivées car je n’ai pas réussi a les faire fonctionner correctement.

Si vous avez des questions n’hésitez pas !

PS: si de votre coté vous utilisez des commandes sympas je suis preneur !

2 « J'aime »

@Lou_Juicy

voila mon package:

media_player:
  - platform: androidtv
    device_class: androidtv
    name: "Android Box Salon"
    host: !secret android_box_salon
    exclude_unnamed_apps: true
    apps:
      'com.canal.android.canal': "Canal+"
      'com.netflix.mediaclient': "Netflix"
      'com.amazon.avod.thirdpartyclient': "Amazon Video"
      'com.plexapp.android': "Plex"
      'com.google.android.youtube.tv': "Youtube"

script:
### TURN ON ###
  start_android_box_salon:
    sequence:
    - service: androidtv.adb_command
      data:
        entity_id: media_player.android_box_salon
        command: "POWER"

### TURN OFF ###
  stop_android_box_salon:
    sequence:
    - service: androidtv.adb_command
      data:
        entity_id: media_player.android_box_salon
        command: "SLEEP"

### NETFLIX ###
  start_netflix_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: 'com.netflix.mediaclient'

  stop_netflix_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: '!com.netflix.mediaclient'

### AMAZON VIDEO ###
  start_amazon_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: 'com.amazon.avod.thirdpartyclient'

  stop_amazon_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: '!com.amazon.avod.thirdpartyclient'

### PLEX ###
  start_plex_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: 'com.plexapp.android'

  stop_plex_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: '!com.plexapp.android'
        
### CANAL + ###
  start_canal_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: 'com.canal.android.canal'

  stop_canal_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: '!com.canal.android.canal'

### YOUTUBE ###
  start_youtube_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: 'com.google.android.youtube.tv'

  stop_youtube_salon:
    sequence:
    - service: media_player.select_source
      data:
        entity_id: media_player.android_box_salon
        source: '!com.google.android.youtube.tv'

Bonjour,

Je vous partage dès que possible avec plaisir.

Merci pour la carte de la télécommande.

De mémoire, il faut aller dans les paramètres de l’Android TV et cliquer un certains nombre de fois sur la version et ensuite un message de confirmation va apparaitre.

Il faut utiliser les commandes dispo dans le readMe du custom components. Cloner le repo, pour lancer le script python. Si tu n’es pas à l’aise avec ce vocubulaire ou que tu n’as jamais ouvert de terminal, je comprends que ce soit pas simple. Essaye de regarder si il n’y a un tuto en français qui explique étape par étape car c’est vrai que leurs tuto est très sommaire !

Je crois que pour la valeur de la source, tu peux utiliser directement la valeur que tu as mis dans la configuration (Netflix) :

Je suis en train de revoir totalement la gestion de mes média players et je recherche aujourd’hui des commandes ADB un peu plus poussé que les commandes de bases. Voilà ce que j’ai trouvé pour le moment :

Rechercher sur la télé :

sequence:
  - service: androidtv.adb_command
    data_template:
      command: am start -a "android.search.action.GLOBAL_SEARCH" --es query "{{  states('input_text.recherche_tele')}}"
      entity_id: media_player.tele

Lancer South park sur Netflix :


variable: 
  show_id: 81058308
sequence:
  - service: androidtv.adb_command
    data_template:
      command: am start -n com.netflix.ninja/.MainActivity -a android.intent.action.VIEW -d netflix://title/{{ show_id }} -f 0x10000020 -e "amzn_deeplink_data" "{{ show_id }}"
      entity_id: media_player.tele

Tout ça est encore en test ! Testez le avant de l’ajouter :slight_smile:

Le problème c’est que je suis sur Windows et que j’arrive pas à lancer le script requirement.txt
J’ai déjà posé une question sur le forum anglais mais sans réponse, je désespère lentement et pourtant et j’y ai mi du mien.
A mon avis ça coince avec l’installation de pip.

Le problème c’est que je suis sur Windows et que j’arrive pas à lancer le script

pip3 install -r requirements.txt

J’ai déjà posé une question sur le forum anglais mais sans réponse, je désespère lentement et pourtant et j’y ai mi du mien.
A mon avis ça coince avec l’installation de pip.

Ligne 4. J’ai bien suivie les instructions mais à la fin quand je fais:

c:\Python27\Scripts>pip freeze

J’ai un message d’erreur

De mémoire, cette commande fait simplement toutes les installations à la suite.
Tu peux très bien ouvrir ce fichier et faire les installations manuellement une par une…

Si jamais t’as le temps un soir cette semaine on peut voir ça en privé je comprend pas ce que tu veux dire

c’est quoi exactement le problème ?
T’es avec HA sous Windows c’est ça ?

Le problème est que le dois exécuter un script python ou pip bref une galère sur un Windows, une fois celui là exécuter je vais pouvoir récupéré l’user et le password de ma
tele puis avec un custom components qui est présent dans HACS je vais pouvoir intégré ma télé. Mais je suis une merguez en Linux et tous ça…

si tu galères avec Python sous Windows, essaie d’installer Anaconda3 Individual : tu auras Python 3 et pip. Ensuite, suit les instructions.

1 « J'aime »

Merci @Franck31je vais regarder ça demain ça serait cool si ça fonctionne

Yo tout le monde,

Merci @Gogo pour ton partage de card. Grâce à toi, j’ai découvert la custom card roku. Je l’ai donc installé et customisé pour mes propres besoins. Je vous partage cela ci-dessous :

J’ai une Android TV de la marque TCL, je peux désormais la contrôler avec une télécommande virtuelle dans HA basée sur les commandes ADB (utilisation du service androidtv.adb_command) et quelques services de contrôle de média du genre media_player.media_play_pause.


Tout les boutons fonctionnent, par contre j’ai jugé plus utile pour mes besoins d’avoir un bouton « source » (pour sélectionner un port HDMI). Du coup, j’ai modifié la commande du bouton « étoile » de la télécommande virtuelle pour qu’elle déclenche le sélecteur de source !
Enfin en dessous de la custom card roku, j’ai mis une custom card mini media player pour avoir un visuel sur ce qui s’affiche actuellement sur mon Android TV.

Voilà le code l’interface ci-dessous :

  - icon: 'mdi:remote'
    title: Télécommande
    badges: []
    cards:
      - type: markdown
        content: '**Télécommande Android TV**'
        theme: amoled
      - type: 'custom:roku-card'
        entity: media_player.android_tv
        tv: true
        icon: 'mdi:remote'
        title: Télécommande virtuelle
        apps:
          - app: Twitch App
            image: 'https://votre.duckdns.org/local/media/images/Twitch.png'
          - app: Molotov
            image: 'https://votre.duckdns.org/local/media/images/Molotov.png'
          - app: Netflix
            image: 'https://votre.duckdns.org/local/media/images/Netflix.png'
          - app: YouTube
            image: 'https://votre.duckdns.org/local/media/images/Youtube.png'
        info:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: INPUT
        up:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: UP
        down:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: DOWN
        right:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: RIGHT
        left:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: LEFT
        select:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: CENTER
        back:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: BACK
        power:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: SLEEP
        home:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: HOME
        forward:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: FAST_FORWARD
        reverse:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: REWIND
        play:
          tap_action:
            action: call-service
            service: media_player.media_play_pause
            service_data:
              entity_id: media_player.android_tv
        volume_up:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: VOLUME_UP
        volume_down:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: VOLUME_DOWN
        volume_mute:
          tap_action:
            action: call-service
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv
              command: MUTE
      - type: markdown
        content: '**Aperçu écran TV**'
        theme: amoled
      - type: 'custom:mini-media-player'
        entity: media_player.android_tv
        icon: 'mdi:television-play'
        name: Android TV
        hide:
          icon: true
          info: true
          source: true
          power: true
          controls: true
          name: true
          volume: true
          sound_mode: true
        artwork: full-cover

A+

2 « J'aime »

Merci pour le partage.

N’hésite pas à partager ton code malgré tout :+1:(edites ton post)

Bonjour

As tu fait la manipulation de Franck31. Je suis preneur de tes infos.

Salut.
J’ai téléchargé le logiciel mais je n’ai pas réussi.

Mince . Je vais chercher également de mon coté. Si je trouve je reviens vers toi. Moi j’ai un 50PUS6753 non android

Je crois qu’il faut que la télé soit une android TV pour que cela fonctionne. Ce n’est pas mon cas hélas

Bonjour à tous. Débutant sur HACS, j’essaie de mettre en cette custom card. A ce stade, je ne parviens pas à afficher les icones des apps sur la télécommande. J’ai téléchargé des fichier png depuis le web et je les ai enregistrées dans le répertoire /config/icones que j’ai créé. Dans la config je positionne le chemin /config/icones/nom_fichier.png et rien ne s’affiche.
Quelle est mon erreur ?
Merci de votre aide

Bonjour,

Moi j’ai mis le dossier icône dans config / www
Avec le chemin /local/icones/image.png mes images s’affichent

@+