Moin,
da ich einen Lautsprecher mit WLAN und Bluetooth gesucht habe hab ich mich für den Samsung R1 entschieden.
Und hier dafür meine Scripte:
Status Abfrage:
<?
//IP
$ip = "192.168.2.203";
//ID Mode Bool
$mode = 17708 /*[I/O\Insel\Geräte\Samsung R1 Bad\Radio\Mode]*/;
//ID Was läuft String
$was = 33008 /*[I/O\Insel\Geräte\Samsung R1 Bad\Radio\Was läuft]*/;
//Status auslesen
$url = "http://" . $ip . ":55001/CPM?cmd=%3Cname%3EGetRadioInfo%3C/name%3E";
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, $url);
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
$part = explode("
", $output);
//print_r($part);
$info = extractStringBetween(">", "<", $part[1]);
if(strcmp($info[0], "TuneIn") == 0)
{
//Was läuft
$img = extractStringBetween(">", "<", $part[6]);
$text = extractStringBetween(">", "<", $part[5]);
$string = "<html> <img src=\"" . $img[0] . "\" width=\"150\" height=\"90\" align=\"middle\"> Sendung: " . $text[0] . "</html>";
SetValue($was , $string);
//Play
$mode = extractStringBetween(">", "<", $part[11]);
if(strcmp($mode[0], "play") == 0)
{
SetValue($mode, true);
}else{
SetValue($mode, false);
}
}else{
//Nixs an
SetValue($was , "Kein Radio angewählt");
SetValue($mode, false);
}
//Ausschneiden
function extractStringBetween($cFirstChar, $cSecondChar, $sString)
{
preg_match_all("/\\".$cFirstChar."(.*?)\\".$cSecondChar."/", $sString, $aMatches);
return $aMatches[1];
}
?>
Senden:
<?
$ip = "192.168.2.203";
$sender = $_IPS['VALUE'];
$vol = $_IPS['VALUE'];
$mode = $_IPS['VALUE'];
$vol_30 = round($vol * 0.3);
if ($mode)
{
$mode_str = "pause";
}else{
$mode_str = "play";
}
if ($_IPS['VARIABLE'] == 34487 /*[I/O\Insel\Geräte\Samsung R1 Bad\Radio\Sender]*/)
{
//Sender
$url = "http://" . $ip . ":55001/CPM?cmd=%3Cname%3ESetPlayPreset%3C/name%3E%3Cp%20type=%22dec%22%20name=%22presetindex%22%20val=%22" . $sender . "%22/%3E%3Cp%20type=%22dec%22%20name=%22presettype%22%20val=%220%22/%3E";
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
}
if ($_IPS['VARIABLE'] == 51389 /*[I/O\Insel\Geräte\Samsung R1 Bad\Radio\Lautstärke]*/)
{
//lautstärke
$url = "http://" . $ip . ":55001/UIC?cmd=%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%22" . $vol_30 . "%22/%3E";
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
}
if ($_IPS['VARIABLE'] == 17708 /*[I/O\Insel\Geräte\Samsung R1 Bad\Radio\Mode]*/)
{
//Mode
$url = "http://" . $ip . ":55001/CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22" . $mode_str . "%22/%3E";
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
}
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, $url);
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
?>
Die Anwahl der Sender funktioniert über die Favoriten.
Erster eigener Favorit wäre Sendernummer 3.