Zum Hauptinhalt springen

Volumio Smart-Home-Integration, kostenlos und Open Source

Volumio-Integration für Gladys Assistant

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​

  1. Installiere die Integration über Integrationen → Von GitHub installieren.
  2. Öffne den Tab Entdecken: Die gefundenen Player erscheinen dort. Füge die gewünschten mit Zu Gladys hinzufügen hinzu.
  3. 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:

EinstellungWirkung
Adressen der PlayerOptionale IP-Adressen oder Hostnamen, durch Kommas getrennt. Ohne Angabe wird Port 3000 verwendet.
Echtzeit-AktualisierungStandardmäß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 FunktionsnamenNamen 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:

FunktionTypWirkung
LautstärkeMusik: Lautstärke, 0 bis 100Liest und setzt die Lautstärke des Players.
WiedergabeMusik: WiedergabeSpielt die Warteschlange ab.
PauseMusik: PausePausiert. Ein Webradio wird stattdessen gestoppt (ein Stream lässt sich nicht pausieren).
Vorheriger TitelMusik: Vorheriger TitelVorheriger Titel der Warteschlange.
Nächster TitelMusik: Nächster TitelNächster Titel der Warteschlange.
WiedergabestatusMusik: Wiedergabestatus1 Wiedergabe, 0 Pause, 2 gestoppt. Ein Schreiben spielt ab, pausiert oder stoppt.
Benachrichtigung sendenBenachrichtigung sendenSpielt einen Ton oder eine gesprochene Nachricht ab und setzt danach fort, was lief.
TitelMusik: TitelTitel des Stücks (oder was ein Webradio ansagt).
KünstlerMusik: KünstlerKünstler des Stücks.
AlbumMusik: AlbumAlbum des Stücks.
CoverMusik: CoverDas Cover, angezeigt von der Box Musik.
DauerMusik: Dauer (s)Länge des Stücks, 0 bei einem Webradio.
PositionMusik: Position (s)Wo das Stück gerade ist; ein Schreiben springt dorthin.
ZufallswiedergabeMusik: ZufallswiedergabeZufällige Wiedergabe der Warteschlange, an oder aus.
WiederholungMusik: Wiederholung0 aus, 1 die ganze Warteschlange, 2 das aktuelle Stück.
StummschaltungMusik: StummschaltungSchaltet 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​

AktionWirkung
Volumio-Playlist abspielenSpielt eine in Volumio gespeicherte Playlist anhand ihres Namens ab (Groß-/Kleinschreibung und Akzente egal).
Lieblings-Webradio abspielenSpielt ein Radio aus den Volumio-Favoriten (Lieblingsradios oder Meine Webradios) anhand seines Namens ab.
Adresse abspielenSpielt 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 einstellenSchaltet Zufallswiedergabe und Wiederholen der Warteschlange ein oder aus oder lässt sie unverändert.
Warteschlange leerenLeert 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/getState in 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=debug fü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.

EinstellungTypPflichtfeldBeschreibung
Deine Player findensectionNeinVolumio-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 PlayerstringNeinOptional, durch Kommas getrennt. Ohne Angabe wird Port 3000 verwendet.
Echtzeit-AktualisierungbooleanNeinAuf 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 (%)numberNeinLautstä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)numberNeinEine längere Benachrichtigung wird gestoppt und die Musik geht weiter (ein Stream endet nie von selbst).
Sprache der FunktionsnamenselectNeinNamen der Funktionen neuer Geräte und Sprache der Meldungen der Szenenaktionen.

So installierst du Volumio in Gladys​

  1. Öffne in Gladys Integrationen: Volumio erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. 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).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. 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.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