HowTo: Logitech Media Server / Squeezebox Player mit Loxone steuern
Einklappen
X
-
Schon mal vielen Dank für die Tipps und Anregungen. Ich werde mich schon mal dran versuchen. Bin aber nicht so bewandert auf der Konsole.
Schon mal ein Schönes Wochenende -
@ToB2004
Das Script nimmt immer die MAC von dem Rechner auf dem das Script läuft.
Vergleich nochmal den Code von dir mit meinem.
@allCode:#!/bin/bash source /opt/max2play/sq2lox.conf while true do playerID=$(printf "player id ?\nexit\n" | nc -q 1 $SERVERIP $SERVERPORT | cut -d ' ' -f 4 | sed 's/%/%%/g') playerMode=$(printf "$playerID mode ?\nexit\n" | nc -q 1 $SERVERIP $SERVERPORT | cut -d ' ' -f 3) playerVolume=$(printf "$playerID mixer volume ?\nexit\n" | nc -q 1 $SERVERIP $SERVERPORT | cut -d ' ' -f 4 ) playerArtist=$(printf "$playerID artist ? \nexit\n" | nc -q 1 $SERVERIP $SERVERPORT | cut -d ' ' -f 3 ) playerTitle=$(printf "$playerID title ? \nexit\n" | nc -q 1 $SERVERIP $SERVERPORT | cut -d ' ' -f 3 ) if [ -z "$playerArtist" ] ; then output=$(wget -4 -q -O - --user $LOXUSER --password $LOXPASS http://$LOXIP/dev/sps/io/$LOXTITLE/$playerTitle%20) else output=$(wget -4 -q -O - --user $LOXUSER --password $LOXPASS http://$LOXIP/dev/sps/io/$LOXTITLE/$playerTitle%20/%20$playerArtist) fi output=$(wget -4 -q -O - --user $LOXUSER --password $LOXPASS http://$LOXIP/dev/sps/io/$LOXMODE/$playerMode) output=$(wget -4 -q -O - --user $LOXUSER --password $LOXPASS http://$LOXIP/dev/sps/io/$LOXVOLUME/$playerVolume) sleep $LOOPTIME done
Das Hauptproblem von allen unseren Scripten ist das sie nicht alle Plugin direkt im LMS laufen.
So ist man immer darauf angewiesen das Scripte im Hintergrund die Arbeit machen, das geht bei Linux ja ganz gut aber bei Win schon schwerer.
@dr_dee
Kann das Script gerne so anpassen das es bei dir auf dem QNAP läuft.
Du hast dort ja normal auch Zugriff auf die Konsole.
Wie du oben siehst läuft das Script per Bash im Hintergrund, was ich noch einbauen müsste ist das es für x-Player läuft und das die jeweilige MAC eingetragen werden muss.Einen Kommentar schreiben:
-
Hey, das wird ein Bisschen aufwaendiger. Wir haben bis Sonntag Besuch, weswegen ich bis dahin nicht dazu kommen werde, dir das detailiert zu beschreiben. Wenn du es schon mal selbst versuchen willst, schau dir mal das HOWTO an, welches auf der ersten Seite hier im Thread verkuepft ist. Damit kannst du in die Materie ansich schon mal einsteigen. Dann kannst du, wenn du magst, dir auch die CLI-Befehle des LMS schon mal anschauen und damit ein Bisschen rumpielen (z.B: in einem Terminal: nc LMS_IP_ODER_LMS_HOSTNAME 9090). Ist wirklich und tatsaechlich einfacher, als es auf dem ersten Blick scheint. -
Ein Gast antworteteIch habe ein Python-Script auf meinem Musikserver laufen, das regelmäßig Trackname, Lauststärke usw. abfragt und per HTTP-Request an den Miniserver schickt.
Bisher läuft das noch mit Mopidy, In den nächsten Woche sollte ich endlich dazukommen mein Multiroom-System auf LMS/Squeezelite umzustellen, und dann passe ich auch das Script an. Ich weiß aber schon dass es funktionieren wird bzw. wie ich das tun muss, habe schon die meisten Tests dafür abgeschlossen.
Ich muss mich noch entscheiden ob ich auch für die Befehle vom Miniserver ein Script dazwischen schalten will (wie bisher für Mopidy) - Skriptprogrammierung ist übersichtlicher und flexibler als Loxone. Für mich jedenfalls.
Einen Kommentar schreiben:
-
Ja, ich.
Du kannst per CLI den listen-mode auf 1 stellen. Dann bekommst du einen sehr gespraechigen LMS. Diese Ausgaben kannst du in ein File umlenken und dann weiterverarbeiten, wie du willst.
Moeglichkeit Nummer 2, du kannst den/die Player auch direkt ueber die CLI fragen (siehe Beispiele). Ich hoffe, du kannst damit etwas anfangen. Wenn nicht, sag einfach Bescheid. Dann versuche ich das noch etwas mehr zu erlaeutern. Bin nur gerade etwas in Zeitnot.
Gruss,
tholle
Beispiel einer Ausgabe von " listen 1 "
XX:XX:XX:XX:XX:XX client new
XX:XX:XX:XX:XX:XX alarm _cmd
--snip
--snip
XX:XX:XX:XX:XX:XX menustatus ARRAY(0x5bbdef0) add XX:XX:XX:XX:XX:XX
XX:XX:XX:XX:XX:XX mixer volume 31 ipeng%3A1
XX:XX:XX:XX:XX:XX prefset server volume 31
z.B.
PLAYER mixer volume ?
tholle's-iPhone mixer volume ?
XX:XX:XX:XX:XX:XX mixer volume 31Zuletzt geändert von tholle; 23.10.2015, 12:09.Einen Kommentar schreiben:
-
Schade. Ich habe den LMS auf meinem QNAP laufen. Sonst noch jemand eine Idee?Einen Kommentar schreiben:
-
@ dr_dee: Den aktuellen Titel und die Lautstärke bekommt man durch das Plugin von hismastersvoice. Funktioniert allerdings nur mit Max2Play!
@ hismastersvoice
wie erkennt dein Plugin auf welchem Player es ausgeführt wird? Die Einstellungen hab ich alle geprüft, an denen kans nicht liegen.
Hab festgestellt,dass an beiden VTI die Daten vom ersten Player übertragen werden.
Gruß Tobi
Einen Kommentar schreiben:
-
Hallo zusammen. Hat jemand es schon geschafft, die Squeezebox auszulesen? Sprich Ein/Aus, aktueller Titel, aktuelle Lautstärke...
Gruß LarsEinen Kommentar schreiben:
-
Das Plugin wird je Player (Max2Play) installiert und es muss somit je Player auch VTI VI angelegt werden.
Bei mir geht es bei 6 Playern ohne Probleme.
Sonst melde sich per PN und wir schauen es und an.Zuletzt geändert von hismastersvoice; 23.10.2015, 05:33.Einen Kommentar schreiben:
-
@alle:
an diesen Thread kann man erkennen was für eine Bereicherung ein Forum für Technik begeisterte Miniserver-Besitzer sein kann! Die Klingel werd ich auch noch integrieren!
Mein Problem mit dem Status und Playtasten, konnte ich mit einem Merker zwischen den Gleich- und den Und-Bausteinen lösen. Es ist nämlich leider nicht möglich mehrere Tasten auf einen Eingang des Undbausteines zu legen.
@hismastersvoice:
kann es sein,dass dein Plugin nur bei einem Player funktioniert? Bei dem zweiten Player wird mir immer nur den Status des ersten Players angezeigt!
Danke für die Hilfe euer
TobiEinen Kommentar schreiben:
-
Hi Christian, der Lautstaerkewert wird als Wert in einen MERKER gespeichert. Dieser dient dann im Baustein ANALOGSPEICHER als AI (siehe angehaenten Screenshot).
Als Zeitverzoegerungen habe ich in jedem Baustein 0,5 (sek) ausser beim Verzoegerten Impuls nach dem GONG_abspielen. Hier muss der Wert des Verzoegerten Impulses mindestens der Laenge der wiederzugebenden Datei entsprechen. Gern 0,5 sek mehr um Latenzen auzuschliessen (Bsp: gong.mp3 hat eine netto-Laufzeit von 5 sekunden, dann wuerde ich den Verzoegerten Impuls auf 5,5 setzen). Da muss man ein wenig experimentieren. Aber mit diesen Werten hat sich das bei mir bewaehrt.
Gruss,
tholle
[ATTACH]n9329[/ATTACH]Einen Kommentar schreiben:
-
@thole, kannst du mir die Commands in den virt. Ausgängen noch schicken (gerne auch per PM). Ich bereinige auch MAC-Adressen, Hostnamen oder was sonst niemand zu sehen braucht.
Danke!
Edit: Evt. kannst du auch noch einen Screenshot in der LiveView machen (wegen der Parameter der Zeitverzögerungen).
Und wie setzt du die Lautstärke wieder zurück?Zuletzt geändert von Christian Fenzl; 21.10.2015, 20:25.Einen Kommentar schreiben:
-
Da wird der GONG trotzdem abgespielt. Tatsaechlich ist das sogar der Zustand, bevor der GONG gespielt wird. Denn hinter dem Befehl "playlist_save" steht in Wirklichkeit STOP && PLAYLIST_SAFE. Wichtig ist nur, dass auf den Geraeten (in meinem Fall alles Softwareplayer - Squeezeapp auf diverser Hardware, wie iPhone, iPad, Raspberry-Pi und Android) die Squeezeapp laeuft, denn dann findet der LMS (Logitech Media Server) die Clients und "noetigt" ihnen die GONG-Datei auf.
Einen Kommentar schreiben: