Zum Ende der Metadaten springen
Zum Anfang der Metadaten
AutorChristian Fenzl
Logo

Status

RELEASE

Version0.5.5
Kompatibilität

LB 0.2.3LB 1.0.1

Downloadhttps://github.com/christianTF/LoxBerry-Plugin-squeezelite/archive/0.5.5.zip
Zweck

Das Squeezelite Plugin ermöglicht das Betreiben einer oder mehrerer Squeezelite-Instanzen als Player für den Logitech Media Server, sowie die Datenübermittlung des aktuellen Zonenzustandes aller Zonen an den Miniserver.

 Version History...

Die größten Neuerungen und Änderungen

KNOWN ISSUES

  • Das LMS-Gateway sendet bei synchronisierten Zonen manchmal falsche Informationen an den Miniserver.

0.5.5 RELEASE

  • Introducing Spanish plugin language - thank you madito for your language support!

0.5.4 PRE-RELEASE

  • Added x64 support for VMs and alternative x64 Squeezelite binary
  • Fixes that outputs were not listed in x86/x64 VMs in WebIf

0.5.3 PRE-RELEASE

  • Fixes the issue that Squeezelite Plugin does not install on LoxBerry 1.x non-Raspberry hardware (VM platforms)

0.5.2 STABLE

  • Introduced Czech translation, thanks to zmata!
  • Minor fixes regarding to the multi-language capability

0.5.1 STABLE

  • Vollständige multilinguale Unterstützung (der "Eingänge und Ausgänge" Assistent war bisher nur in deutsch)
  • Dies ist das erste veröffentlichte Plugin, dass die Übersetzungsfunktion Translate von LoxBerry 1.0 nutzen kann.
  • Technisch weiterhin LB0.2.x kompatibel

0.4.3 STABLE

  • Error Handling bei "Eingänge und Ausgänge", wenn es Fehler in der Konfiguration gibt und/oder der LMS nicht erreichbar ist
  • Der Daemon-Start wird um 20 Sekunden verzögert, weil manchmal das Netzwerk noch nicht verfügbar war (für LoxBerry 0.2.x)

0.4.2 STABLE

  • Squeezelite Binary aktualisiert
  • Fixed: Beim Update des Plugins ging die Konfiguration verloren
  • Dies ist die letzte Version die getestet ist mit LoxBerry 0.2.x FRODO. Neue Versionen des Plugins werden nicht mehr explizit mit LoxBerry 0.2.x getestet.

0.4.1 STABLE

  • Korrektur in der Neustartroutine und im Watchdog. Neustart über die Weboberfläche hat manchmal/öfters/immer? nicht funktioniert.
  • Bei Erstinstallation waren die (frei definierbaren) Labels von PLAY und PAUSE vertauscht
  • Verbesserung des Healthchecks (LMS↔Plugin)
  • WiringPi-Installation auf x86/x64 (VM) führte dazu, dass keine sonstigen Voraussetzungen installiert wurden (jetzt liefert nur WiringPi einen Fehler, das andere funktioniert)

0.4.0 STABLE

  • Das LMS Gateway liefert in Echtzeit die Statusdaten aller Zonen (auch jene, die nicht am LoxBerry betrieben werden) an den Miniserver. Unterstützt werden numerische und textuelle Statusänderungen und Titel.
  • Der Assistent für "Eingänge und Ausgänge" erstellt für genau deine LMS-Instruktur fertige Virtuelle Ausgangs-Templates, sowie für das LMS Gateway das Template für die UDP-Eingänge.
  • Alternative Squeezelite-Binaries für ARM- und x86-Architekturen können im Webinterface aktiviert werden (LB-Neustart erforderlich). Das könnte das Problem von nach mehreren Stunden nicht mehr funktionierenden Squeezelite-Instanzen verbessern.
  • Jede konfigurierte Squeezelite-Zone kann, konfigurierbar direkt im Webinterface, jeweils einen GPIO des Rasperries schalten. Damit kann über ein Relais ein Verstärker ein- und ausgeschaltet werden.
  • Anpassungen am User Interface
  • Bessere Kompatibilität zur VM-Version von LoxBerry durch bessere Pfaderkennung.

