Plugin-Daten | |
---|---|
Autor | Christian Fenzl |
Logo | ![]() |
Status | STABLE |
Version | 1.1.0 |
Min. LB Version | 1.0.1 |
Release Download | https://github.com/christianTF/LoxBerry-Plugin-squeezelite/archive/refs/tags/1.1.0.zip |
Beschreibung | 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. |
Sprachen | EN, DE, CS |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/55310-loxberry-plugin-squeezelite |
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.
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.
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 beiden Funktionen können getrennt aktiviert werden. Es müssen nicht beide Funktionen gleichzeitig genutzt werden.
In der aktuellen Version von LoxBerry und dem Plugin muss nach der Installation einmal rebootet werden, damit das Plugin alle notwendigen Rechte hat.
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.
Pro Zone kann definiert werden:
Die Konfiguration kann gespeichert werden, oder sofort übernommen (schließt alle Instanzen und startet diese neu).
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 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 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
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.
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)!
Der Musicserver4Lox bietet ebenfalls die Statusmeldung an den Loxone Miniserver an.
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).
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.
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.
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.
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.
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:
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
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.
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.
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).
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)
Meine Squeezelite Plugin "Testumgebung"
Update 20.1.2017: Neuer Platz hinterm Bildschirm Der Pi1 kommt langsam ins Schwitzen (Statistics 4 Loxone)