Logitech Media Server - I/O Socket auf Port 3483 - triggern von Events

Hallo zusammen

Habe eine kleine Knacknuss bei der ich einfach nicht mehr weiter komme.

Ausgangslage
Auf meinem IPS System läuft unter anderem noch der LMS (Logitech Media Server). Mit diesem steuere ich div. Squeezelite clients auf Raspberry’s an. Die Raspberry’s sind mit einer USB Soundkarte versehen welche aktiv-Boxen ansteuern.

Aufgabe
Nun möchte ich die Boxen erst anschalten wenn auch wirklich Musik gestreamt wird.

Problem
Das erfassen wenn wirklich Musik über die Clients läuft gestaltet sich für mich schwierig. Habe zuerst versucht auf dem Raspberry das zu erfassen, kam da aber nicht weiter. Danach habe ich mich ein wenig über das slimproto vom LMS schlau gemacht. Versuchte über I/O Socket auf Port 3483 UDP und tcp mitzuschneiden hatte da aber keinen Erfolg. Bei UDP geht zwar was, bringt mir aber nichts wenn ich das Ganze auf Events bzw. auf z.B. play event triggern möchte. Beim tcp/ip socket bekomme ich gar nichts, da bricht mir die Verbindung schon nach 5 sek. ab. Die Socket Verbindung habe ich auf localhost und auf den Clients versucht anzuwenden, alles half nichts.

Hat jemand schon mal was damit gemacht, oder hat mir jemand hierzu einen Tipp?

Hier noch den Link zum slimproto:
http://wiki.slimdevices.com/index.php/SlimProto_TCP_protocol

Auszug:
[i]The server listens on TCP port 3483 for connections by players. To register a player with the server, they exchange "helo"s and then any of the commands below are valid.

The client also listens on UDP port 3483 for SlimProto commands from the server it has already established a TCP connection with. It also seems to respond to data sent back in the TCP connection (you send frames back this way).[/i]

Gruss Andi

Hallo over.unity,

ich sitze schon seit tagen und versuche meinem Raspberry mit SqueezePlug (Logitech Media Server) und als Player läuft Squeezelite ins IPS einzubinden.:confused:
Läuft zur Zeit auf einem Raspberry Pi (Server & Client) zum testen. Geplannt ist aber ein Server mit SqueezePlug (Logitech Media Server) und mehrere Clients mit SqueezePlug (Squeezelite).

Läuft das bei dir in der selben kombination?
Wenn ja, würde ich mich sehr freuen wenn du mir helfen könntest.

Gruß

Hallo sewo

Ja, läuft bei mir problemlos. Was möchtest Du denn ins IPS einbinden?
Btw: habe mein obiges Problem gelöst

gruss Andi

Hallo over.unity,

Ich möchte die Clients über IPS Steuern.

Ich habe mir das so vorgestellt:

1 x Raspberry Pi mit SqueezePlug (Logitech Media Server) als Server.
1 x Raspberry Pi (je zimmer) mit SqueezePlug (Squeezelite) als Client bzw. Player.

Zur zeit habe ich nur 1 x Raspberry Pi mit SqueezePlug (Logitech Media Server) und mit SqueezePlug (Squeezelite) als Client bzw. Player zum Testen drauf und versuche den ins IPS einzubinden. Ohne Erfolg:(

ich will „wenn ich es hinbekomme“ jeden Client „Zimmer“ über IPS Steurn.
Ich muss noch sagen das ich ziemlicher anfänger in IPS & PHP bin.

Gruß

das stellt sich die Frage was Du genau steuern willst. Die Möglichkeiten rund um den LMS sind gross. Um nur ein paar davon aufzuzählen:

  • Suchfunktion
  • Synchronisieren mit Clients
  • Erstellen von Wiedergabelisten
  • Play/Stop/mute usw.
    usw.

LMS bietet von Haus aus ein sog. CLI (command line interface) mit welchem Du nahezu alles machen kannst (das findest Du im Hilfe-Bereich im LMS). Einbindung mit php ist einfach, da kann ich Dir auch Beispiele liefern. Play und stopp bzw. Pause über IPS finde ich sinnvoll und kann auch schnell umgesetzt werden, alles andere ist meiner Meinung nach overkill. Dafür gibt es tolle app’s…

gruss Andi

…ich finde ganz spannend, dass die CLI-Anbindung via IPS überraschenderweise deutlich performanter ist als das doch recht träge iPeng auf iPad und iPhone…

Hallo,

was ich brauche ist:

Play, Stop, Tittel Steurung, Anzeige was gerade läuft eventuel mit cover.
Geplannt ist haupsächlich Internet Radio.

Kannst du mir da Helfen?

Gruß

Jein :wink:
Wenn ich heute abend zu Hause bin, kann ich Dir ein Beispiel geben wie Du auf das CLI mittels php bzw. IPS zugreifen kannst.

gruss Andi

Wie meinst Du das? iPeng kenne ich nicht…

gruss Andi

Du könntest auch dasinteressant finden.

Hallo,

genau das will ich haben und nach der anleitung habe ich das nicht hinbekommen.
Deswegen kam ich auf dieses Thema von over.unity.

@over.unity
Beispiel währe Super.

Gruß

so…
Dieses skript gibt die Anzahl angeschlossene clients aus. Soll lediglich ein Beispiel sein. Wie erwähnt, findest Du die CLI Doku in Deinem LMS unter Hilfe.


$_config['cli']['host'] = "192.168.1.1xx";
$_config['cli']['port'] = "9090"

$fp = fsockopen($_config['cli']['host'], $_config['cli']['port'], $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />
";
} else {

    fwrite($fp, "player count ?
");
    $player = trim(str_replace("player count ","",urldecode(fread($fp, 128))));
    echo "+++ player:[$player]
";

    fclose($fp);
}

ok,

das habe ich aus dem Script rausgefunden:

+++ player:[1]

sorry wenn ich mich etwas blöd anstelle! Aber!

Ich verstehe nur Bahnhof.
Ich sitze schon Stunden und versuche wie hier im Forum beschrieben mein Raspy ins IPS einzubinden.
Ich Kriegs einfach nicht hin.

Kannst du mir irgend ein befehl als Beispiel geben?

Gruß

Hallo,

Alles klar :slight_smile: hab’s geschaft.

Danke für die Tipp’s.