Hallo zusammen,
ich habe ein kleines Problem mit br_sonos (auf IPS 2.5):
Wenn ich im Webfront auf „+“ oder „-“ zum verknüpfen der Zonen klicke passiert leider nichts.
D.h. ich habe über br_sonos keinerlei Möglichkeiten Zonen zu vernüpfen. Alle anderen Funktionen von br_sonos funktionieren wie gewollt.
Folgendes ist mir aufgefallen:
-
In der Log von IPS wird bei jedem Klick auf Plus/Minus das Script sonoscmd.php ohne Fehler ausgeführt.
-
Rufe ich das Script manuell auf (mit dem angepassten Testlink im Script so erhalte ich folgende Meldung:
Warning: include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37
Warning: include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37
Notice: Undefined variable: cmd in C:\IP-Symcon\webfront\user\sonoscmd.php on line 13
Notice: Undefined variable: cmd in C:\IP-Symcon\webfront\user\sonoscmd.php on line 27
Vor allem die letzten beiden Fehler erscheinen mir seltsam!
Weiß jemand von euch woran das liegen könnte bzw. was ich noch ausprobieren könnte?
Dank schon mal wieder im Voraus!
Gruss
Edit:
Haha, ich habe mich nun durch den Code gewühlt:
Da hat jemand einfach einen Teil der sonoscmd.php (unter \IP-Symcon\webfront\user) ‚vergessen‘:
So war sie bei mir (download über die wiki-Seite):
<?
// Teststring:
//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=RemoveMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400
//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=AddMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400
require ("…/…/scripts/functions.inc.php"); // use PHPSonos.inc.php here
if ($cmd == "RemoveMember") {
// echo "$sonosip $sonosid $cmd $memberip $memberid $newcoordip";
// Talk to Coord
$sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
$RemoveMember = $sonos->RemoveMember($memberid);
// Talk to slave
$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
// needed for stop of playback on Slave
$sonos->SetAVTransportURI("");
//Playing stops
br_sonos_read_all();
}
if ($cmd == „AddMember“) {
// echo „$sonosip $sonosid $cmd $memberip $memberid“;
// Talk to Coord
$sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
$AddMember = $sonos->AddMember($memberid);
// Talk to slave
$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
// needed to start playback on Slave
$ret = $sonos->SetAVTransportURI(„x-rincon:“ . $sonosid);
//Playing starts
br_sonos_read_all();
}
?>
Und so funktioniert es:
<?
// Teststring:
//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=RemoveMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400
//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=AddMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400
require ("…/…/scripts/functions.inc.php"); // use PHPSonos.inc.php here
$sonosip=$_GET[‚sonosip‘];
$sonosid=$_GET[‚sonosid‘];
$cmd=$_GET[‚cmd‘];
$memberip=$_GET[‚memberip‘];
$memberid=$_GET[‚memberid‘];
if ($cmd == "RemoveMember") {
// echo "$sonosip $sonosid $cmd $memberip $memberid $newcoordip";
// Talk to Coord
$sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
$RemoveMember = $sonos->RemoveMember($memberid);
// Talk to slave
$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
// needed for stop of playback on Slave
$sonos->SetAVTransportURI("");
//Playing stops
br_sonos_read_all();
}
if ($cmd == „AddMember“) {
// echo „$sonosip $sonosid $cmd $memberip $memberid“;
// Talk to Coord
$sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
$AddMember = $sonos->AddMember($memberid);
// Talk to slave
$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
// needed to start playback on Slave
$ret = $sonos->SetAVTransportURI(„x-rincon:“ . $sonosid);
//Playing starts
br_sonos_read_all();
}
?>
Vielleicht hilft es ja jemandem weiter…