Intégration Android TV

Bonjour tout le monde,

Je suis entrain de développer une intégration pour connecter Gladys aux Android TV d’une maison et les contrôler. Ça marchera avec la majorité des télévisions, box, chromecast sous Android TV/Google TV.

Pour l’instant l’intégration reçoit/contrôle uniquement les valeurs du volume et allumer/éteindre.

@AlexTrovato j’ai vu que tu avais beaucoup travaillé sur cette partie (features télévision dans Gladys + TV via broadlink) j’ai pas réussi à suivre tout ce qui a été fait, il y a pas mal de sujet et PR qui parlent de télévisions (et qu’une première version d’une télécommande avait été en test). Tu peux me dire où on en est côté Gladys pour contrôler toutes les features télévisions ? Vu que je ne vois rien dans le dashboard (autre que power, volume, chaines) j’imagine que ça n’a pas encore été terminé. As tu besoin d’aide pour quelque chose ?

3 « J'aime »

Salut @bertrandda, la télécommande sur le dashboard a été abandonnée de mon côté, je ne pense pas avoir conservé le code.
Aujourd’hui, tu peux avoir une ligne par feature/bouton sur le dashboard.
J’étais en train d’ajouter la compatibilité avec GoogleHome pour avoir le contrôle vocal.

Super pour ma Shield TV ça ! :wink:

Ok merci, pour commencer je vais faire comme toi, et faire fonctionner une ligne par feature dans la première version. Tu arrives à afficher toutes les features sur ton dashboard ? Je me suis pas mal inspiré de ton intégration Broadlink, j’ai bien déclaré tous les boutons mais sur le dashboard je ne peux ajouter que On/off, le slider volume et les chaines

Tu connais la version d’Android TV qui tourne dessus ? De ce que j’ai vu, l’API local de la télécommande a été ajouté dans la version 11 d’Android TV, j’espère que tu as au minimum cette version et que ce sera bon pour toi.

Je vais regarder ça ce soir :wink:

J’ai étudié un peu plus en profondeur l’intégration braodlink, en fait je pense que j’ai mal compris le fonctionnement TV. Comment tu te sers des features TV @AlexTrovato ? Est ce que tu peux agir sur toutes les features dans le dashboard Gladys ou Gladys est simple un intermédiaire entre la télécommande physique et la TV ? Parce que j’essaie de tester par exemple mon implémentation du bouton Play, est-il possible de l’actionner depuis Gladys ?

Pour Broadlink, il y a un bouton « test » sur la page de l’intégration.
Mais en effet, la télécommande sur le dashboard n’a pas été aboutie suite a des contraintes UI/UX, et je ne suis même pas certain d’avoir gardé le code sur une branche quelque part :confused:

Ok merci, j’ai réussi à vérifier le fonctionnement des features via les scènes, tout fonctionne correctement. Pour la télécommande peut être que j’essayerai de reprendre le développement si j’ai un peu de temps mais le front n’est pas mon plus gros point fort

@bertrandda j’ai retrouvé une branche avec la télécommande sur le dashboard, elle est très vielle, je viens de la mettre à jour avec le la dernière version du code, mais je pense qu’elle ne fonctionne pas en l’état.
Je n’aurais pas le temps de me remettre à travailler sur le sujet, mais si ça peut t’inspirer.

(tout n’est pas à garder)

1 « J'aime »

Trop fort merci Alex, je vais regarder ce que je peux en faire. Ce sera sûrement dans une PR à part d’android TV mais je pense que ça en intéressera.

En attendant, pour ceux qui veulent tester le service Android TV, une première version est dispo

Et sur docker bertrandda/gladys:android-tv

Ça marche pour les Google TV/Android TV à partir de la version 11

Voilà, je viens de faire un test.
Après de très nombreux essais infructueux, j’ai fini par réussir à associer mon Google TV.

  • Je n’ai pas su changer le volume la première fois puis ok
  • J’ai réussi à éteindre sans difficulté
  • Je n’a jamais su rallumer
  • Quand l’appareil est allumé manuellement, le statut est bien changé dans Gladys.

Un bon début donc! Bravo !

Gladys connectée à nos Android tv super !!
Serait il envisageable que Gladys envoi des notifications sur nos tv?

Merci pour ce premier test !

Tu aurais plus d’infos à me donner sur les problèmes que tu as eu à la connexion ? le code s’affiche mais ne fonctionne pas, le code ne s’affiche pas…

