Un retorno sobre la nueva versión: Hablar en un altavoz funciona para mi amplificador y mi altavoz Denon.
He detectado un error extraño en el control deslizante del volumen que pasa del 24% al 26%, es imposible tener el 25%.
Otro comportamiento extraño, he creado una escena para probar el envío de mensajes. Si la ejecuto más de una vez en un corto período de tiempo; la ejecución de la escena genera un mensaje que se repite
Dos correcciones tras la retroalimentación de los usuarios sobre « Hablar en un altavoz »:
Corrección: activar la acción varias veces rápidamente hacía que los mensajes se acumularan en la cola del amplificador, que luego los reproducía uno por uno en secuencia. Ahora la cola se vacía antes de cada anuncio, por lo que solo cuenta el último mensaje.
Precisión: el control deslizante de volumen no puede mostrar el 25% (ni el 75%) de forma estable — vuelve automáticamente al 26% (o 76%). Es una limitación material del amplificador (98 pasos de volumen para representar 101 valores del 0 al 100%), no un error corregible en la integración.
v1.0.19 : corrección del control de volumen/silenciar en un altavoz HEOS único (Denon Home, HEOS 1/3/5/7, Bar…) añadido mediante la IP manual.
Estos altavoces no tienen el servicio Telnet « AVR Control » de un amplificador real, por lo que el volumen, el volumen +/- y el silenciar ahora pasan automáticamente por HEOS cuando Telnet no está disponible. No hay cambios para un amplificador-tuner real (el Telnet clásico sigue siendo prioritario).
No olviden actualizar el contenedor para probarlo (@Tolkyen)
Al hacer mis pruebas, me di cuenta de que al usar la acción « Hablar en un altavoz » en las escenas, el parámetro Volumen de la acción no tiene efecto (Ampli y Denon Home). Para solucionarlo, defino el volumen del altavoz antes de la acción para que funcione
No es un error en esta integración, sino una limitación del núcleo de Gladys en sí (según Claude @pierre-gilles).
Al verificar server/lib/external-integration/externalIntegration.registerProxyService.js en el lado del núcleo de Gladys, el proxy que toda integración externa (Docker) atraviesa solo transmite a onSetValue() el campo value (la URL de audio TTS ya generada) — el objeto options que contiene el volumen del control deslizante de la acción « Hablar en un altavoz » se elimina antes de llegar al WebSocket. A diferencia de las integraciones internas (Sonos, Google Cast, AirPlay) que reciben options como argumento de función normal, una integración externa como esta no tiene ningún medio para ver o actuar sobre el valor del control deslizante — el anuncio siempre se lee al volumen actual del dispositivo, sin importar lo que muestre el editor de escena.
Amplificador en espera: sí, se despierta solo. Desde la 1.0.21 (que tienes, visto la línea connected (main zone)), la integración enciende la zona principal antes del anuncio.
Amplificador ya encendido: sí, cambia a la entrada de red/HEOS (NET), porque es la única manera de hacerle reproducir un archivo de audio. No vuelve solo a la fuente anterior.
En tus registros falta una línea importante. Cuando Gladys envía el anuncio, la integración siempre escribe:
onSetValue ← …:play_notification = https://…
seguido de HEOS accepted the « Speak on a speaker » stream (o rejected, con la razón).
Si no tienes ninguna de estas líneas después de ejecutar la escena, es que Gladys nunca envió el mensaje al amplificador. La parte amplificador/HEOS está bien en tu caso: el reproductor HEOS se encuentra correctamente. Por lo tanto, debes buscar en Gladys:
Gladys Plus: la voz de síntesis (« Hablar en un altavoz ») pasa por Gladys Plus. Sin suscripción activa, la escena falla sin decir nada, y el error solo aparece en los registros del servidor Gladys (docker logs gladys), no en los de la integración.
Amplificador añadido antes de esta función: reinicia un escaneo en la pestaña Descubrimiento, haz clic en Actualizar en el amplificador, luego elígelo de nuevo en la acción de la escena.
Si ves bien onSetValue ← …play_notification… pero aún no hay sonido, envíame las líneas que siguen.
¡Importante actualización de la integración Denon / Marantz, la 1.0.22, que aprovecha las novedades de Gladys 5.1! Atención, por lo tanto, se necesita Gladys 5.1.0 como mínimo. Si estás en una versión anterior, te quedas en la 1.0.21 hasta que Gladys esté actualizada.
En detalle:
Widgets para el tablero (Modificar el tablero → agregar una tarjeta → Denon / Marantz AVR):
En reproducción: portada o logo de la radio, título, artista, entrada, modo de sonido, volumen en tiempo real, y los botones anterior / reproducción-pausa / siguiente / silencio. Es lo que faltaba en la tarjeta Música de Gladys, que no muestra ni título ni portada para un amplificador.
Atajos: 4 botones para elegir entre las entradas, los Quick Select 1 a 5 (Smart Select en Marantz) y los favoritos HEOS. El que está activo está marcado.
Amplificador: el estado de un vistazo (encendido, entrada, modo de sonido, silencio) con el volumen, y los botones encendido/apagado, volumen +/− y silencio.
Control remoto: 4 teclas a elegir (flechas, OK, volver, menú, info…). Se colocan varias juntas para tener un teclado completo.
Radio: para los que usan el sintonizador FM/AM, con frecuencia, preselección, banda y 4 botones a elegir. El amplificador cambia automáticamente a la entrada Tuner si es necesario.
Acciones y desencadenadores de escena (busca « Amplificador: » en el editor):
Acciones: recordar un Quick Select, reproducir un favorito HEOS, « configurar el amplificador » (encender, entrada, modo de sonido y volumen en una sola acción, práctico para una escena Película), y leer el estado del amplificador para hacer un « Continuar solo si » en la entrada, por ejemplo.
Desencadenadores: « la entrada ha cambiado » (ej. paso a TV → se bajan las luces) y « la canción ha cambiado ».
« Hablar en un altavoz » mejorado: el volumen elegido en la escena no llega a las integraciones externas, es una limitación de Gladys. Ahora hay un ajuste Volumen de los anuncios en la configuración. Sobre todo, una vez terminado el anuncio, el amplificador vuelve a su estado anterior: volumen, entrada, y se pone en espera si lo estaba. Esto responde a los comentarios de @Tolkyen y @guim31 más arriba, donde el amplificador se quedaba en la entrada NET después de un anuncio. Lo que HEOS estaba reproduciendo antes (radio, lista de reproducción) no se reanuda automáticamente, sin embargo.
Por el lado menos visible:
Cada amplificador tiene ahora su propia insignia de conexión en la lista de dispositivos (local / inalcanzable). Un punto naranja con la explicación aparece si solo responde HEOS, o si HEOS no encuentra el amplificador en su IP, lo que es la causa clásica de un « Hablar en un altavoz » mudo.
Si el amplificador cambia de IP (DHCP), un escaneo Descubrimiento y luego « Actualizar » es suficiente, ya no es necesario reiniciar la integración. Lo mismo para un cambio de puerto o de renombrado de las fuentes, aplicado de inmediato.
Corrección de un posible bloqueo de la integración en ciertos mensajes HEOS.
Muchas menos escrituras innecesarias en el historial de Gladys: el estado de reproducción se reregistraba cada 30 segundos incluso sin cambios, lo que hacía aproximadamente 2,900 líneas por día y por amplificador.
Gran limpieza en el código (división en módulos, muchas más pruebas), sin cambios visibles.
No es necesario hacer clic en « Actualizar » en el dispositivo para esta versión: los widgets y las escenas están disponibles directamente después de la actualización de la integración.
Aún no he podido probar los widgets, las escenas y el retorno después del anuncio en hardware real con Gladys 5.1. Por lo tanto, sus comentarios son bienvenidos, especialmente en Marantz, en multizona y con el sintonizador. No duden en publicar los registros de la integración si algo falla.