Integración externa - Apple TV

Gracias por el análisis :slight_smile:

En ese caso, la integración externa no debería funcionar incluso cuando están en la misma red, ¿verdad?
A menos que, cuando estás en la misma red, envíe solicitudes unicast y la explicación podría tener sentido

@valentinhttr

Es extraño que durante el segundo escaneo se encuentre un dispositivo menos cuando desconecto mi Apple TV

[2026-08-16T18:35:13.529Z] [INFO] [apple-tv] Gladys capturó 5 anuncios de AirPlay
[2026-08-16T18:35:13.529Z] [INFO] [apple-tv] Verificando 5 direcciones candidatas con pyatv
[2026-08-16T18:35:21.531Z] [INFO] [apple-tv] Se encontraron 0 Apple TV
[2026-08-16T18:35:55.134Z] [INFO] [apple-tv] Escaneo solicitado
[2026-08-16T18:36:03.139Z] [INFO] [apple-tv] Gladys capturó 4 anuncios de AirPlay
[2026-08-16T18:36:03.139Z] [INFO] [apple-tv] Verificando 4 direcciones candidatas con pyatv
[2026-08-16T18:36:11.141Z] [INFO] [apple-tv] Se encontraron 0 Apple TV

¿Hay alguna manera de tener un modo de depuración para ver qué dispositivo detecta y potencialmente encontrar por qué no los agrega en el descubrimiento :wink:

Gracias, esta prueba es muy útil: el paso de 5 a 4 después de desconectar el Apple TV confirma que Gladys ve bien su anuncio AirPlay y recupera su IP (al menos eso creo). El bloqueo ocurre después, cuando pyatv intenta completar la información con una consulta mDNS directa, ignorada entre subredes.

La versión `1.1.0` de la integración está en proceso de construcción, ahora detalla en los registros el nombre, el host, la IP y el puerto de cada anuncio/candidato. Esto confirmará claramente qué dirección corresponde al Apple TV, aunque el parche de red sigue siendo necesario para recuperar los otros servicios requeridos.

Gracias :slight_smile:

Aquí está el resultado:

[2026-08-17T18:15:52.654Z] [INFO] [apple-tv] Anuncio de AirPlay 3/5: {"name":"Chambre._airplay._tcp.local","host":"Chambre.local","addresses":["fe80::7:3db5:2499:xxx","fdfd:9ce7:d5fe:4961:c02:da41:da37:xxxx","192.168.xx.10","fdfd:9ce7:d5fe:4961:6:fda9:17a6:xxxx"],"ipv4":["192.168.xx.10"],"port":7000}
[2026-08-17T18:15:52.655Z] [INFO] [apple-tv] Dirección candidata 3/5: {"address":"192.168.xx.10","sources":["Anuncio de AirPlay","configuración manual"]}
[2026-08-17T18:15:52.655Z] [INFO] [apple-tv] Verificando 5 direcciones candidatas con pyatv
[2026-08-17T18:16:00.657Z] [WARN] [apple-tv] Ninguna dirección candidata respondió a la consulta directa de mDNS de pyatv: 192.168.xx.12, 192.168.xx.9, 192.168.xx.10, 192.168.xx.7, 192.168.xx.8. En redes enrutadas o VLANs separadas, los dispositivos Apple normalmente ignoran las consultas directas de mDNS cuyo origen está fuera de su subred local.
[2026-08-17T18:16:00.658Z] [INFO] [apple-tv] Se encontraron 0 Apple TV(s)

Es extraño que solo se vea Chambre._airplay._tcp.local
Y no Chambre._companion-link._tcp

Gracias por la respuesta, los registros confirman el diagnóstico: Gladys recibe el anuncio AirPlay y la IP correcta, pero la verificación directa de pyatv no obtiene ninguna respuesta entre los VLAN.

La ausencia de _companion-link._tcp es actualmente normal: solo _airplay._tcp está declarado, y Gladys hasta ahora solo recorre el primer servicio mDNS de una integración.

