Hi @pierre-gilles,
I’ve looked around a bit, and it’s mainly at HA that we have leads…
So, I see three possible approaches:
- A single widget that automatically adapts to the device’s features (channels, apps, remote, volume, etc.).
- Several specialized widgets depending on the type of player (audio, video, casting…).
This is HA’s choice if I understand correctly
- An adaptive version, lightweight on mobile and more complete on desktop.
Personally, I like the first one…
Quick question, I don’t have a Sonos at home but did I understand correctly:
- The existing music widget is only for Sonos?
- Gladys already sees existing Sonos groups, but doesn’t allow creating or modifying them???
Base: 4 Matter clusters (OnOff, MediaPlayback, LevelControl, KeypadInput)
List of features for a « universal » media widget identified so far:
CORE FUNCTIONS (All Devices)
Playback Control
✅ play() - Start playback
✅ pause() - Pause
✅ stop() - Stop
✅ next() - Next song/program
✅ previous() - Previous song/program
Timeline / Progress
✅ seek(position) - Jump to a position
✅ displayTimeline() - Display progress bar
✅ displayTimeElapsed() - Display elapsed time (15:45)
✅ displayTimeRemaining() - Display remaining time (-14:15)
Volume Control
✅ setVolume(0-100) - Set volume
✅ increaseVolume() - Increase volume
✅ decreaseVolume() - Decrease volume
✅ mute() - Mute
✅ unmute() - Unmute
✅ displayVolumeLevel() - Display volume %
Power Management
✅ powerOn() - Turn on the device
✅ powerOff() - Turn off the device
✅ togglePower() - Toggle on/off
✅ displayPowerStatus() - Display power status
Device Info
✅ displayDeviceName() - Display device name
✅ displayStatus() - Display status (Playing, Paused, Stopped)
✅ displayCurrentSource() - Display current source
AUDIO PLAYER FUNCTIONS (Yoto, Sonos, etc.)
Metadata Display
✅ displayArtwork() - Display album cover
✅ displayArtist() - Display artist name
✅ displayTitle() - Display song title
✅ displayAlbum() - Display album name
✅ displayDuration() - Display total duration
Optional Audio Features
✅ shuffle() - Shuffle mode
✅ repeat() - Repeat mode
✅ like() - Like the song (♥)
✅ dislike() - Dislike
✅ showQueue() - Display playback queue
VIDEO PLAYER FUNCTIONS (Freebox Player, TV, etc.)
Video Display
✅ displayVideoOutput() - Display video
✅ displayThumbnail() - Display thumbnail
✅ displayChannelLogo() - Display channel logo
✅ displayProgramTitle() - Display program title
Video-Specific Controls
✅ fastForward() - Fast forward
✅ rewind() - Rewind
✅ frameByFrame() - Frame-by-frame advance
✅ subtitles() - Enable/disable subtitles
✅ audioTracks() - Change audio track
TV CHANNELS FUNCTIONS
Channel Selection
✅ setChannel(channelId) - Change channel (TMC, TF1, etc.)
✅ displayCurrentChannel() - Display current channel
✅ displayChannelNumber() - Display number (34)
✅ displayChannelName() - Display name (TMC)
✅ displayChannelLogo() - Display logo
✅ nextChannel() - Next channel (+)
✅ previousChannel() - Previous channel (-)
Channel Quick Access
✅ renderQuickAccessButtons() - [TF1] [france2] [TMC] [france3]
✅ setFavoriteChannel(channelId) - Mark as favorite
✅ removeFavoriteChannel(channelId) - Remove from favorites
✅ showAllChannels() - Modal with all channels (62+)
✅ searchChannel(name) - Search for a channel
EPG (Electronic Program Guide)
✅ displayCurrentProgram() - Display current program
✅ displayProgramTitle() - Program title (NCIS Los Angeles)
✅ displayProgramTime() - Time (15:45 - 16:30)
✅ displayProgramDescription() - Program synopsis
✅ displayNextPrograms() - Display upcoming programs
✅ displayProgramDuration() - Program duration
STREAMING SERVICES / APPS FUNCTIONS
Application Launcher
✅ launchApp(appId) - Launch an app (Netflix, Disney+, etc.)
✅ displayAvailableApps() - Display list of available apps
✅ displayCurrentApp() - Display current app
✅ closeApp() - Close the app
✅ switchApp(appId) - Switch to another app
Streaming Services
✅ launchNetflix()
✅ launchDisneyPlus()
✅ launchAmazonPrime()
✅ launchAppleTV()
✅ launchYouTube()
✅ launchSpotify()
✅ launchAllApps() - View all apps