HowTo: Logitech Media Server / Squeezebox Player mit Loxone steuern

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dr_dee
    antwortet
    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

    Einen Kommentar schreiben:


  • Gast
    Ein Gast kommentierte 's Antwort.
    Mache ich, kann aber wie gesagt noch ein bisschen dauern.

  • hismastersvoice
    antwortet
    @ToB2004
    Das Script nimmt immer die MAC von dem Rechner auf dem das Script läuft.
    Vergleich nochmal den Code von dir mit meinem.

    Code:
    #!/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
    @all
    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:


  • tholle
    kommentierte 's Antwort
    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.

  • dr_dee
    antwortet
    tholle Wie muss ich das im Loxone programmieren?

    @waltert Kannst du mir das Skript zur Verfügung stellen wenn es bei dir läuft? Ich würde auch gerne ein "Multiroom-System" aufbauen.

    Danke erstmal für die Infos.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Ich 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:


  • tholle
    antwortet
    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 31
    Zuletzt geändert von tholle; 23.10.2015, 12:09.

    Einen Kommentar schreiben:


  • dr_dee
    antwortet
    Schade. Ich habe den LMS auf meinem QNAP laufen. Sonst noch jemand eine Idee?

    Einen Kommentar schreiben:


  • ToB204
    antwortet
    @ 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:


  • dr_dee
    antwortet
    Hallo zusammen. Hat jemand es schon geschafft, die Squeezebox auszulesen? Sprich Ein/Aus, aktueller Titel, aktuelle Lautstärke...
    Gruß Lars

    Einen Kommentar schreiben:


  • hismastersvoice
    antwortet
    Zitat von ToB204
    @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!
    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:


  • ToB204
    antwortet
    @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
    Tobi

    Einen Kommentar schreiben:


  • tholle
    antwortet
    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] Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirmfoto 2015-10-22 um 16.08.49.png
Ansichten: 525
Größe: 15,2 KB
ID: 9330

    Einen Kommentar schreiben:


  • Christian Fenzl
    antwortet
    @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:


  • tholle
    kommentierte 's Antwort
    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.
Lädt...