@pierre-gilles He propuesto una corrección en Gladys: PR #2951 que permite recuperar y fusionar todos los servicios mDNS declarados.

@prohand En principio, si esta evolución se integra en Gladys, podremos planificar una nueva versión de la integración Apple TV que aproveche directamente estos anuncios en lugar de volver a hacer una consulta mDNS desde su contenedor. La 1.1.0 mejora el diagnóstico, pero el soporte inter-VLAN requerirá esta próxima versión.

Perfecto, gracias :slight_smile:

Gracias, he puesto mis comentarios :slight_smile:

Gracias, he hecho girar a Claude sobre eso :+1:

Hola @valentinhttr

Como la PR ya está fusionada, ¿podrías ver para hacer una nueva versión, por favor? :slight_smile:

Gracias

Hola, sí, está previsto, pero a mi regreso, probablemente la próxima semana :+1:t2:

Sin problema :wink:
Gracias

Hola @prohand
He encontrado un momento para echar un vistazo, ¡la versión 1.2.0 estará disponible en 5 minutos!

Dime si funciona esta vez, por favor.

Gracias :slight_smile:

Acabo de probar y me encuentra 4 Apple TV cuando solo tengo 2 :

Aquí está el mapeo de las IPs y los dispositivos :

192.168.30.7 Apple HomePod Mini Entrada
192.168.30.8 Apple HomePod Mini Cocina
192.168.30.9 Apple TV Sala
192.168.30.10 Apple TV Dormitorio

Debería tener solo 2 (192.168.30.9 y 192.168.30.10)

O bien el traspaso de las consultas mDNS funciona entre mis redes con la corrección de Gladys y ignora este campo, o bien no tiene en cuenta el campo « Direcciones IPv4 manuales » porque solo había puesto 192.168.30.10 en este campo :

image

Aquí están los registros :

