Salut @pierre-gilles,
J’ai regardé un peu ailleurs, et c’est principalement chez HA que l’on a des pistes…
Du coup, je vois trois approches possibles :
- Un widget unique qui s’adapte automatiquement aux fonctionnalités du device (chaînes, applications, télécommande, volume, etc.).
- Plusieurs widgets spécialisés selon le type de lecteur (audio, vidéo, casting…). >>> C’est le choix de HA si j’ai bien compris
- Une version adaptative, légère sur mobile et plus complète sur desktop.
Perso, je trouve la première bien…
Petite question, je n’ai pas de Sonos chez moi mais ai-je bien compris :
- Le widget musique existant ne sert que pour Sonos ?
- Gladys voit déjà les groupes Sonos existants, mais ne permet pas de les créer ou de les modifier ???
Base : 4 Matter clusters (OnOff, MediaPlayback, LevelControl, KeypadInput)
Liste de fonctionnalités d’un widget média « universel » repérées pour le moment :
CORE FUNCTIONS (Tous les Devices)
Playback Control
✅ play() - Démarrer la lecture
✅ pause() - Mettre en pause
✅ stop() - Arrêter
✅ next() - Chanson/programme suivant
✅ previous() - Chanson/programme précédent
Timeline / Progress
✅ seek(position) - Sauter à une position
✅ displayTimeline() - Afficher barre de progression
✅ displayTimeElapsed() - Afficher temps écoulé (15:45)
✅ displayTimeRemaining() - Afficher temps restant (-14:15)
Volume Control
✅ setVolume(0-100) - Régler le volume
✅ increaseVolume() - Augmenter le volume
✅ decreaseVolume() - Diminuer le volume
✅ mute() - Couper le son
✅ unmute() - Rétablir le son
✅ displayVolumeLevel() - Afficher le % de volume
Power Management
✅ powerOn() - Allumer l'appareil
✅ powerOff() - Éteindre l'appareil
✅ togglePower() - Basculer on/off
✅ displayPowerStatus() - Afficher état power
Device Info
✅ displayDeviceName() - Afficher nom device
✅ displayStatus() - Afficher l'état (Playing, Paused, Stopped)
✅ displayCurrentSource() - Afficher source actuelle
AUDIO PLAYER FUNCTIONS (Yoto, Sonos, etc.)
Metadata Display
✅ displayArtwork() - Afficher la couverture album
✅ displayArtist() - Afficher le nom de l'artiste
✅ displayTitle() - Afficher le titre de la chanson
✅ displayAlbum() - Afficher le nom de l'album
✅ displayDuration() - Afficher la durée totale
Optional Audio Features
✅ shuffle() - Mode aléatoire
✅ repeat() - Mode répétition
✅ like() - Aimer la chanson (♥)
✅ dislike() - Ne pas aimer
✅ showQueue() - Afficher la queue de lecture
VIDEO PLAYER FUNCTIONS (Freebox Player, TV, etc.)
Video Display
✅ displayVideoOutput() - Afficher la vidéo
✅ displayThumbnail() - Afficher la miniature
✅ displayChannelLogo() - Afficher le logo chaîne
✅ displayProgramTitle() - Afficher le titre du programme
Video-Specific Controls
✅ fastForward() - Avance rapide
✅ rewind() - Retour rapide
✅ frameByFrame() - Avance image par image
✅ subtitles() - Activer/désactiver les sous-titres
✅ audioTracks() - Changer la piste audio
TV CHANNELS FUNCTIONS
Channel Selection
✅ setChannel(channelId) - Changer de chaîne (TMC, TF1, etc.)
✅ displayCurrentChannel() - Afficher la chaîne actuelle
✅ displayChannelNumber() - Afficher le numéro (34)
✅ displayChannelName() - Afficher le nom (TMC)
✅ displayChannelLogo() - Afficher le logo
✅ nextChannel() - Chaîne suivante (+)
✅ previousChannel() - Chaîne précédente (-)
Channel Quick Access
✅ renderQuickAccessButtons() - [TF1] [france2] [TMC] [france3]
✅ setFavoriteChannel(channelId) - Marquer comme favori
✅ removeFavoriteChannel(channelId) - Retirer des favoris
✅ showAllChannels() - Modal avec toutes les chaînes (62+)
✅ searchChannel(name) - Chercher une chaîne
EPG (Electronic Program Guide)
✅ displayCurrentProgram() - Afficher le programme en cours
✅ displayProgramTitle() - Titre du programme (NCIS Los Angeles)
✅ displayProgramTime() - Horaire (15:45 - 16:30)
✅ displayProgramDescription() - Synopsis du programme
✅ displayNextPrograms() - Afficher les prochains programmes
✅ displayProgramDuration() - Durée du programme
STREAMING SERVICES / APPS FUNCTIONS
Application Launcher
✅ launchApp(appId) - Lancer une app (Netflix, Disney+, etc.)
✅ displayAvailableApps() - Afficher liste des apps disponibles
✅ displayCurrentApp() - Afficher l'app actuelle
✅ closeApp() - Fermer l'app
✅ switchApp(appId) - Switcher vers une autre app
Streaming Services
✅ launchNetflix()
✅ launchDisneyPlus()
✅ launchAmazonPrime()
✅ launchAppleTV()
✅ launchYouTube()
✅ launchSpotify()
✅ launchAllApps() - Voir toutes les apps