0.2.0 STABLE

  • Erste STABLE-Version
  • Mehrere Zonen können auf einem LoxBerry betrieben werden

Alle Details im Commit-Log bei GitHub

Inhalt

Download und Kompatibilität

Squeezelite Plugin Version 0.4.2

0.2.31.0.1 Squeezelite Player Plugin 0.4.2 für LoxBerry v0.2.x https://github.com/christianTF/LoxBerry-Plugin-squeezelite/releases/tag/0.4.2 . Dies ist die letzte für LoxBerry 0.2.x getestete Version.

Squeezelite Plugin ab Version 0.4.3

0.2.31.0.1 Squeezelite Player ist mit LoxBerry ab Version 1.0.1 kompatibel. Die aktuellste Version wird nicht mehr aktiv mit LB0.2.x getestet, sollte technisch aber kompatibel sein.


Alle Releases: https://github.com/christianTF/LoxBerry-Plugin-squeezelite/releases 



Das Squeezelite Player Plugin bietet zwei Hauptfunktionen: 

  1. Die Player-Funktion kann eine oder mehrere Zonen in der Logitech Media Server Installation auf Basis von Squeezelite betreiben (Anzahl der Zonen abhängig von der Leistung des LoxBerry's).
  2. Die LMS Gateway-Funktion sendet den Playerstatus aller Zonen, d.h. auch jener Zonen, die nicht lokal auf diesem LoxBerry laufen, an den Loxone Miniserver.

Die beiden Funktionen können getrennt aktiviert werden. Es müssen nicht beide Funktionen gleichzeitig genutzt werden.

 

Reboot!

In der aktuellen Version von LoxBerry und dem Plugin muss nach der Installation einmal rebootet werden, damit das Plugin alle notwendigen Rechte hat.

Squeezelite Player Zonen betreiben

Player-Einstellungen

In den Player-Einstellungen wird der Hostname oder die IP-Adresse des Logitech Media Servers definiert.

Wird das Webinterface an einem anderen Port als 9000 betrieben, kann der Port unter Mehr anzeigen geändert werden.

"Zonen im Leerlauf ausschalten" - Ist eine Zone nicht aktiv (gestoppt), wird diese nach ca. 15 Minuten ausgeschaltet. Das behebt laut Foren ein Problem mit der Stabilität von Squeezelite

"Alternative Squeezelite Binaries" aktiviert eine neuere Version von Squeezelite, die ebenfalls die Stabilität erhöht. Nach der Änderung bitte "Speichern" und den LoxBerry neu starten. 

Zonen

Pro Zone kann definiert werden:

  • Ob diese aktiv oder inaktiv ist
  • Welche MAC-Adresse verwendet werden soll (wenn in der ersten Instanz keine MAC-Adresse definiert ist, wird diese automatisch befüllt).
  • Welcher Audio-Ausgang verwendet werden soll
  • Zusätzliche Startparameter für Squeezelite
  • Es kann ein GPIO aktiviert werden - für diese Einstellung müssen die "Alternativen Binaries" aktiviert sein!

Die Konfiguration kann gespeichert werden, oder sofort übernommen (schließt alle Instanzen und startet diese neu).

Details zur Konfiguration

  • Der Hostname bzw. die IP-Adresse des Servers ist optional - Squeezelite (nicht das Plugin!) sucht ohne Angabe eines Hostnamens selbst nach einem Server. Meine Empfehlung ist, einen Hostnamen oder eine IP-Adresse zu setzen. Wird das Feld befüllt, erhält man oben im Menü direkte Links zum LMS Webinterface und zu den LMS Einstellungen.
  • Mit dem Link "Mehr anzeigen" können die Ports definiert werden. 
    • Der Webinterface-Port wird für die Links zum LMS Webinterface und den LMS Einstellungen verwendet.
    • Der CLI Port (Command Line Interface) wird hier nicht benötigt, jedoch für das LMS Gateway (siehe unten).
    • Der Data Port wird von Squeezelite zum Streamen verwendet und muss eigentlich nie geändert werden.
  • Damit mehrere Instanzen von Squeezelite laufen können, muss jede Zone eine eigene MAC-Adresse haben. Die erste Zone wird - wenn noch keine Adresse eingetragen ist - automatisch mit der echten physischen MAC-Adresse vorausgefüllt.
  • Mit dem Würfel wird eine zufällige MAC-Adresse generiert. Sobald du in Loxone die Virtuellen Ausgangsbefehle programmiert hast, solltest du die MAC nicht mehr ändern, da sonst alle programmierten Befehle in Loxone nicht mehr funktionieren.
  • Möchtest du in der ersten Zone die MAC-Adresse auf die des Adapters zurücksetzen, dann einfach das MAC-Feld leeren und speichern. Es wird dann die MAC-Adresse des Adapters vorbefüllt.

Verwendung der GPIOs

Das Plugin installiert für die Verwendung der GPIOs WiringPi. Die Angabe im Plugin ist BCM-bezogen, nicht WiringPi-bezogen!

Damit die GPIO's funktionieren, muss

  1. "Alternative Binaries" aktiviert und gespeichert werden,
  2. danach der LoxBerry rebootet, erst dann
  3. kann man die GPIOs einstellen und mit "Speichern und neu starten" bestätigen.

High/Low bezieht sich auf den Level des Ausgangs. Mit High wird ein High-Level bei An ausgegeben, bei Low wird ein Low-Level bei An ausgegeben. Das ist relevant für PullUp- bzw. PullDown-Schaltungen. High ist der Standardwert.

Anmerkungen

Nur jeweils die letzte Zone lässt sich entfernen. Ein Verschieben ist nicht möglich. Die erste Zone lässt sich nicht entfernen. Das Hinzufügen und Entfernen speichert jeweils alle Einstellungen.

Beim Speichern und ausführen wird das Neustarten der Zonen parallel zum Laden der Webseite durchgeführt. Die Anzeige der Prozesse könnte daher nicht sofort stimmen, dann einfach die Seite nochmal laden.

Aktuell kann der Name der Zone nicht über den LMS geändert werden, sondern nur am LoxBerry.

Squeezelite wird vom Plugin standardmäßig mit dem Startparameter -a 160 zum Vergrößern des ALSA-Bufferspeichers gestartet. Das verhindert Knistern und Knacksen bei der Ausgabe (zumindest bei meinem Raspberry Pi passiert das ohne diesen Parameter). Wird bei den "Zusätzlichen Parametern" die Option -a mit einem anderen Wert gesetzt, wird dieser verwendet.

Auf ARM-Plattformen (also dem tratitionellen LoxBerry) und auf x86-Plattformen kann das neue Squeezelite-Binary verwendet werden. Das alte Binary stellte nach mehreren Stunden den Dienst ein. Die Hoffnung ist, dass dies mit der aktuellen Version nicht mehr passiert. 

Es ist nach meinem Kenntnisstand nicht möglich, den HDMI-Ausgang und den Klinkenstecker je als eigene Zone zu betreiben. Wenn jemand weiß, wie das doch möglich ist, bitte um Kontakt (z.B. Forum)! 

Troubleshooting und Tipps zur Player-Funktion

Squeezelite Plugin FAQ

Logitech Media Server Gateway

Musicserver4Lox

Der Musicserver4Lox bietet ebenfalls die Statusmeldung an den Loxone Miniserver an.

LMS Gateway Einstellungen

Das LMS Gateway übermittelt den aktuellen Status aller Zonen des Logitech Media Server an den Miniserver. Es werden dabei auch Zonen berücksichtigt, die nicht auf diesem LoxBerry laufen. Deswegen darf das Gateway nur auf einem LoxBerry im Netzwerk aktiviert sein. Die Übermittlung erfolgt relativ rasch (je nach "Verkehr" am LMS in 0,1 bis 0,5 Sekunden).

Die Übertragung aller Zahlenwerte erfolgt per UDP. Die Übertragung der Texte erfolgt per HTTP-REST-Befehlen. Der Assistent für "Eingänge und Ausgänge" stellt ein fertiges Template für die UDP-Eingänge bereit. Nur die virtuellen Text-Eingänge müssen manuell angelegt werden.

Mit der Checkbox wird das LMS Gateway aktiviert und deaktiviert.

Sofern du in deiner Installation mehrere Miniserver betreibst (z.B. im Gateway-Betrieb), kannst du den Ziel-Miniserver auswählen. Wenn nur ein Miniserver vorhanden ist, werden die Daten immer an diesen gesendet (die Einstellung ist dann nicht sichtbar).

Standardmäßig sendet das LMS Gateway die Daten an den Miniserver-Port 9093. Du kannst den Port hier ändern.

Für das Gateway ist die Logitech Media Server Adresse bzw. Hostname eine Pflichtangabe. Ist dieses Feld leer, startet das Gateway nicht.

Unter Mehr anzeigen können noch weitere Ports angepasst werden. Der CLI-Port des Logitech Media Servers muss korrekt sein.

Unten hast du die Möglichkeit, die Texte einzustellen, die in den einzelnen Stati (im Mode und im Titel) übermittelt werden. 

Mit Speichern werden die Einstellungen übernommen und das LMS Gateway gestartet (oder beendet).

Statusaktualisierung nach Miniserver-Neustart forcieren

Im Normalbetrieb werden alle eintretenden Ereignisse unmittelbar übertragen. Beim Starten, nach einem Verbindungsabbruch zum LMS und zusätzlich alle 5 Minuten wird immer der gesamte Status übertragen. 

Wenn der Miniserver neu startet (bei den Miniserver-Zeiten "Startimpuls"), kann ein Daten-Update forciert werden durch einen virtuellen Ausgangsbefehl "players 0\n" (ohne die Anführungszeichen). Ziel muss der LoxBerry sein, der Port ist standardmäßig 9092 (LoxBerry Plugin-Eingangsport). Auch ohne dieses Forcieren werden die Daten nach spätestens 5 Minuten aktualisiert.

Watchdog

Das Squeezelite Player Plugin liefert für die LMS Gateway Funktion einen "Watchdog" mit. Dieser ist immer aktiv und braucht nicht konfiguriert oder aktiviert zu werden.

Jede Stunde wird überprüft, ob das LMS Gateway noch aktiv ist. Ist das nicht der Fall, wird das Gateway neu gestartet.

Zur Überwachung der Verbindung zum Logitech Media Server wird jede Minute ein Testpaket gesendet. Ist dieses nicht erfolgreich, wird im 10-Sekunden-Takt versucht, die Verbindung wieder aufzubauen. Nachdem die Verbindung neu aufgebaut wurde, wird automatisch der aktuelle Status komplett an den Miniserver übertragen.

Troubleshooting und Tipps zur LMS Gateway-Funktion

Troubleshooting und Tipps zur LMS Gateway-Funktion

Assistent "Eingänge und Ausgänge"

Nach dem Speichern sollte der Assistent "Eingänge und Ausgänge" aufgerufen werden.

Alle numerischen Stati werden per UDP, alle Texte per HTTP-REST Webservice übertragen. Die Liste aller übermittelten Daten findest du hier.

UDP-Eingänge

Für die erforderlichen UDP Eingänge stellt das Squeezelite Player Plugin direkt das Template für die Zonen deiner Logitech Media Server Installation bereit (achte darauf, dass beim Aufruf alle Player verbunden sind).

Lade mit dem Link unten dieses Template herunter und speichere es in den Ordner C:\ProgramData\Loxone\Loxone Config <version>\Templates\VirtualIn\VIU_LMSGateway.xml

Achte darauf, dass der Dateiname wirklich mit VIU_ beginnt, sonst erkennt die Loxone Config den Typ nicht. Danach musst du die Loxone Config Software neu starten.

Nach dem Neustart kannst du deine Zonen über die Vorlage einfügen, siehe dazu Templates in Loxone Config einbinden.

Die Eingänge werden hier erklärt: Troubleshooting und Tipps zur LMS Gateway-Funktion

Virtuelle Texteingänge

Die virtuellen Texteingänge müssen selbst erstellt werden.

Einen neuen virtuellen Texteingang erstellst du am einfachsten mittels Taste F4 und der Suche nach z.B. "Texteingang". Solltest du mehrere Miniserver haben, achte darauf, dass die Texteingänge am richtigen Miniserver erstellt werden.

Die Texteingänge legst du folgendermaßen an:

Die genaue Bezeichnung der Eingänge kannst du aus dem Eingangs-Assistenten kopieren. Die Bezeichnung kann frei gewählt werden. Bei der Beschreibung muss die eindeutige Bezeichnung stehen.  Den Standardtext kannst du nach Belieben setzen. Das Feld ist nach einem Neustart des Miniservers in der Regel leer, bis das erste Daten-Update vom LMS Gateway ankommt.

 

Virtuelle Ausgänge zum Steuern der Zone

Mit Klick auf den Pfeil nach rechts (bei jeder Zone) wird eine Vorlage für virtuelle Ausgänge für diese Zone heruntergeladen.  Speichere diese Vorlagen im Ordner C:\ProgramData\Loxone\Loxone Config <version>\Templates\VirtualOut\VO_LMS_<Zonenname>.xml

Achte darauf, dass der Dateiname wirklich mit VO_ beginnt, sonst erkennt die Loxone Config den Typ nicht. Danach musst du die Loxone Config Software neu starten.

Nach dem Neustart kannst du deine Zonen über die Vorlage einfügen, siehe dazu Templates in Loxone Config einbinden.

Tipps

Installation

  • Die Installation dauert aufgrund der Installation der Voraussetzungen auf einem Raspberry Pi 1 etwa 5-10 Minuten. 
  • Mit der aktuellen LoxBerry- und Plugin-Version muss der Raspberry nach der Installation einmal neu gestartet werden, damit die Berechtigungen korrekt gesetzt werden. (siehe https://github.com/mschlenstedt/Loxberry/issues/138 bzw. https://github.com/mschlenstedt/Loxberry/issues/137)
  • Nach Umstellung von den normalen Binaries auf die alternativen Binaries und zurück, muss ebenfalls der LoxBerry neu gestartet werden.

Fehler melden

Bitte melde Fehler entweder im Loxforum im Squeezelite-Plugin Thread, oder besser direkt im Issue-Tracker von GitHub (https://github.com/christianTF/LoxBerry-Plugin-squeezelite/issues).

Siehe auch

Logitech Media Server

Logitech Media Server / Squeezebox Player mit Loxone steuern

Squeezelite FAQ

Troubleshooting und Tipps zur LMS Gateway-Funktion

Translations

ENGLISH is included and default language if you use another language than German.

To translate the Squeezelite Player plugin to your language, use the LoxBerry Translate widget (Translation Guide for LoxBerry)

Trivia

Meine Squeezelite Plugin "Testumgebung" (Lächeln)

 

Update 20.1.2017: Neuer Platz hinterm Bildschirm (Lächeln) Der Pi1 kommt langsam ins Schwitzen (Stats4Lox)

3 Kommentare

  1. Hallo,

    erst mal fettes Lob an den loxwiki-Betreiber (Lächeln)

    Hat mir bei der Installation unglaublich viel geholfen!

     

    kurze Frage zu LMS.

    Besteht auch die Möglichkeit Plugins wie Spotty oder Deezer per Loxone zu steuern,? D.h. bestimmte Songs oder Playlists abzuspielen? Bisher muss ich das immer über meine Squeezebox-App am Handy machen (traurig)

    Über Taster ist dann Start/Stop/Lauter/Leiser möglich

     

    Finde keinerlei Diskussion dazu im Internet.

     

    Danke vorab!!

    Gruß

    Bernd

    1. Hallo Bernd, kannst du deine Frage bitte im loxforum.com stellen. Gerne beantworten wir sie dort, aber nicht im (diskussionsfreien) Wiki. lg, Christian

      loxwiki-admin Bitte löschen

  2. Hallo Christian,

    du hast natürlich recht, danke!

    Kannst den Kommentar gerne löschen (Lächeln)