[2026-09-01T18:42:59.359Z] [INFO] [apple-tv] Iniciando la integración de Apple TV de Gladys
[2026-09-01T18:42:59.366Z] [INFO] [apple-tv:pyatv] Iniciando el trabajador pyatv (/opt/pyatv/bin/python3 /app/src/pyatv_bridge.py)
[2026-09-01T18:42:59.632Z] [INFO] [gladys-sdk] conectado a Gladys (http://172.30.0.1:80)
2026-09-01 20:43:00,237 INFO [pyatv-bridge] puente pyatv 0.18.0 listo (almacenamiento: /data/pyatv.json)
[2026-09-01T18:43:07.646Z] [INFO] [apple-tv] Gladys capturó 14 anuncios mDNS, 5 configuraciones de dispositivos disponibles sin una consulta directa
[2026-09-01T18:43:15.657Z] [INFO] [apple-tv] Gladys capturó 8 anuncios mDNS, 3 configuraciones de dispositivos disponibles sin una consulta directa
[2026-09-01T18:47:09.705Z] [INFO] [apple-tv] Configuración actualizada
[2026-09-01T18:47:52.379Z] [INFO] [apple-tv] Escaneo solicitado
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Gladys capturó 13 anuncios mDNS en 3 servicios: _airplay._tcp.local, _companion-link._tcp.local, _raop._tcp.local
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 1/13: {"name":"Salon._airplay._tcp.local","service":"_airplay._tcp.local","host":"Salon.local","addresses":["fe80::403:b392:d53f:d2b1","192.168.30.7","fdfd:9ce7:d5fe:4961:6:fdf2:b5c0:fcb3","fdfd:9ce7:d5fe:4961:883:9e7e:929c:90df"],"ipv4":["192.168.30.7"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 2/13: {"name":"Salle TV._airplay._tcp.local","service":"_airplay._tcp.local","host":"Sonos-542A1BD83454.local","addresses":["192.168.30.12","fe80::562a:1bff:fed8:3454"],"ipv4":["192.168.30.12"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 3/13: {"name":"Salon (2)._airplay._tcp.local","service":"_airplay._tcp.local","host":"Salon-2.local","addresses":["fe80::1875:c834:3f5:7967","192.168.30.8","fdfd:9ce7:d5fe:4961:2:fded:e94a:ea67","fdfd:9ce7:d5fe:4961:1c30:ec0:9248:2524"],"ipv4":["192.168.30.8"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 4/13: {"name":"Salon (3)._airplay._tcp.local","service":"_airplay._tcp.local","host":"Salon-3.local","addresses":["fe80::1c2e:7d28:59b9:4fa6","192.168.30.9","fdfd:9ce7:d5fe:4961:7:fdbc:e949:be74","fdfd:9ce7:d5fe:4961:148d:d648:7633:d52d"],"ipv4":["192.168.30.9"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 5/13: {"name":"Chambre._airplay._tcp.local","service":"_airplay._tcp.local","host":"Chambre.local","addresses":["fdfd:9ce7:d5fe:4961:c02:da41:da37:6ccb","fe80::8a3:1cd5:2be8:5d1d","192.168.30.10","fdfd:9ce7:d5fe:4961:9:fda9:17a6:dc08"],"ipv4":["192.168.30.10"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 6/13: {"name":"Salon._companion-link._tcp.local","service":"_companion-link._tcp.local","host":"Salon.local","addresses":["fe80::403:b392:d53f:d2b1","192.168.30.7","fdfd:9ce7:d5fe:4961:6:fdf2:b5c0:fcb3","fdfd:9ce7:d5fe:4961:883:9e7e:929c:90df"],"ipv4":["192.168.30.7"],"port":49153}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 7/13: {"name":"Salon (2)._companion-link._tcp.local","service":"_companion-link._tcp.local","host":"Salon-2.local","addresses":["fe80::1875:c834:3f5:7967","192.168.30.8","fdfd:9ce7:d5fe:4961:2:fded:e94a:ea67","fdfd:9ce7:d5fe:4961:1c30:ec0:9248:2524"],"ipv4":["192.168.30.8"],"port":49153}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 8/13: {"name":"Salon (3)._companion-link._tcp.local","service":"_companion-link._tcp.local","host":"Salon-3.local","addresses":["fe80::1c2e:7d28:59b9:4fa6","192.168.30.9","fdfd:9ce7:d5fe:4961:7:fdbc:e949:be74","fdfd:9ce7:d5fe:4961:148d:d648:7633:d52d"],"ipv4":["192.168.30.9"],"port":49153}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 9/13: {"name":"Chambre._companion-link._tcp.local","service":"_companion-link._tcp.local","host":"Chambre.local","addresses":["fdfd:9ce7:d5fe:4961:c02:da41:da37:6ccb","fe80::8a3:1cd5:2be8:5d1d","192.168.30.10","fdfd:9ce7:d5fe:4961:9:fda9:17a6:dc08"],"ipv4":["192.168.30.10"],"port":49153}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 10/13: {"name":"542A1BD83454@Salle TV._raop._tcp.local","service":"_raop._tcp.local","host":"Sonos-542A1BD83454.local","addresses":["192.168.30.12","fe80::562a:1bff:fed8:3454"],"ipv4":["192.168.30.12"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 11/13: {"name":"A6C0D2CF8B73@Salon (2)._raop._tcp.local","service":"_raop._tcp.local","host":"Salon-2.local","addresses":["fe80::1875:c834:3f5:7967","192.168.30.8","fdfd:9ce7:d5fe:4961:2:fded:e94a:ea67","fdfd:9ce7:d5fe:4961:1c30:ec0:9248:2524"],"ipv4":["192.168.30.8"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 12/13: {"name":"8E4D52BC66DD@Salon (3)._raop._tcp.local","service":"_raop._tcp.local","host":"Salon-3.local","addresses":["fe80::1c2e:7d28:59b9:4fa6","192.168.30.9","fdfd:9ce7:d5fe:4961:7:fdbc:e949:be74","fdfd:9ce7:d5fe:4961:148d:d648:7633:d52d"],"ipv4":["192.168.30.9"],"port":7000}
[2026-09-01T18:48:00.386Z] [INFO] [apple-tv] Anuncio mDNS 13/13: {"name":"DE0D0144E41D@Chambre._raop._tcp.local","service":"_raop._tcp.local","host":"Chambre.local","addresses":["fdfd:9ce7:d5fe:4961:c02:da41:da37:6ccb","fe80::8a3:1cd5:2be8:5d1d","192.168.30.10","fdfd:9ce7:d5fe:4961:9:fda9:17a6:dc08"],"ipv4":["192.168.30.10"],"port":7000}
[2026-09-01T18:48:00.387Z] [INFO] [apple-tv] Dirección candidata 1/5: {"address":"192.168.30.7","sources":["Anuncio AirPlay"]}
[2026-09-01T18:48:00.387Z] [INFO] [apple-tv] Dirección candidata 2/5: {"address":"192.168.30.12","sources":["Anuncio AirPlay"]}
[2026-09-01T18:48:00.387Z] [INFO] [apple-tv] Dirección candidata 3/5: {"address":"192.168.30.8","sources":["Anuncio AirPlay"]}
[2026-09-01T18:48:00.387Z] [INFO] [apple-tv] Dirección candidata 4/5: {"address":"192.168.30.9","sources":["Anuncio AirPlay"]}
[2026-09-01T18:48:00.387Z] [INFO] [apple-tv] Dirección candidata 5/5: {"address":"192.168.30.10","sources":["Anuncio AirPlay","configuración manual"]}
[2026-09-01T18:48:00.387Z] [INFO] [apple-tv] Verificando 5 direcciones candidatas con pyatv
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] Respuesta pyatv 1/5: {"name":"Salon","address":"192.168.30.7","model":"HomePod Mini","operating_system":"tvos","is_apple_tv":true,"source":"announced"}
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] Respuesta pyatv 2/5: {"name":"Salle TV","address":"192.168.30.12","model":"Beam","operating_system":"unknown","is_apple_tv":false,"source":"announced"}
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] Respuesta pyatv 3/5: {"name":"Salon (2)","address":"192.168.30.8","model":"HomePod Mini","operating_system":"tvos","is_apple_tv":true,"source":"announced"}
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] Respuesta pyatv 4/5: {"name":"Salon (3)","address":"192.168.30.9","model":"Apple TV 4K (gen 3)","operating_system":"tvos","is_apple_tv":true,"source":"announced"}
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] Respuesta pyatv 5/5: {"name":"Chambre","address":"192.168.30.10","model":"Apple TV 4K (gen 3)","operating_system":"tvos","is_apple_tv":true,"source":"announced"}
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] 5 dispositivo(s) se reconstruyeron a partir de los anuncios capturados por Gladys, porque no respondieron a una consulta directa: Salon (192.168.30.7), Salle TV (192.168.30.12), Salon (2) (192.168.30.8), Salon (3) (192.168.30.9), Chambre (192.168.30.10). Esta es la ruta esperada cuando Gladys y el Apple TV están en subredes diferentes.
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] 5 direcciones candidatas no respondieron a una consulta directa: 192.168.30.7, 192.168.30.12, 192.168.30.8, 192.168.30.9, 192.168.30.10
[2026-09-01T18:48:08.391Z] [INFO] [apple-tv] Se encontraron 4 Apple TV(s)

Gracias @prohand, la 1.2.1 está disponible, corrige el problema.

Tus dos HomePod mini estaban bien subidos como Apple TV. La razón es
un poco astuta: un HomePod funciona con tvOS y anuncia exactamente los mismos
servicios AirPlay y Companion que una Apple TV. Ahora filtro por el modelo de hardware. He vuelto a ejecutar tu configuración exacta
(2 HomePod mini, 2 Apple TV 4K, la Sonos Beam): se obtienen bien 2 Apple TV,
la Beam y los HomePod quedan descartados.

Para el campo « Direcciones IPv4 manuales »: se tenía en cuenta, tu registro lo muestra: 192.168.30.10 aparece con los dos orígenes:

Candidate address 5/5: {"address":"192.168.30.10","sources":["AirPlay announcement","manual configuration"]}

Este campo añade direcciones a las que Gladys ha captado, no las reemplaza
: sirve para unirse a un dispositivo cuyos anuncios no llegan hasta Gladys, no para elegir cuál guardar. En tu caso no servía para nada de todas formas, en el buen sentido de la palabra: el relay mDNS entre tus VLAN funciona, las 5 direcciones venían todas de los anuncios. Puedes vaciar el campo. He reformulado su descripción, tu lectura era legítima.

¿Puedes actualizar y relanzar un escaneo por favor? Deberías ver solo Salon (3) y Chambre. Y si el emparejamiento funciona bien a través de tus VLAN, me interesa
mucho saberlo: es el caso de uso de la 1.2.0 y eres el primero en probarlo en la práctica.

Gracias, está bien para mí :slight_smile:

Hola @valentinhttr

He visto que este mensaje puede ensuciar un poco los registros ^^:

[2026-09-25T11:12:28.686Z] [WARN] [apple-tv] No se pudo conectar a Apple TV Chambre: No respondió ningún Apple TV en 192.168.xx.xx. Verifique que esté encendido y accesible desde el host de Gladys.

Efectivamente, el Apple TV no siempre está encendido y es normal cuando no lo usamos ^^

¿Crees que podemos hacer algo al respecto?

Gracias

¡Hola :waving_hand:

¡La versión 2.0.0 de la integración de Apple TV ya está disponible!

En esta versión:

  • Un widget Reproducción para mostrar el medio actual y controlar la reproducción.
  • Un widget Favoritos para lanzar hasta cuatro aplicaciones desde el panel.
  • Una corrección de los registros: cuando una Apple TV está desconectada, los intentos de reconexión ya no llenan los registros. Un mensaje indica la indisponibilidad, luego otro avisa cuando vuelve a estar en línea. La reconexión sigue siendo automática.

:warning: Esta versión requiere Gladys 5.1 como mínimo.

No duden en compartir sus comentarios sobre los nuevos widgets, no he podido probarlos :slightly_smiling_face:

Gracias por esta versión :slight_smile:

Hola, en mi caso, no logro superar la barrera de las redes; Gladys está en una red de 192.168.1.x y mis dispositivos Apple están en una red Wi-Fi Mesh (Tapo BE25) en 192.168.68.x.

Entiendo perfectamente que el problema de no descubrimiento viene de ahí, pero no sé cómo solucionarlo; mi router Wi-Fi no parece ofrecer mDNS… Ayuda.

Por otro lado, una « Apple TV Free Player » aparece, efectivamente en la misma red que Gladys. Sin embargo, ¿por qué mi reproductor Delta de Free aparece y, sobre todo, con ese nombre?

Si tienes alguna idea, me interesa, porque creo que no estar en la misma subred me genera algunos problemas con otros dispositivos, como las lámparas Govee.

Buen fin

Hola @JKBS64, la división en dos subredes probablemente explica la no detección: los anuncios mDNS normalmente no pasan de una a otra. Esto también podría explicar algunas dificultades con los Govee.

Para el Free Player, probablemente se reporta a través de AirPlay/AirMedia. El prefijo « Apple TV » se añade por la integración, pero hay que verificar por qué pasa el filtro de los modelos.

¿Podrías volver a ejecutar Descubrimiento → Escanear, luego ir a Registros, actualizar y copiar las líneas que contengan pyatv response, en particular la del Free Player? Añade también la versión de la integración indicada en Supervisión.

PD: Según ChatGPT, si es realmente un TP-Link Deco BE25, podrías pasarlo a modo punto de acceso para que la Freebox y los dispositivos Wi-Fi compartan la misma red, manteniendo al mismo tiempo el mesh. No conozco lo suficiente tu configuración para garantizarte que este cambio es adecuado y sin impacto en tu caso, pero es una pista a verificar: procedimiento TP-Link.

¡Buen fin de semana!