Volumio Smart-Home-Integration, kostenlos und Open Source

Volumio-Netzwerkplayer: Wiedergabe, Lautstärke, Benachrichtigungen, Playlists, Webradios.
Überblick
Diese Integration bringt deine Volumio-Netzwerkplayer in Gladys: einen Raspberry Pi mit Volumio an einem Verstärker oder DAC, einen Volumio Primo, Rivo oder Motivo. Jeder Player wird ein Musikgerät in Gladys: Wiedergabe, Pause, vorheriger und nächster Titel, Lautstärke, Wiedergabestatus und „Benachrichtigung senden“ für die Sprachausgabe und die Töne deiner Szenen. Mit Gladys 5.3 wird die Box Musik des Dashboards ein echter Player: Cover, Titel, Fortschrittsbalken, Zufallswiedergabe, Wiederholung, Stummschaltung, die Warteschlange sowie Suche und Durchsuchen der ganzen Volumio-Bibliothek. Ein Widget im Dashboard zeigt, was gerade läuft, und Szenenaktionen spielen eine Volumio-Playlist, ein Lieblings-Webradio oder eine beliebige Stream-Adresse ab.
Alles bleibt in deinem lokalen Netzwerk: Die Integration spricht mit der REST-API von Volumio und hört auf die Echtzeit-Aktualisierungen, die Volumio an seine eigene Weboberfläche schickt. Kein Konto, keine Cloud.
Ohne die Hardware entwickelt: Rückmeldungen willkommen. Diese Integration wurde anhand der Dokumentation und des Quellcodes von Volumio geschrieben, ohne echten Player zur Hand. Erzähl uns in den Issues, wie sie bei dir funktioniert.
Diese Integration steht in keiner Verbindung zu Volumio.
Voraussetzungen
- Gladys Assistant 5.3.0 oder neuer.
- Ein Volumio-Player (Volumio 2 oder 3) im selben lokalen Netzwerk wie Gladys, erreichbar über seinen Port 3000 (der Standard).
Konfiguration
- Installiere die Integration über Integrationen → Von GitHub installieren.
- Öffne den Tab Entdecken: Die gefundenen Player erscheinen dort. Füge die gewünschten mit Zu Gladys hinzufügen hinzu.
- Erscheint kein Player, öffne den Tab Konfiguration und gib die IP-Adresse eines Players unter Adressen der Player ein (in Volumio unter Einstellungen, Netzwerk). Die anderen Player werden dann über ihn gefunden: Volumio-Player kennen sich untereinander.
Einstellungen:
| Einstellung | Wirkung |
|---|---|
| Adressen der Player | Optionale IP-Adressen oder Hostnamen, durch Kommas getrennt. Ohne Angabe wird Port 3000 verwendet. |
| Echtzeit-Aktualisierung | Standardmäßig an: Die Integration hört auf die Änderungen, die Volumio meldet. Aus: Die Player werden abgefragt. |
| Lautstärke der Benachrichtigungen (%) | Lautstärke der von Gladys abgespielten Benachrichtigungen. 0 behält die aktuelle Lautstärke. |
| Maximale Dauer der Benachrichtigungen (s) | Eine längere Benachrichtigung wird gestoppt und die Musik geht weiter (standardmäßig 60 s). |
| Sprache der Funktionsnamen | Namen der Funktionen neuer Geräte und Sprache der Meldungen der Szenenaktionen (standardmäßig Französisch). |
Zwei Schaltflächen helfen: Player suchen sucht erneut und listet jeden Player mit seinem Zustand, und Playlists und Lieblings-Webradios anzeigen zeigt die genauen Namen, die du in den Szenenaktionen eingibst.
Geräte
Jeder Volumio-Player ist ein Gerät, benannt wie in Volumio, mit diesen Funktionen:
| Funktion | Typ | Wirkung |
|---|---|---|
| Lautstärke | Musik: Lautstärke, 0 bis 100 | Liest und setzt die Lautstärke des Players. |
| Wiedergabe | Musik: Wiedergabe | Spielt die Warteschlange ab. |
| Pause | Musik: Pause | Pausiert. Ein Webradio wird stattdessen gestoppt (ein Stream lässt sich nicht pausieren). |
| Vorheriger Titel | Musik: Vorheriger Titel | Vorheriger Titel der Warteschlange. |
| Nächster Titel | Musik: Nächster Titel | Nächster Titel der Warteschlange. |
| Wiedergabestatus | Musik: Wiedergabestatus | 1 Wiedergabe, 0 Pause, 2 gestoppt. Ein Schreiben spielt ab, pausiert oder stoppt. |
| Benachrichtigung senden | Benachrichtigung senden | Spielt einen Ton oder eine gesprochene Nachricht ab und setzt danach fort, was lief. |
| Titel | Musik: Titel | Titel des Stücks (oder was ein Webradio ansagt). |
| Künstler | Musik: Künstler | Künstler des Stücks. |
| Album | Musik: Album | Album des Stücks. |
| Cover | Musik: Cover | Das Cover, angezeigt von der Box Musik. |
| Dauer | Musik: Dauer (s) | Länge des Stücks, 0 bei einem Webradio. |
| Position | Musik: Position (s) | Wo das Stück gerade ist; ein Schreiben springt dorthin. |
| Zufallswiedergabe | Musik: Zufallswiedergabe | Zufällige Wiedergabe der Warteschlange, an oder aus. |
| Wiederholung | Musik: Wiederholung | 0 aus, 1 die ganze Warteschlange, 2 das aktuelle Stück. |
| Stummschaltung | Musik: Stummschaltung | Schaltet den Player stumm und behält seine Lautstärke. |
Mit diesen Funktionen arbeitet der Player mit der Box Musik des Gladys-Dashboards und mit der Szenenaktion von Gladys, die einen Text auf einem Lautsprecher spricht. Eine Benachrichtigung merkt sich die Warteschlange, den Titel, die Position, die Lautstärke und das Wiederholen, spielt den Ton mit der Lautstärke der Benachrichtigungen und stellt danach alles wieder her.
Die Funktionen werden beim Hinzufügen des Geräts in der Sprache benannt, die in der Konfiguration gewählt ist.
Musik-Player von Gladys 5.3
Seit Gladys 5.3 ist die Box Musik des Dashboards ein echter Player, und Volumio füllt sie ganz aus:
- Cover, Titel, Künstler und Album, ein Fortschrittsbalken, den du zum Springen ziehen kannst, Wiedergabe und Pause, zurück, weiter, Zufallswiedergabe, Wiederholung (aus, die Warteschlange, ein Stück), Stummschaltung und die Lautstärke;
- die Warteschlange (Listen-Schaltfläche): die Stücke der Volumio-Warteschlange, das aktuelle hervorgehoben; ein Tippen spielt ein anderes;
- Suchen und Durchsuchen (Lupen-Schaltfläche): Die Suche fragt Volumio, das überall sucht, wo es kann (Bibliothek, Webradios, installierte Streaming-Plugins); das Durchsuchen beginnt mit den Quellen von Volumio (Music Library, Artists, Albums, Genres, Playlists, Web Radio, Favorites, Media Servers, deine Plugins, in der Sprache von Volumio). Ein Tippen spielt das Element anstelle der Warteschlange; die zweite Geste fügt es nach dem aktuellen Stück oder am Ende der Warteschlange ein. Ein Album, ein Künstler oder eine Playlist wird ganz gespielt; ein Ordner wird geöffnet, nicht gespielt.
Die Szenenaktion Musik auf einem Lautsprecher abspielen von Gladys wählt eine Playlist, ein Album, einen Künstler, ein Webradio oder ein Stück im selben Bereich und spielt es, wenn die Szene läuft.
Ein vor Version 1.1.0 hinzugefügtes Gerät funktioniert weiter wie bisher, ohne die neuen Funktionen: Öffne den Tab Entdecken der Integration und klicke beim Player auf Aktualisieren (Gladys bietet es an, weil sich die Funktionen geändert haben). Die neuen Funktionen kommen hinzu; die bisherigen behalten ihre Szenen und Dashboards. Wiedergabestatus ändert sich: Er ist 2 statt 0, wenn Volumio gestoppt ist, und wird nicht mehr im Verlauf gespeichert (Gladys speichert keinen Verlauf von Musikfunktionen).
Die Cover kommen von Volumio (/albumart): die Cover-Datei im Albumordner, ein von Volumio im Internet
gefundenes Cover oder das Logo eines Webradios. Volumio sendet ein lokales Cover so, wie es auf der Festplatte
liegt (bis 5 MB), und Gladys zeigt ein Cover von höchstens 300 KB: Die Integration verkleinert ein größeres
(ein JPEG von höchstens 400 Pixeln). Ein Stück ohne Cover zeigt das Volumio-Logo, wie in Volumio.
Zwei Befehle gibt es nicht in der REST-API von Volumio; sie laufen über seinen Echtzeit-Kanal (socket.io), der für den Befehl geöffnet wird, wenn Echtzeit-Updates aus ist: ein Stück wiederholen und als Nächstes spielen (die Elemente werden am Ende der Warteschlange hinzugefügt und dann hinter das aktuelle Stück verschoben).
Dashboard-Widget
Das Widget Volumio läuft gerade zeigt Titel, Interpret und Album, das Cover, wenn Volumio eines liefert, das Gladys annimmt, den Player, seinen Zustand, die Quelle (Musikbibliothek, Webradio, Spotify, AirPlay…), die Lautstärke, Zufallswiedergabe und Wiederholen. Wähle den Player in den Einstellungen des Widgets oder lass das Feld leer für den ersten hinzugefügten Player.
Seine Schaltflächen:
- Wiedergabe / Pause;
- Weiter;
- Lautstärke: ein kleines Formular, um die Lautstärke einzugeben und den Player stumm oder wieder laut zu schalten;
- Playlist: die Liste der Volumio-Playlists, um eine zu starten. Ohne Playlist, oder wenn Volumio die Lautstärke nicht regelt, nimmt eine Schaltfläche Zurück den freien Platz ein.
Szenenauslöser
Ein neuer Titel läuft: Ein Player hat einen Titel mit anderem Namen oder Interpreten begonnen, auch ein neues Lied auf einem Webradio, das es meldet. Du kannst den Player wählen. Variablen: Titel, Interpret, Album und Quelle, um „Läuft gerade“ an dein Handy zu schicken oder auf einem Bildschirm zu zeigen. Die von Gladys abgespielten Benachrichtigungen lösen ihn nie aus.
Szenenaktionen
| Aktion | Wirkung |
|---|---|
| Volumio-Playlist abspielen | Spielt eine in Volumio gespeicherte Playlist anhand ihres Namens ab (Groß-/Kleinschreibung und Akzente egal). |
| Lieblings-Webradio abspielen | Spielt ein Radio aus den Volumio-Favoriten (Lieblingsradios oder Meine Webradios) anhand seines Namens ab. |
| Adresse abspielen | Spielt einen Stream oder eine Tondatei über ihre http(s)-Adresse ab, mit gewählter Lautstärke, optional danach weiter mit der Musik. |
| Zufall und Wiederholen einstellen | Schaltet Zufallswiedergabe und Wiederholen der Warteschlange ein oder aus oder lässt sie unverändert. |
| Warteschlange leeren | Leert die Warteschlange des Players (die Musik stoppt). |
Ein Webradio, das du mit der Integration Radio Browser von Gladys gefunden hast, spielst du mit Adresse abspielen ab.
Szenenbeispiele
- Wecker: an jedem Wochentag um 7:00 Volumio-Playlist abspielen „Morgen“ im Schlafzimmer, dann die Lautstärke mit der Funktion Lautstärke schrittweise erhöhen.
- Türklingel: wenn es klingelt, Adresse abspielen mit einem Glockenton, bei 70 %, mit „Danach fortsetzen, was lief“ angehakt; oder Gladys „Es klingelt an der Tür“ auf dem Player sagen lassen.
- Verlassen des Hauses: wenn die letzte Person geht, die Funktion Pause des Players steuern oder Warteschlange leeren.
- Läuft gerade auf dem Fernseher: bei Ein neuer Titel läuft eine Nachricht mit Titel und Interpret senden.
Echtzeit und Abfrage
Volumio hat weder Konto noch Kontingent: Alles läuft über das lokale Netzwerk. Die Integration hört auf den socket.io-Kanal von Volumio (den seiner Weboberfläche) und liest den Player zur Sicherheit alle 5 Minuten. Ist dieser Kanal nicht verfügbar, liest sie den Player während der Wiedergabe alle 10 Sekunden und sonst jede Minute. Ein Player, der nicht antwortet, wird nach 15 Sekunden erneut versucht, dann jede Minute. Nur die zu Gladys hinzugefügten Player werden gelesen. Nur Änderungen gehen an Gladys: Die Position des Stücks wird gesendet, wenn es beginnt, pausiert oder springt, und die Box Musik bewegt den Fortschrittsbalken selbst.
Fehlerbehebung
- Kein Player im Tab „Entdecken“: Gib die IP-Adresse eines Players in der Konfiguration ein und drücke dann Player suchen. Die automatische Erkennung (mDNS) von Gladys 5.2 findet Volumio eventuell nicht, da es sich mit Großbuchstaben meldet, die der Kern nicht erkennt.
- „Salon: antwortet nicht“: Der Player ist aus oder seine Adresse hat sich geändert. Prüfe, ob sich
http://<Adresse>:3000/api/v1/getStatein einem Browser im selben Netzwerk öffnet. - Eine Szenenaktion meldet, dass die Playlist nicht gefunden wurde: Drücke Playlists und Lieblings-Webradios anzeigen und kopiere den angezeigten Namen.
- Das Widget oder die Box Musik zeigt kein Cover: Das Cover ist kein PNG-, JPEG- oder WebP-Bild (ein SVG-Symbol von Volumio) oder größer als 10 MB.
- „Am Ende der Warteschlange hinzugefügt“ nach als Nächstes spielen: Der Player hat die Elemente nicht hinter das aktuelle Stück verschoben (Echtzeit-Kanal zwischendurch verloren); sie bleiben am Ende.
- Die Box Musik hat bei einem älteren Gerät keine neuen Bedienelemente: Klicke im Tab Entdecken beim Player auf Aktualisieren (siehe „Musik-Player von Gladys 5.3“).
- Setze
LOG_LEVEL=debugfür die Integration, um jedes Lesen in ihren Protokollen zu sehen.
Einschränkungen
- Ohne die Hardware entwickelt: Der Echtzeit-Kanal (socket.io), die Benachrichtigungen und das Fortsetzen wurden gegen einen simulierten Player getestet; der Musik-Player von Gladys 5.3 (Durchsuchen, Suche, Warteschlange, als Nächstes spielen, ein Stück wiederholen, Cover) gegen ein echtes Volumio 2 in Docker (x86-Image, ohne Soundkarte), weder gegen Volumio 3 noch auf einem echten Gerät.
- Als Nächstes spielen bei Zufallswiedergabe: Volumio wählt das nächste Stück zufällig, die hinzugefügten Elemente kommen nicht unbedingt als Nächstes.
- Ein Element abzuspielen, das es nicht mehr gibt (eine monatelang gespeicherte Szene, eine gelöschte Datei), leert die Warteschlange: Volumio leert sie, bevor es das merkt. Gladys meldet es.
- Ein Sprung direkt am Anfang eines Stücks kann von Volumio 2 ignoriert werden (auf einem Testaufbau gesehen).
- Gladys 5.2 gibt die Lautstärke seiner Szenenaktion „Benachrichtigung abspielen“ nicht an externe Integrationen weiter: Es gilt die Lautstärke der Benachrichtigungen aus der Konfiguration.
- Nach einer Benachrichtigung kommt eine pausierte Warteschlange zurück, ohne zu spielen, ab ihrem ersten Titel.
- Der Ton der Benachrichtigung wird von Volumio selbst abgespielt: Es muss die Adresse erreichen können (Gladys Plus für die Sprachausgabe).
- Die Warteschlange eines Streamingdienstes (Spotify Connect, AirPlay) kann nach einer Benachrichtigung nicht fortgesetzt werden.
Konfigurationseinstellungen
Diese Einstellungen fragt Volumio in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Deine Player finden | section | Nein | Volumio-Player werden automatisch gesucht: Öffne den Tab „Entdecken“. Erscheint keiner, gib unten die IP-Adresse eines Players ein (in Volumio unter Einstellungen, Netzwerk): Die anderen werden über ihn gefunden. |
| Adressen der Player | string | Nein | Optional, durch Kommas getrennt. Ohne Angabe wird Port 3000 verwendet. |
| Echtzeit-Aktualisierung | boolean | Nein | Auf die Änderungen hören, die Volumio meldet, wie seine Weboberfläche. Aus: Die Player werden während der Wiedergabe alle 10 s gelesen, sonst jede Minute. |
| Lautstärke der Benachrichtigungen (%) | number | Nein | Lautstärke der von Gladys abgespielten Benachrichtigungen (Sprachausgabe, Töne), danach kehrt die Lautstärke zurück. 0: aktuelle Lautstärke behalten. |
| Maximale Dauer der Benachrichtigungen (s) | number | Nein | Eine längere Benachrichtigung wird gestoppt und die Musik geht weiter (ein Stream endet nie von selbst). |
| Sprache der Funktionsnamen | select | Nein | Namen der Funktionen neuer Geräte und Sprache der Meldungen der Szenenaktionen. |
So installierst du Volumio in Gladys
- Öffne in Gladys Integrationen: Volumio erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-volumio:1.1.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-volumio.
Volumio benötigt Gladys >=5.3.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Volumio ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation