Integración domótica Android TV / Fire TV (ADB), gratuita y de código abierto

Controle Android TV, Google TV, Shield y Fire TV por ADB en red: encendido, apps, medios, teclas.
Controle sus Android TV, Google TV, NVIDIA SHIELD, cajas Android y Amazon Fire TV desde Gladys, por la red local, mediante ADB (Android Debug Bridge): encendido, la aplicación en pantalla, la reproducción, el volumen y las teclas del mando, además de disparadores y acciones de escena y un widget para el panel.
Desarrollada sin el hardware: sus comentarios son bienvenidos. La integración se prueba con dispositivos simulados construidos a partir de salidas reales, todavía no con cada modelo. Cuéntenos en el foro qué funciona en el suyo.
Esta integración no está afiliada a Google, Amazon ni NVIDIA (not affiliated with Google, Amazon or NVIDIA). Android, Google TV, Fire TV y SHIELD son marcas de sus propietarios.
Presentación
Cada televisor o caja se convierte en un dispositivo de Gladys, identificado por su número de serie (no por su dirección IP). Gladys se conecta al puerto de depuración por red del dispositivo (5555), con una clave propia que usted autoriza una vez en la pantalla. No se instala nada en el dispositivo y no interviene ninguna nube.
Lo que obtiene:
- encender y apagar la pantalla, y saber si está encendida, en espera o con el salvapantallas;
- la aplicación en pantalla, por su nombre (Netflix, YouTube, Prime Video, myCANAL…), y abrir cualquier aplicación instalada desde Gladys;
- el estado de reproducción (reproduciendo, en pausa, detenida) de la aplicación en pantalla;
- el volumen, cuando el dispositivo lo indica, y las teclas del mando (inicio, atrás, flechas, OK, reproducción, volumen);
- disparadores de escena («una aplicación pasa a la pantalla», «la reproducción empieza, se pausa o se detiene») y acciones de escena («abrir una aplicación», «pulsar una tecla», «abrir una dirección»).
Complemento de Android TV Remote
La integración Android TV Remote usa el protocolo de la aplicación mando de Google TV (Remote v2). Ambas pueden instalarse juntas:
| Necesidad | Android TV Remote | Esta integración (ADB) |
|---|---|---|
| Amazon Fire TV | no | sí |
| Abrir cualquier aplicación instalada | desde una lista | sí |
| Saber qué aplicación está en pantalla | no | sí |
| Estado de reproducción para las escenas | parcial | sí |
| Sin las opciones para desarrolladores | sí | no |
| Emparejamiento | código PIN | «¿Permitir la depuración?» |
Requisitos
- Gladys Assistant 5.1.0 o posterior.
- El dispositivo y Gladys en la misma red local, el dispositivo con una dirección IP fija (una reserva DHCP en su router).
- Las opciones para desarrolladores y la depuración por red activadas en el dispositivo (más abajo). Se hace una sola vez.
Android TV, Google TV, NVIDIA SHIELD
- Ajustes → Preferencias del dispositivo → Información: haga clic siete veces en Compilación. Aparece «Ya es desarrollador».
- Ajustes → Preferencias del dispositivo → Opciones para desarrolladores: active la Depuración USB.
- En una NVIDIA SHIELD, active también la Depuración por red en el mismo menú: muestra la dirección que debe usar. En un Chromecast con Google TV y la mayoría de las cajas, la depuración USB abre el puerto 5555 en la red.
Algunos dispositivos con Android 11+ solo ofrecen la «Depuración inalámbrica» (código de emparejamiento, puerto
aleatorio): ese modo no es compatible. En un dispositivo así, ejecute una vez adb tcpip 5555 desde un
ordenador conectado a él (válido hasta el siguiente reinicio del dispositivo).
Amazon Fire TV
- Ajustes → Mi Fire TV → Información: haga clic siete veces en el nombre del dispositivo.
- Ajustes → Mi Fire TV → Opciones para desarrolladores: active la Depuración ADB.
Configuración
En Gladys: Integraciones → Android TV / Fire TV (ADB) → Configuración.
- Direcciones IP de los dispositivos: una dirección por televisor o caja, separadas por comas, por ejemplo
192.168.1.50, 192.168.1.51. El puerto es 5555, salvo que añada otro (192.168.1.50:5556). - Actualización encendido: la frecuencia de lectura de un dispositivo encendido, de 5 a 60 segundos (10 por defecto). Un dispositivo en espera se lee una vez por minuto.
- Idioma de los nombres de funciones: los nombres dados a las funciones al añadir un dispositivo (no cambian después) y los nombres de aplicaciones enviados con los eventos de escena. Francés por defecto.
Guarde y añada después los dispositivos desde la pestaña Descubrir.
Autorizar a Gladys en el dispositivo
En la primera conexión, la pantalla del dispositivo pregunta «¿Permitir la depuración USB?» con la huella de la clave de Gladys. Marque «Permitir siempre desde este ordenador» y acepte. Sin la casilla marcada, la pregunta vuelve en cada conexión.
Gladys pregunta una vez por sí mismo, justo después de guardar la dirección. Si se perdió la pregunta (pantalla apagada, nadie delante del televisor), encienda el televisor y ejecute la acción Conectar los dispositivos al final de la pantalla Configuración: la pregunta vuelve a aparecer, y el resultado indica, para cada dirección, si Gladys está conectado. También muestra la huella de la clave, para compararla con la de la pantalla.
Dispositivos
Cada televisor o caja es un dispositivo, con el nombre de su modelo (puede cambiarlo). Sus funciones:
| Función | Tipo | Qué hace |
|---|---|---|
| Encendido | Encendido TV | 1 cuando la pantalla está encendida (salvapantallas incluido), 0 en espera; cambiarlo la despierta o la duerme |
| Aplicación | Selección | la aplicación en pantalla; elegir otra la abre |
| Estado de reproducción | Selección (lectura) | reproduciendo, en pausa, detenida, sin reproducción, salvapantallas, en espera |
| Volumen | Volumen TV (%) | el volumen multimedia, cuando el dispositivo lo indica; ajustarlo lo cambia |
| Inicio, Atrás, flechas, OK | Botones TV | las teclas de navegación |
| Menú, Reproducir, Pausa, Detener | Botones TV | las teclas de menú y de reproducción |
| Siguiente, Anterior, Retroceder, Avanzar | Botones TV | las teclas multimedia |
| Subir volumen, Bajar volumen, Silencio | Botones TV | las teclas de volumen (en una caja, transmitidas al televisor por HDMI-CEC) |
La lista Aplicación contiene las aplicaciones instaladas que se abren desde la pantalla de inicio, con su nombre para las más comunes (Netflix, YouTube, Prime Video, Disney+, myCANAL, Molotov, france.tv, Arte, Spotify, Deezer, Plex, Kodi, VLC…) y el nombre de paquete para las demás. Se vuelve a leer cada seis horas.
Actualización
Gladys lee cada dispositivo por sí mismo (no depende del sondeo del núcleo): cada 10 segundos (su ajuste) con la pantalla encendida, mediante una conexión que se mantiene abierta para que las teclas respondan al instante; una vez por minuto en espera, cerrando la conexión tras cada lectura. Una lectura es un único comando en el dispositivo (encendido, actividad, sesión multimedia y estado de audio): la carga es baja. Solo se envían a Gladys los valores que cambian, más un recordatorio cada seis horas. Sin cuenta, sin nube, sin cuota.
Widget
Panel → Editar → añada el widget Mando ADB y elija el dispositivo. Muestra el estado (encendido, salvapantallas, en espera, inalcanzable), la aplicación en pantalla, el estado de reproducción y el volumen, y cuatro botones a elegir (ajustes «Botón 1» a «Botón 4»: atrás, inicio, reproducir/pausa y encendido por defecto). Cuatro es el número de botones que Gladys admite por widget: añada un segundo widget para otras teclas.
Disparadores de escena
- Una aplicación pasa a la pantalla: la aplicación en primer plano ha cambiado. Filtros: el dispositivo, una
aplicación conocida o cualquier nombre de paquete (p. ej.
org.videolan.vlc). La escena puede usar el nombre de la aplicación, el nombre de paquete y el nombre del dispositivo. - La reproducción empieza, se pausa o se detiene: la sesión multimedia de la aplicación en pantalla ha cambiado de estado. Filtros: el dispositivo y el estado. La escena puede usar el estado, la aplicación y el nombre del dispositivo.
Ambos se leen al ritmo de la actualización (10 segundos por defecto), y solo con la pantalla encendida. Algunas aplicaciones no publican su estado de reproducción: los disparadores de reproducción quedan entonces mudos para ellas.
Acciones de escena
- Abrir una aplicación en el televisor: una aplicación conocida de la lista (en un Fire TV se elige la versión para Fire TV) o cualquier nombre de paquete.
- Pulsar una tecla del mando: inicio, atrás, flechas, OK, menú, reproducir/pausa, reproducir, pausa, detener, siguiente, anterior, retroceder, avanzar, volumen, silencio, encendido, ajustes, buscar; de una a veinte pulsaciones.
- Abrir una dirección en el televisor: una dirección
http,https,rtsportmp, abierta por la aplicación adecuada (un enlace de YouTube abre YouTube) o por el paquete que indique (p. ej.org.videolan.vlcpara el flujo de una cámara).
No hay acción «ejecutar un comando de shell», a propósito: un shell ADB puede instalar, eliminar o leer cualquier cosa en el dispositivo, y una escena la puede modificar cualquier administrador de Gladys. Home Assistant ofrece una; esta integración no.
Ejemplos de escenas
- Modo cine: cuando Netflix, Prime Video o Disney+ pasa a la pantalla después de las 20 h, baje las luces del salón al 20 %.
- Pausa, luz: cuando la reproducción se pausa en el televisor del salón, suba las luces al 60 %; cuando continúa, vuelva al 20 %.
- Noticias de la mañana: a las 7:30 los días laborables, encienda el televisor de la cocina y abra la dirección de una emisión de noticias en directo en YouTube.
- Hora de dormir de los niños: cuando YouTube Kids pasa a la pantalla del televisor de los niños después de las 21 h, envíe un mensaje a los padres o ponga el televisor en espera.
Solución de problemas
- «Nunca alcanzado»: compruebe la dirección, que el dispositivo esté encendido y que la depuración por red esté activada. Algunos televisores (Philips) solo aceptan la primera autorización por Wi-Fi: autorice una vez por Wi-Fi y después también funciona la conexión por cable.
- «Aún no autorizado»: acepte la pregunta en la pantalla marcando «Permitir siempre», o ejecute Conectar los dispositivos con la pantalla encendida. Android 11+ olvida una autorización sin usar durante siete días: Opciones para desarrolladores → «Desactivar el tiempo de espera de autorización de adb».
- «Puerto de depuración inalámbrica (emparejamiento)»: la dirección apunta al puerto de la depuración inalámbrica de Android 11, no a la depuración por red en el 5555 (vea Requisitos).
- El volumen siempre indica 100 %: en una caja conectada por HDMI, el volumen es el del televisor (HDMI-CEC) y la caja emite un volumen fijo. Use las teclas de volumen, que la caja transmite al televisor.
- Falta una aplicación en la lista: no tiene entrada en la pantalla de inicio (un servicio, una entrada). Use la acción «Abrir una aplicación» con su nombre de paquete.
- Otro cliente ADB no se conecta: algunos dispositivos solo aceptan una conexión ADB a la vez. Con la pantalla encendida, Gladys mantiene una abierta.
- El dispositivo no sale de la espera: en espera profunda, algunos televisores apagan su red y ya nada los alcanza. Active la opción de espera en red del televisor («Encendido por red», «Inicio rápido»).
- Más detalles: ajuste
LOG_LEVEL=debugen la integración para ver cada lectura en sus registros.
Para retirar la autorización de Gladys de un dispositivo: Opciones para desarrolladores → «Revocar autorizaciones de depuración USB».
Límites
- Desarrollada sin el hardware: los formatos de las respuestas de los dispositivos proceden de las bibliotecas de Home Assistant y de las fuentes de Android, y varían según modelos y versiones. Sus comentarios son bienvenidos.
- Sin descubrimiento automático: los dispositivos no anuncian su puerto de depuración por red de forma fiable, y la integración no puede escuchar la red local por sí misma. Introduzca las direcciones.
- Gladys no puede encender un dispositivo cuya red duerme en espera.
- El estado de reproducción depende de que la aplicación lo publique (Netflix, YouTube, Plex, Spotify, VLC sí; algunas no).
- Sin cambio de entrada HDMI, sin canales, sin captura de pantalla, sin comando de shell libre.
- La depuración inalámbrica de Android 11+ (código de emparejamiento) no es compatible.
Seguridad y privacidad
- La clave de Gladys (una clave RSA, como la de la herramienta
adb) se crea en el primer arranque y se guarda en el volumen de datos de la integración (/data/adbkey). Nunca sale de él y nunca aparece en los registros. Quien la tenga, y alcance el dispositivo por la red, puede controlar el dispositivo: mantenga privadas sus copias de seguridad de Gladys. /data/androidtv-adb.jsonguarda los dispositivos identificados: dirección, número de serie o dirección MAC, modelo, versión de Android, aplicaciones instaladas.- La integración solo envía los comandos fijos descritos aquí, lee el estado del dispositivo y nunca lee sus archivos. Todo el tráfico se queda en su red local.
Parámetros de configuración
Estos son los parámetros que Android TV / Fire TV (ADB) te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Antes de empezar | section | No | En el televisor o la caja: active las opciones para desarrolladores (7 clics en el número de compilación) y luego la depuración por red (Fire TV: depuración ADB). Introduzca su dirección IP abajo y guarde: la pantalla pregunta «¿Permitir la depuración?». Marque «Permitir siempre» y acepte. Complementa la integración Android TV Remote: ADB también funciona en Fire TV, abre cualquier aplicación y lee la que está en pantalla. |
| Direcciones IP de los dispositivos | string | No | Una dirección por televisor o caja, separadas por comas. Puerto 5555 por defecto (añada :puerto si no). Asigne a cada dispositivo una dirección fija en su router. |
| Actualización encendido (segundos) | number | No | Frecuencia de lectura de un dispositivo encendido (5 a 60 s). En espera, una vez por minuto. |
| Idioma de los nombres de funciones | select | No | Nombres de las funciones al añadir un dispositivo y textos de los eventos de escena. |
Cómo instalar Android TV / Fire TV (ADB) en Gladys
- En Gladys, abre Integraciones: Android TV / Fire TV (ADB) aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-androidtv-adb:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-androidtv-adb.
Android TV / Fire TV (ADB) requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Android TV / Fire TV (ADB) es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones externas
- Descubrir las integraciones nativas incluidas en Gladys
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación