[Integration] Subsonic — Verbinden Sie Gladys mit Ihrem Musikserver (Navidrome, Airsonic…)
Hallo zusammen ![]()
Ich habe gerade Subsonic veröffentlicht, eine externe Integration, die Gladys mit jedem Musikserver verbindet, der die Subsonic-API implementiert: Navidrome, Airsonic-Advanced, Gonic, LMS, Subsonic…
Mein anfänglicher Bedarf war einfach: Gladys sollte wissen, was auf meiner Navidrome-Instanz passiert, und Musik von meinen Szenen aus abspielen können. Sie wurde zunächst für Navidrome entwickelt und getestet, aber nichts daran ist spezifisch für diesen Server.
Repository: GitHub - guim31/gladys-subsonic · GitHub
Was es bietet
Gerät „Subsonic-Server“ — 6 Sensoren
| Sensor | Was er liefert |
|---|---|
| Now playing | Das aktuell abgespielte Stück im Format Künstler — Titel (Hörer) |
| Albumcover | Das Cover des gehörten Albums, aktualisiert bei jedem Stückwechsel |
| Aktive Streams | Wie viele Stücke gerade gehört werden |
| Songs / Künstler / Alben in der Bibliothek | Die Größe Ihrer Bibliothek |
Albumcover auf dem Dashboard anzeigen
Das Cover nutzt den Bildkanal von Gladys: Fügen Sie ein Widget Kamera hinzu und wählen Sie das Gerät „Subsonic-Server“. Der Name des Widgets überrascht zunächst, aber es ist das einzige von Gladys, das das Bild eines Geräts anzeigt und sich in Echtzeit aktualisiert. Das Widget Foto akzeptiert dagegen nur eine Liste von statischen, manuell eingegebenen URLs: Es kann nicht verfolgen, was gerade gespielt wird.
Gerät „Subsonic-Jukebox“ (optional)
Steuerung der Wiedergabe seitens des Servers (Jukebox-Funktion der API): Abspielen/Pause, Vorheriges/Nächstes, Lautstärke und Wiedergabestatus. Muss explizit sowohl auf Gladys- als auch auf Serverseite aktiviert werden. Das Widget Musik des Dashboards steuert diese Befehle direkt.
Buttons im Konfigurationsbildschirm
- Verbindung testen — zeigt die Serveridentität an (z. B.
navidrome 0.63.2, API 1.16.1) - Musikbibliothek scannen
- Jukebox: Zufällige Wiedergabe (N zufällige Stücke)
- Jukebox: Wiedergabeliste abspielen (nach Namen)
Einige Szenenideen
- Nicht stören: Wenn
Aktive Streams > 0, den Staubsauger nicht starten oder die Lautsprecher ausschalten. - Weckruf mit Musik: Um 7 Uhr spielt die Aktion „Wiedergabeliste abspielen“ Ihre Morgen-Wiedergabeliste auf dem Jukebox.
- Auf das Stück reagieren: Der Sensor „Now playing“ ist ein Text-Feature, und Gladys löst Szenen aus, wenn sich sein Wert ändert — Sie können also Ihre Installation auf jedes neue Stück reagieren lassen (Titel anzeigen, Lichter anpassen…).
- Dashboard: Das Albumcover in Groß (Kamera-Widget), der aktuelle Titel und die Jukebox-Befehle nebeneinander.
Installation
Voraussetzung: Gladys 4.86.0 oder höher.
Über Integrationen → Integration installieren, suchen Sie im Katalog nach „Subsonic“.
Dann im Tab Konfiguration:
- Server-URL: Die Wurzel, ohne
/rest— z. B.http://192.168.1.10:4533(Standardport von Navidrome). - Benutzername / Passwort: Ein Konto Ihres Servers (erstellen Sie ggf. ein dediziertes).
- Authentifizierungsmethode: Lassen Sie Token. Das Passwort wird nie übertragen, nur ein gesalzter MD5-Hash wird gesendet. Wechseln Sie nur auf Legacy, wenn der Server sehr alt ist (API < 1.13) oder ein LDAP-Konto das Token ablehnt.
- Klicken Sie auf Verbindung testen, dann holen Sie sich das Gerät im Tab Entdeckung.
Für den Jukebox
Er spielt die Musik auf der Maschine, die den Server hostet (die mit Ihren Lautsprechern verbunden ist). Er muss auf beiden Seiten aktiviert werden — in Navidrome:
[Jukebox]
Enabled = true
(oder ND_JUKEBOX_ENABLED=true), dann Gerät Jukebox aktivieren in der Konfiguration der Integration.
Was es nicht kann (um Missverständnisse zu vermeiden)
Es ist wichtig, die Grenzen zu kennen, die von der Subsonic-API selbst kommen:
- Der Jukebox spielt auf dem Server-Host, nicht auf der Gladys-Maschine: Es ist keine Multiroom-Lösung.
- Es ist unmöglich, einen anderen Client zu steuern (Ihr Telefon, der Web-Player): Die API erlaubt es nicht, die Wiedergabe eines Drittanbieter-Clients zu steuern.
- Keine Sprachbenachrichtigung über diese Integration: Die Aktion „Benachrichtigung abspielen“ von Gladys sendet eine TTS-Audio-URL, aber der Subsonic-Jukebox kann nur Stücke aus der Bibliothek abspielen. Das bleibt das Terrain von Sonos / Chromecast.
Technische Details
Aufgebaut auf Basis des offiziellen JavaScript-Templates und des SDKs @gladysassistant/integration-sdk. Node 24 Alpine, Multi-Arch-Image (amd64 + arm64), read-only rootfs, Unit-Tests und CI (Prettier / ESLint / Tests) bei jedem Commit. Lizenz Apache-2.0.
Besondere Sorgfalt bei den Anfragen an den Server: Die vollständige Künstlerliste wird nur gelesen, wenn sich die Bibliothek geändert hat (Scan-Signatur) oder einmal pro Stunde, anstatt bei jedem Abruf neu heruntergeladen zu werden — die Werte werden dennoch bei jedem Zyklus veröffentlicht. Das Cover folgt derselben Logik: Es wird nur heruntergeladen, wenn sich das Stück ändert, und in der größten Größe, die unter der Bildkanal-Grenze liegt.
Feedback, Fehlerberichte und Funktionsvorschläge sind hier oder in den Issues des Repositories willkommen. Wenn Sie es mit etwas anderem als Navidrome ausprobieren, interessiert es mich sehr zu wissen, ob alles gut funktioniert ![]()




