Xtreamer Prodigy über IP-Symcon steuern

Ich besitze einen Xtreamer Prodigy Mediaplayer und habe mich gefragt, ob man diesen auch irgendwie mit IP-Symcon fernsteuern kann.

Der Xtreamer Prodigy verfügt über ein Webinterface. Die Befehle erhält der Xtreamer über ein Webformular, das die Befehle an eine PHP Seite (http://<Ip-Adresse>/rc/rc_action.php) postet. Die Befehle die von dem Formular gepostet werden sind mir bekannt.

Gibt es eine Möglichkeit die Befehle von IP Symcon aus direkt mit einem Script ohne ein Webformular aus per POST an die PHP Seite zu schicken? Hat jemand einen Hinweis wie man dazu am Besten vorgeht?

Folgendes habe ich bisher aber ohne Erfolg probiert. Vielleicht findet ja einer den Fehler in der Vorgehensweise bzw. dem Script.


$command = "left";

$ip = GetValue(33423 /*[Erdgeschoss\Wohnzimmer\Xtreamer\IP]*/);
$url = "http://".$ip."/rc/rc_action.php";
$postData = array ('left' => 'left');
$h = curl_init();
curl_setopt($h, CURLOPT_URL, $url);
curl_setopt($h, CURLOPT_POST, true);
curl_setopt($h, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($h, CURLOPT_RETURNTRANSFER, true);
curl_setopt($h, CURLOPT_POSTFIELDS, $postData);
$response = curl_exec($h);
curl_close($h);  // curl schliessen

Die Befehle die gesendet werden lauten:


up
down
left
right
setup
power
option_red
option_green
option_blue
option_yellow
display
eject
pscan
hdcp_on
hdcp_off
source
hdd
dvd
file_copy
schedule
option
menu
guide
timelogging
select
return
delete
pause
play
stop
ffwd
frwd
sfwd
srwd
next_file
next
prev_file
prev
instant_replay
cmskip
search
mute
repeat
audio
subtitle
angle
zoom
zoom_in
zoom_out
rotate
playattime 
IM_Status
IM_File_Status
IM_MSG_TXT

Im Originalwebinterface wird javascript verwendet bei Onclick wird eine Funktion ausgelöst


function fLeftarrow()
{
	post_to_url('rc_action.php', {'left':'post'});
}

diese übergibt an post_to_url die dann das Formular verschickt.


function post_to_url(path, params, method) 
{
    method = method || "post"; 

	var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);
	form.setAttribute("target", 'gframe');

    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);
    form.submit();
	document.body.removeChild(form);
}