Steuerung XBMC über Event Server

Hallo

Nachdem ich meine Squeezebox als Infrarot-Empfänger konfiguriert habe möchte ich gerne mein XBMC-PC damit steuern. Dies sollte über den integrierten Event Server möglich sein. Hat da schon jemand Erfahrung damit oder so etwas schon im Einsatz und kann mir da ein wenig auf die Sprünge helfen? Für Python und Java habe ich Beispiele gefunden, leider für PHP nicht.

Vielen dank
dake

Erstell dir in IP-Symcon eine „Register Variable“ Instanz + UDP Server. Dann kannst du dort die Nachrichten empfangen.

paresy

Danke schon mal

Gibt es zum UDP Server irgendwo Infos/Doku wie die Instanz benützt wird und mit welchem Befehl Daten gesendet werden? Habe nichts gefunden oder falsch gesucht.

Danke
dake

Ich habe das über die HTTP-Schnittstelle von XBMC gemacht. Allerdings nur triviale Steueraufgaben (Lautstärke, Start,Stop etc.).

Nutze das auch um die Daten des laufenden Films in IPS zu holen (Länge, Titel etc.)

Web Server HTTP API - XBMC

Hab jetzt auch mal mit HTTPApi einige Dinge realisiert.

Danke
dake

Was geht denn bei dir so? Und wie hastes gelöst?

Im Moment geht es mir eigentlich nur darum, über die Squeezebox XBMC zu steuern, also Play, Pause, usw. Je nach Taste soll dies dann an XBMC gesendet werden, dazu habe ich mal ein kleines Testscript geschrieben um zu schauen ob es überhaupt geht, was der Fall ist. Das ganze muss aber jetzt noch ergänzt werden mit allen Befehlen und ev. später auch mal noch mit dem Fortschreiben von Variablen (was läuft aktuell …).

Ev. gibt es für die Funktion XBMC_Send() noch was besseres?



<?

// Steuerung XMBC über HTTPApi
// http://wiki.xbmc.org/index.php?title=Web_Server_HTTP_API

// Test der Funktionen
XBMC_Pause_Action();


function XBMC_Stop()
{
 XBMC_Send("Stop()");
}

function XBMC_Stop_Action()
// Senden "STOP" über Befehl "command=Action(Aktion)"
{
 XBMC_Send("Action(13)");
}

function XBMC_Pause()
{
 XBMC_Send("Pause()");
}

function XBMC_Pause_Action()
// Senden "STOP" über Befehl "command=Action(Aktion)"
{
 XBMC_Send("Action(12)");
}

function XBMC_Shutdown()
{
 XBMC_Send("Shutdown()");
}

function XBMC_ServerStatus()
{
 XBMC_Send("WebServerStatus()");
}

function XBMC_Send($cmd)
{
	$ip = "http://192.xxx.x.xx:8080/xbmcCmds/xbmcHttp?command=";
	$file = fopen($ip.$cmd, "r");
	while(!feof($file))
		echo fgets($file, 4096);
	fclose($file);
}

?>