Oui ce n’est pas très clair. tu as 2 possibilités soit tu utilises un widget (pour allumer/éteindre la TV et volume uniquement) soit tu peux activer les fonctionnalité équivalent aux boutons de la télécommande via une scène (tu exécutes une scène avec un son que tu envois via une enceinte, tu peux par exemple utiliser la fonction MUTE lancer ton enceinte et quand c’est terminé « renvoyer » le MUTE pour réactiver le son de ta tv)

Tu as quoi comme modèle de TV ? C’est Android TV ou Google TV ?

De mon côté je fais tout via l’émulateur dispo sur Android Studio donc il y a peut être des différence entre une vrai TV/box TV et le système émulé.

Tu verras également que dans les features il y en a une au format texte qui informe sur l’application en cours d’utilisation. Par défaut c’est le nom du package de l’app donc j’ai fait un mapping entre le nom du package et le nom de l’app Android TV remote service by bertrandda · Pull Request #1829 · GladysAssistant/Gladys · GitHub
Si tu as d’autres app installé peux tu m’indiquer les packages qui sont affichés sur cette features ?

Pour l’instant, ce service permet juste de contrôler la TV. Mais en effet chez HomeAssistant, ils ont un service pour les notifications Notifications for Android TV / Fire TV - Home Assistant donc ça doit être possible de reproduire l’équivalent dans Gladys

1 « J'aime »

C’est en effet ce cas de figure. Il s’est avéré que plusieurs codes avaient été créés car une fois l’opération annulée sur le TV, les codes suivants sont apparus.
Hasard ou pas, le code qui a fonctionné ne contenait pas de lettres, contrairement aux précédents.
Je retesterai dès que possible.

Pour le volume, je/tu ne peux pas utiliser un contrôleur tel que le thermostat?

Il y a effectivement un champ de texte : ‹ com.tcl.tv ›

Désolé mais je ne suis pas bien sûr d’avoir compris.
C’est bien un Google TV.
Je sais l’éteindre mais pas l’allumer!

Normalement le code n’est créé et affiché qu’une fois à l’ajout de l’Android TV (avant l’entrée du code dans le formulaire Gladys) puis manuellement quand on clic sur le bouton « Reconnecter ». Tu as appuyé dessus ? Je vais voir si c’est possible de connaitre le status de la TV avant de générer un nouveau code et le bloquer si nécessaire.

Le widget associé à la feature VOLUME est le widget % comme pour la luminosité. Par contre peut être qu’on peux associer à la feature VOLUME_UP/VOLUME_DOWN le widget dont tu parles, je ne sais pas si c’est possible, je peux essayer

Si tu as des applications comme netflix, disney+, des jeux… sur ta TV, peux tu les lancer et me dire ce qu’il s’affiche dans le champs texte ? ça me permettra de compléter le mapping dont je parle plus haut. Comme ça quand tu lanceras ces apps, sur Gladys sera affiché « Netflix » à la place de « com.blabla.netflix.androidtv » (et voir même tu pourras les utiliser plus facilement dans les scènes)

Ok je vais essayer de trouver ce qu’il peut bloquer

J’y regarde dès que je rentre (une dizaine de jours)!

1 « J'aime »

Salutations !
Je viens de faire le tour des applications installées (principalement par défaut) sur mon téléviseur Google TV TCL (sous Android 11)
J’ai créé un fichier partagé avec les textes retournés par l’intégration selon l’application lancée. Il serait sans doute intéressant que cette base de données soit étoffée, j’ai donc laissé libre accès en modification à ce document. Peut-être que @pierre-gilles préfèrera utiliser un autre système que Google Sheets…

1 « J'aime »

Non c’est parfait google sheet! Top :slight_smile:

1 « J'aime »

Merci @GBoulvin ! je vais ajouter tout ce que tu as trouvé dans la PR existante.

1 « J'aime »

J’ai deux remarques supplémentaires!

  • La télécommande existante via Google Home ne me permet pas non plus de modifier le volume. Je passe par un Home cinéma contrôlé en HDMI CEC. Peut-être la raison ?
  • Je n’avais pas compris au départ qu’il fallait cliquer sur l’icône à droite du code d’association pour valider… :innocent: Mais dès lors, ça marche du premier coup !
    Depuis, j’ai acquis un Chromecast HD donc, des tests supplémentaires sont possibles :wink:
1 « J'aime »