Lyrion Music Server smart home integration, free and open source

Control Squeezebox and squeezelite players of Lyrion (LMS): music, volume, favorites, announcements.
Control the players of your Lyrion Music Server (formerly Logitech Media Server, LMS) from Gladys: Squeezebox Touch, Radio, Boom, Duet, piCorePlayer, squeezelite and every compatible player. Gladys follows what each player plays, controls it, plays your Lyrion favorites, pauses the whole house and plays announcements that give the music back where it was.
Tested with Lyrion Music Server 9.1 and squeezelite players, not with a physical Squeezebox: feedback welcome. This integration is not affiliated with the Lyrion project nor with Logitech.
Requirements
- Gladys Assistant 5.3 or later (version 1.0 of the integration works with Gladys 5.1).
- A Lyrion Music Server reachable from Gladys on the local network: web port 9000 and, for instant updates, CLI port 9090 (both open by default). Logitech Media Server 8 has the same API and should work too.
- Nothing to install on the players.
Configuration
- In Integrations, open Lyrion Music Server and type the server address (IP address or
host name, e.g.
192.168.1.20). Change the web port if yours is not 9000. - If password protection is on in Lyrion (Settings → Advanced → Security), type the user name and the password.
- CLI port: Lyrion announces every change on it (9090 by default), so Gladys sees a new song or
a volume change at once.
0turns it off: Gladys then reads the players every 5 seconds. - Language of the feature names: French by default. It is also used for the error messages of the scene actions.
- Open the Discovery tab: every player of the server is there. Click Add to Gladys.
Devices
One device per player, identified by its Lyrion player id (the MAC address of a Squeezebox or of squeezelite): renaming a player or changing its IP address keeps the same device.
| Feature | What it does |
|---|---|
| Power | Turns the player on or off (Lyrion's power button). |
| Playback state | 1 playing, 0 paused, 2 stopped or off. Writing 1, 0 or 2 plays, pauses or stops. |
| Play, Pause | Play or resume, pause. |
| Stop | Stops the playback. |
| Previous, Next | Previous or next song of the queue. |
| Volume | 0 to 100. |
| Mute | Mutes (1) or unmutes (0); the volume is kept. |
| Title, Artist, Album | What plays now; for a radio, the song it announces (the station as album), else the station as title. Empty when the queue is empty. |
| Artwork | The cover of the song, resized by Lyrion itself. |
| Duration, Position | In seconds; writing the position seeks in the song. A radio has a duration of 0. |
| Shuffle, Repeat | Shuffle; repeat: off, the whole queue or the song. |
| Announcement | Target of Gladys' Talk on a speaker scene action: speaks, then the music resumes. |
All of them but Power and Stop belong to the Music category of Gladys: the Music box of the dashboard shows and drives them (next section). The Lyrion players widget also shows every player at once, and the groups.
Gladys 5.3 Music player
Since Gladys 5.3, the Music box of the dashboard is a real player, and each Lyrion player fills it entirely:
- the cover, the title, the artist and the album, a progress bar you drag to seek, play and pause, previous, next, shuffle, repeat, the volume and mute;
- the queue (list button): the queue of the player in play order, the current song highlighted; a tap plays another one;
- search and browsing (magnifier button): search covers the Lyrion library (artists, albums, songs, playlists) and the names of your favorites (your radios are there); browsing starts with Favorites, Playlists, Artists and Albums. A tap plays the item in place of the queue; the secondary gesture adds it after the current song or at the end of the queue. A folder opens, it does not play. A player that is off is turned on.
Gladys' Play music on a speaker scene action picks an album, an artist, a playlist, a song or a favorite in the same panel, and plays it when the scene runs. It keeps the item by its address in Lyrion (the album title and its artist, the file of a song): it keeps working after a full rescan of the library.
A device added before version 1.1.0 keeps its features, without the new ones: open the Discover tab of the integration and click Update on the player (Gladys offers it because the features changed). The new features are added; the existing ones keep their scenes and dashboards. Three change: Title and Artist become music texts (empty when nothing is loaded, instead of a dash), Mute takes a value (1 mutes, 0 unmutes) instead of toggling on each press, and Playback state reads 2 instead of 0 when the player is stopped or off. The empty texts and the state 2 apply from version 1.1.0 on; mute toggles on each press until the update.
Dashboard widget
Lyrion players has one optional setting, a player:
- Empty: every player of the server in a list, with what it plays and its state, and a Pause all button while something plays.
- A player: the cover (when Lyrion has one), the song, the artist and the album, the state, the volume, the group it plays with, and four buttons: play/pause, next, volume − and volume +. A player that is off offers Turn on.
Scene triggers
| Trigger | When | Filters | Variables |
|---|---|---|---|
| Playback started | A player starts or resumes playing. | Player | Player name, title, artist, album |
| Playback stopped | A player stops playing. | Player, reason (paused, stopped, turned off) | Same, plus the reason (key) |
| Song changed | A player starts a new song, or a radio announces a new title. | Player | Player name, title, artist, album |
Triggers reflect what the players really do, whoever asked: a scene that starts the music on "Playback stopped" would loop. Nothing fires for what was already playing when the integration starts, nor during an announcement.
Scene actions
| Action | Fields | Result |
|---|---|---|
| Play a Lyrion favorite | Player, favorite (name or position: FIP, 1) | Turns the player on and plays it. |
| Set the volume | Player (empty: every player), volume | |
| Pause every player | — | Output: the number of players paused. |
| Play an announcement | Player, audio address (http/https), optional volume | Plays it, then gives the music back. |
| Join a group of players | Player, player to join | Both play in sync (Lyrion sync). |
| Leave the group | Player | The player plays on its own again. |
A favorite is found by its name (case and accents ignored), else by its position among the playable favorites of the top level of Lyrion (folders do not count). An announcement is inserted after the current song, played, then removed: the player gets back its song, position, volume, state, repeat mode and power.
Scene examples
- Morning radio: at 7:30 on weekdays, Play a Lyrion favorite
FIPon the kitchen player, then Set the volume to 25. - Doorbell: when the doorbell rings, Play an announcement with the address of a chime MP3 on the hall player (one action per player), at volume 60.
- Sunday album: on Sundays at 10:00, Play music on a speaker with an album picked in the Lyrion library, on the living room player.
- Leaving home: when the last person leaves, Pause every player.
- Party: Join a group for the living room and the kitchen, and Leave the group at midnight.
Troubleshooting
- "The Lyrion server does not answer": check the address and the web port (open
http://<address>:9000in a browser from the same network). - "Lyrion refused the user name or the password": same credentials as the Lyrion web interface.
- Changes take 5 seconds: the CLI port is closed or off; Gladys reads the players every 5 seconds instead. Check port 9090, or the "CLI" plugin of Lyrion.
- A player is missing: it must be connected to this server (it shows in the Lyrion web interface), then run a scan in the Discovery tab.
- The Music box has no cover nor progress bar: the player was added before version 1.1.0; click Update in the Discover tab.
- "Lyrion cannot play this item": the item no longer exists in Lyrion (album renamed, file moved); pick it again in the scene.
- Logs: in the integration page;
LOG_LEVEL=debugshows every read.
Limits
- One Lyrion server per integration; no automatic discovery (Lyrion only answers broadcast queries, which the sandbox does not carry): type its address.
- In the "devices in a room" box, Gladys 5.3 shows the playback state, the volume, mute, shuffle, repeat and the texts; the one-shot buttons (play, pause, next…) have no row there: use the Music box or the Lyrion players widget.
- An announcement on a group plays on the whole group; with shuffle on, the position given back may differ. A stream that never ends is cut after 10 minutes.
- The Play a Lyrion favorite action only sees the top level of the favorites; the panel of the Music box opens their folders. Lyrion apps (online radios, streaming services) cannot be browsed from Gladys: add their items to the favorites.
- The local network only: the integration talks to the server, never to a cloud service.
Configuration settings
These are the settings Lyrion Music Server asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Connect your Lyrion server | section | No | Type the address of the computer that runs Lyrion Music Server (formerly Logitech Media Server). Every player it knows (Squeezebox, piCorePlayer, squeezelite...) then shows up in the Discovery tab. |
| Server address | string | Yes | IP address or host name of the Lyrion server. |
| Web port | number | No | Port of the Lyrion web interface (9000 by default). |
| User name | string | No | Only if password protection is on in Lyrion (Settings, Advanced, Security). |
| Password | secret | No | |
| CLI port | number | No | Lyrion announces every change on this port (9090 by default): instant updates. 0 turns it off: the players are then read every 5 seconds. |
| Language of the feature names | select | No | Also used for the error messages of the scene actions. |
How to install Lyrion Music Server in Gladys
- In Gladys, open Integrations: Lyrion Music Server appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-lyrion:1.1.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-lyrion.
Lyrion Music Server requires Gladys >=5.3.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Lyrion Music Server is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation