Hola @pierre-gilles,
He mirado un poco por ahí, y es principalmente en HA donde hay pistas…
Por lo tanto, veo tres enfoques posibles:
- Un widget único que se adapte automáticamente a las funciones del dispositivo (canales, aplicaciones, control remoto, volumen, etc.).
- Varios widgets especializados según el tipo de reproductor (audio, video, casting…). >>> Es la opción de HA si lo he entendido bien
- Una versión adaptativa, ligera en móvil y más completa en escritorio.
Personalmente, me gusta la primera…
Pregunta rápida, no tengo Sonos en casa pero ¿he entendido bien:
- ¿El widget de música existente solo sirve para Sonos?
- ¿Gladys ya ve los grupos de Sonos existentes, pero no permite crearlos o modificarlos???
Base: 4 clusters Matter (OnOff, MediaPlayback, LevelControl, KeypadInput)
Lista de funciones de un widget multimedia « universal » identificadas hasta ahora:
FUNCIONES PRINCIPALES (Todos los dispositivos)
Control de reproducción
✅ play() - Iniciar reproducción
✅ pause() - Pausar
✅ stop() - Detener
✅ next() - Siguiente canción/programa
✅ previous() - Canción/programa anterior
Línea de tiempo / Progreso
✅ seek(position) - Saltar a una posición
✅ displayTimeline() - Mostrar barra de progreso
✅ displayTimeElapsed() - Mostrar tiempo transcurrido (15:45)
✅ displayTimeRemaining() - Mostrar tiempo restante (-14:15)
Control de volumen
✅ setVolume(0-100) - Ajustar volumen
✅ increaseVolume() - Aumentar volumen
✅ decreaseVolume() - Disminuir volumen
✅ mute() - Silenciar
✅ unmute() - Restaurar sonido
✅ displayVolumeLevel() - Mostrar % de volumen
Gestión de energía
✅ powerOn() - Encender el dispositivo
✅ powerOff() - Apagar el dispositivo
✅ togglePower() - Alternar encendido/apagado
✅ displayPowerStatus() - Mostrar estado de energía
Información del dispositivo
✅ displayDeviceName() - Mostrar nombre del dispositivo
✅ displayStatus() - Mostrar estado (Reproduciendo, Pausado, Detenido)
✅ displayCurrentSource() - Mostrar fuente actual
FUNCIONES DE REPRODUCTOR DE AUDIO (Yoto, Sonos, etc.)
Visualización de metadatos
✅ displayArtwork() - Mostrar portada del álbum
✅ displayArtist() - Mostrar nombre del artista
✅ displayTitle() - Mostrar título de la canción
✅ displayAlbum() - Mostrar nombre del álbum
✅ displayDuration() - Mostrar duración total
Características de audio opcionales
✅ shuffle() - Modo aleatorio
✅ repeat() - Modo repetición
✅ like() - Gusta la canción (♥)
✅ dislike() - No gusta
✅ showQueue() - Mostrar cola de reproducción
FUNCIONES DE REPRODUCTOR DE VIDEO (Freebox Player, TV, etc.)
Visualización de video
✅ displayVideoOutput() - Mostrar video
✅ displayThumbnail() - Mostrar miniatura
✅ displayChannelLogo() - Mostrar logo del canal
✅ displayProgramTitle() - Mostrar título del programa
Controles específicos de video
✅ fastForward() - Avance rápido
✅ rewind() - Retroceso rápido
✅ frameByFrame() - Avance fotograma a fotograma
✅ subtitles() - Activar/desactivar subtítulos
✅ audioTracks() - Cambiar pista de audio
FUNCIONES DE CANALES DE TV
Selección de canal
✅ setChannel(channelId) - Cambiar de canal (TMC, TF1, etc.)
✅ displayCurrentChannel() - Mostrar canal actual
✅ displayChannelNumber() - Mostrar número (34)
✅ displayChannelName() - Mostrar nombre (TMC)
✅ displayChannelLogo() - Mostrar logo
✅ nextChannel() - Canal siguiente (+)
✅ previousChannel() - Canal anterior (-)
Acceso rápido a canales
✅ renderQuickAccessButtons() - [TF1] [france2] [TMC] [france3]
✅ setFavoriteChannel(channelId) - Marcar como favorito
✅ removeFavoriteChannel(channelId) - Eliminar de favoritos
✅ showAllChannels() - Modal con todos los canales (62+)
✅ searchChannel(name) - Buscar un canal
EPG (Guía de programación electrónica)
✅ displayCurrentProgram() - Mostrar programa actual
✅ displayProgramTitle() - Título del programa (NCIS Los Angeles)
✅ displayProgramTime() - Horario (15:45 - 16:30)
✅ displayProgramDescription() - Sinopsis del programa
✅ displayNextPrograms() - Mostrar próximos programas
✅ displayProgramDuration() - Duración del programa
FUNCIONES DE SERVICIOS DE TRANSMISIÓN / APPS
Lanzador de aplicaciones
✅ launchApp(appId) - Lanzar una app (Netflix, Disney+, etc.)
✅ displayAvailableApps() - Mostrar lista de apps disponibles
✅ displayCurrentApp() - Mostrar app actual
✅ closeApp() - Cerrar app
✅ switchApp(appId) - Cambiar a otra app
Servicios de transmisión
✅ launchNetflix()
✅ launchDisneyPlus()
✅ launchAmazonPrime()
✅ launchAppleTV()
✅ launchYouTube()
✅ launchSpotify()
✅ launchAllApps() - Ver todas las apps