====== Squeezelite Player ====== ++++ Version History...| Die größten Neuerungen und Änderungen KNOWN ISSUES * Keine 1.1.0 RELEASE * Update of Squeezelite Binaries to v1.9.9-1392 * Minor fixes 1.0.6 RELEASE * Requires LoxBerry V1.4.1+ * NOT compatible with older LoxBerry version. * Updated installation procedure, optimized for LoxBerry 1.x * Fixed problems sending the wrong status to the Miniserver, especially in syncgroups * Fixed "PAUSE" state now is sent as title in Pause mode 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 [[https://github.com/christianTF/LoxBerry-Plugin-squeezelite/commits/0.3.x-UNSTABLE|Alle Details im Commit-Log bei GitHub]] ++++ ===== 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. ==== Squeezelite Plugin ab Version 1.x ==== 0.2.31.X Squeezelite Player ist nur noch mit LoxBerry der Versionsangabe (siehe oben) kompatibel. //Funktioniert nicht mehr mit LoxBerry 0.2.3.// Aktueller PRE-Release: keiner Alle Releases: https://github.com/christianTF/LoxBerry-Plugin-squeezelite/releases  ---- Das Squeezelite Player Plugin bietet zwei Hauptfunktionen:  - 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). - 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 ==== {{plugins:squeezelite_player:1193709379.jpg?h=400}} 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 ==== Abkündigung | Deprecation Announcement Ich möchte mitteilen, dass die GPIO-Unterstützung des Squeezelite Player Plugins in zukünftigen Versionen ausgebaut werden könnte. Bitte verwendet stattdessen den vom Gateway an den Miniserver übermittelten Power-State in Verbindung mit dem [[plugins:gpio:start|GPIO-Plugin]]. ---- I'd like to announce that the GPIO support may be removed in future versions. Please consider to use the Power state transmitted from the Gateway to the Miniserver, in combination with the [[plugins:gpio:start|GPIO plugin]]. 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 - "Alternative Binaries" aktiviert und gespeichert werden, - danach der LoxBerry rebootet, erst dann - 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 ==== [[plugins:squeezelite_player:squeezelite_faq|Squeezelite Plugin FAQ]] ===== Logitech Media Server Gateway ===== == Musicserver4Lox == Der Musicserver4Lox bietet ebenfalls die Statusmeldung an den Loxone Miniserver an. ==== LMS Gateway Einstellungen ==== {{plugins:squeezelite_player:1193709382.jpg?h=400}} 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 ==== [[plugins:squeezelite_player: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. {{plugins:squeezelite_player:1193709383.jpg?h=400}} Alle numerischen Stati werden per UDP, alle Texte per HTTP-REST Webservice übertragen. [[plugins:squeezelite_player:troubleshooting_und_tipps_zur_lms_gateway_funktion|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. === Anmerkung: === //in der Config-Version 10.2.3..26 gibt es den Pfad nicht mehr (zumindest bei mir nicht - kann auch sein, dass das generell seit Version 10 schon so ist:) - Hier kann man das Template einfach in die Config also Vorlage importieren:// {{plugins:squeezelite_player:1234404092.png?h=116}} {{plugins:squeezelite_player:1234404091.png?h=131}} Nach dem Neustart kannst du deine Zonen über die Vorlage einfügen, siehe dazu [[https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1522696312/Templates+in+Loxone+Config+einbinden|Templates in Loxone Config einbinden]]. Die Eingänge werden hier erklärt: [[plugins:squeezelite_player:troubleshooting_und_tipps_zur_lms_gateway_funktion|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. {{plugins:squeezelite_player:1193708450.jpg}} Die Texteingänge legst du folgendermaßen an: {{plugins:squeezelite_player:1193708451.png}} 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. {{plugins:squeezelite_player:1193708452.png?w=500}} ==== 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_.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 [[https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1522696312/Templates+in+Loxone+Config+einbinden|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 [[https://www.loxforum.com/forum/small-talk-offtopic/55310-loxberry-plugin-squeezelite|Squeezelite-Plugin Thread]], oder besser direkt im Issue-Tracker von GitHub (https://github.com/christianTF/LoxBerry-Plugin-squeezelite/issues). ===== Siehe auch ===== [[https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1517355213/Logitech+Media+Server|Logitech Media Server]] [[https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1516634715|Logitech Media Server / Squeezebox Player mit Loxone steuern]] [[plugins:squeezelite_player:squeezelite_faq|Squeezelite FAQ]] [[plugins:squeezelite_player:troubleshooting_und_tipps_zur_lms_gateway_funktion|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 ([[howtos_knowledge_base:translation_guide_for_loxberry:start|Translation Guide for LoxBerry]]) ===== Trivia ===== Meine Squeezelite Plugin "Testumgebung"  {{plugins:squeezelite_player:1192493105.jpeg?h=250}} Update 20.1.2017: Neuer Platz hinterm Bildschirm  Der Pi1 kommt langsam ins Schwitzen ([[plugins:statistics_4_loxone:start|Statistics 4 Loxone]]) {{plugins:squeezelite_player:1193708458.jpg?h=250}}