Geräteprofil · Multimedia
Lyrion / Logitech Media Server Player
Hinweis: Dieses Profil beruht auf der dokumentierten CLI- und JSON-RPC-Schnittstelle des Lyrion Music Server (vormals Logitech Media Server).
Voraussetzungen
- Ein laufender Lyrion Music Server (oder Logitech Media Server 7.9+) im lokalen Netz, Weboberfläche standardmäßig auf Port 9000.
- Mindestens ein angemeldeter Player: Squeezebox, Squeezelite, piCorePlayer, SqueezeAmp, Material-Skin-Player u. a.
- Die MAC-Adresse des Players, wie der Server sie kennt. Zu finden in der Weboberfläche unter Einstellungen → Player (dort steht sie unter dem Playernamen) oder über
curl -s -H "Content-Type: application/json" \ -d '{"id":1,"method":"slim.request","params":["",["serverstatus",0,99]]}' \ http://<Server>:9000/jsonrpc.jsJeder Eintrag in
players_loopenthältplayerid(die MAC) undname. - Ein nomos Controller mit einem Daemon, der die HTTP-Methode pro Befehl kennt (1.2.9 oder neuer) – die Schnittstelle arbeitet mit POST.
Einrichtung
- Dem Server im Router eine feste IP-Adresse geben
- Skills → Add-ons: Profil importieren
- Je Player ein Gerät anlegen und eintragen:
- IP-Adresse des Servers (nicht des Players!)
- Port – Standard
9000 - PLAYERMAC – die MAC des Players, z. B.
00:04:20:12:34:56 - Benutzername/Kennwort nur, wenn der Server einen Zugriffsschutz hat
Datenbereich
Abgefragt wird alle 10 Sekunden der Playerzustand (status) und der Stummzustand (mixer muting); das erste Intervall lässt sich ändern.
- Ein/Aus (
state): der Player selbst, unabhängig von der Wiedergabe - Wiedergabe läuft (
playing, zusätzlich alsactive), Status (status):play,pause,stop - Titel (
title), Interpret (artist), Album (album) - Lautstärke (
volume) 0–100 %, Stumm (mute) - Titellänge, Position, Shuffle, Repeat, Anzahl Titel in der Wiedergabeliste, Playername und ob der Player am Server angemeldet ist (ausgeblendet)
- Erreichbarkeit (
reachable): aus dem Erfolg der Abfragen – sie sagt, ob der Server antwortet
Schreibbar sind Ein/Aus, Play, Pause, Play/Pause, Stop, vor, zurück, Lautstärke samt ±5, Stumm ein/aus, Shuffle und Repeat (aus/einzeln/alle).
Hinweise
- Warum JSON-RPC und nicht die CLI: Der Server bietet denselben Befehlssatz auch zeilenweise auf Port 9090 an, liefert dort aber alle Werte prozentkodiert (
Mr.%20Blue%20Sky). nomos hat keinen Filter, der das zurückrechnet, und Titel wären unlesbar. Über/jsonrpc.jskommt Klartext. - Die Lautstärke wird negativ gemeldet, solange stumm geschaltet ist – eine Eigenart des Servers. Das Profil liest den Stummzustand deshalb mit einer eigenen Abfrage (
mixer muting ?) und nicht aus dem Vorzeichen. Im stummen Zustand kann die Lautstärkeanzeige deshalb auf 0 stehen, bis die Stummschaltung aufgehoben ist. - Ein/Aus und Wiedergabe sind zwei verschiedene Dinge. Ein ausgeschalteter Player bleibt am Server angemeldet;
statezeigt den Player,playingdie Wiedergabe. - Steht die Wiedergabe, liefert der Server keine Titelliste mit. Titel, Interpret und Album behalten dann ihren letzten Wert, weil es nichts zu übernehmen gibt.
- Die Position wird auf ganze Sekunden gerundet, und zwar zur geraden Zahl (
42,5wird42,37,5wird38) – eine Folge der Formatierung im Daemon. - Ein Gerät ist ein Player. Für mehrere Player mehrere Geräte anlegen, alle mit derselben Server-IP und je eigener MAC. Gruppen und Synchronisation sind nicht enthalten.
- Nicht im Profil enthalten: Bibliothek durchsuchen und abspielen, Wiedergabelisten verwalten, Favoriten, Synchronisationsgruppen, Alarme, Server-Einstellungen und das Benachrichtigungs-Abonnement (
subscribe) – nomos fragt stattdessen ab.