Das oben geschrieben funktioniert natürlich, aber erzeugt natürlich ein gewisses Delay ... deswegen habe ich mir nochmal Gedanken gemacht
Habe das ganze nun ohne CCU Interaktion gelöst....
Ich habe einfach eine kleine PHP App geschrieben, die POST's absetzt. Die Urls können ja direkt über das Mediola Interface aufgerufen werden
Fazit: fast kein Delay
Natürlich muss man dafür irgendwo im Haushalt ein Gerät haben das ein WebServer hat .... bei mir ist es ein Raspberry
Code: Alles auswählen
<?php
//Konfiguration
$url = 'http://IP.DES.PHILIPS.TV:1925/1/input/key';
//
//TV Funktionen (Standalone)
//
//Standby Taste
if($_GET['action'] == "Standby") {
$jsonData = array(
'key'=>'Standby'
);
tv_command($url, $jsonData);
}
//Zurück Taste
if($_GET['action'] == "Back") {
$jsonData = array(
'key'=>'Back'
);
tv_command($url, $jsonData);
}
//Find Taste
if($_GET['action'] == "Find") {
$jsonData = array(
'key'=>'Find'
);
tv_command($url, $jsonData);
}
//Rote Taste
if($_GET['action'] == "RedColour") {
$jsonData = array(
'key'=>'RedColour'
);
tv_command($url, $jsonData);
}
//Grüne Taste
if($_GET['action'] == "GreenColour") {
$jsonData = array(
'key'=>'GreenColour'
);
tv_command($url, $jsonData);
}
//Gelbe Taste
if($_GET['action'] == "YellowColour") {
$jsonData = array(
'key'=>'YellowColour'
);
tv_command($url, $jsonData);
}
//Blaue Taste
if($_GET['action'] == "BlueColour") {
$jsonData = array(
'key'=>'BlueColour'
);
tv_command($url, $jsonData);
}
//Home Taste
if($_GET['action'] == "Home") {
$jsonData = array(
'key'=>'Home'
);
tv_command($url, $jsonData);
}
//Volume + Taste
if($_GET['action'] == "VolumeUp") {
$jsonData = array(
'key'=>'VolumeUp'
);
tv_command($url, $jsonData);
}
//Volume - Taste
if($_GET['action'] == "VolumeDown") {
$jsonData = array(
'key'=>'VolumeDown'
);
tv_command($url, $jsonData);
}
//Mute Taste
if($_GET['action'] == "Mute") {
$jsonData = array(
'key'=>'Mute'
);
tv_command($url, $jsonData);
}
//Optionen Taste
if($_GET['action'] == "Options") {
$jsonData = array(
'key'=>'Options'
);
tv_command($url, $jsonData);
}
//Dot Taste
if($_GET['action'] == "Dot") {
$jsonData = array(
'key'=>'Dot'
);
tv_command($url, $jsonData);
}
//Ziffernblock 0 Taste
if($_GET['action'] == "Digit0") {
$jsonData = array(
'key'=>'Digit0'
);
tv_command($url, $jsonData);
}
//Ziffernblock 1 Taste
if($_GET['action'] == "Digit1") {
$jsonData = array(
'key'=>'Digit1'
);
tv_command($url, $jsonData);
}
//Ziffernblock 2 Taste
if($_GET['action'] == "Digit2") {
$jsonData = array(
'key'=>'Digit2'
);
tv_command($url, $jsonData);
}
//Ziffernblock 3 Taste
if($_GET['action'] == "Digit3") {
$jsonData = array(
'key'=>'Digit3'
);
tv_command($url, $jsonData);
}
//Ziffernblock 4 Taste
if($_GET['action'] == "Digit4") {
$jsonData = array(
'key'=>'Digit4'
);
tv_command($url, $jsonData);
}
//Ziffernblock 5 Taste
if($_GET['action'] == "Digit5") {
$jsonData = array(
'key'=>'Digit5'
);
tv_command($url, $jsonData);
}
//Ziffernblock 6 Taste
if($_GET['action'] == "Digit6") {
$jsonData = array(
'key'=>'Digit6'
);
tv_command($url, $jsonData);
}
//Ziffernblock 7 Taste
if($_GET['action'] == "Digit7") {
$jsonData = array(
'key'=>'Digit7'
);
tv_command($url, $jsonData);
}
//Ziffernblock 8 Taste
if($_GET['action'] == "Digit8") {
$jsonData = array(
'key'=>'Digit8'
);
tv_command($url, $jsonData);
}
//Ziffernblock 9 Taste
if($_GET['action'] == "Digit9") {
$jsonData = array(
'key'=>'Digit9'
);
tv_command($url, $jsonData);
}
//Info Taste
if($_GET['action'] == "Info") {
$jsonData = array(
'key'=>'Info'
);
tv_command($url, $jsonData);
}
//Cursor Hoch Taste
if($_GET['action'] == "CursorUp") {
$jsonData = array(
'key'=>'CursorUp'
);
tv_command($url, $jsonData);
}
//Cursor Runter Taste
if($_GET['action'] == "CursorDown") {
$jsonData = array(
'key'=>'CursorDown'
);
tv_command($url, $jsonData);
}
//Cursor Links Taste
if($_GET['action'] == "CursorLeft") {
$jsonData = array(
'key'=>'CursorLeft'
);
tv_command($url, $jsonData);
}
//Cursor Rechts Taste
if($_GET['action'] == "CursorRight") {
$jsonData = array(
'key'=>'CursorRight'
);
tv_command($url, $jsonData);
}
//Confirm/Ok/Enter Taste
if($_GET['action'] == "Confirm") {
$jsonData = array(
'key'=>'Confirm'
);
tv_command($url, $jsonData);
}
//Next Taste
if($_GET['action'] == "Next") {
$jsonData = array(
'key'=>'Next'
);
tv_command($url, $jsonData);
}
//Previous Taste
if($_GET['action'] == "Previous") {
$jsonData = array(
'key'=>'Previous'
);
tv_command($url, $jsonData);
}
//Adjust Taste
if($_GET['action'] == "Adjust") {
$jsonData = array(
'key'=>'Adjust'
);
tv_command($url, $jsonData);
}
//WatchTV Taste
if($_GET['action'] == "WatchTV") {
$jsonData = array(
'key'=>'WatchTV'
);
tv_command($url, $jsonData);
}
//Viewmode Taste
if($_GET['action'] == "Viewmode") {
$jsonData = array(
'key'=>'Viewmode'
);
tv_command($url, $jsonData);
}
//Teletext Taste
if($_GET['action'] == "Teletext") {
$jsonData = array(
'key'=>'Teletext'
);
tv_command($url, $jsonData);
}
//Subtitle Taste
if($_GET['action'] == "Subtitle") {
$jsonData = array(
'key'=>'Subtitle'
);
tv_command($url, $jsonData);
}
//Sender + Taste
if($_GET['action'] == "ChannelStepUp") {
$jsonData = array(
'key'=>'ChannelStepUp'
);
tv_command($url, $jsonData);
}
//Sender - Taste
if($_GET['action'] == "ChannelStepDown") {
$jsonData = array(
'key'=>'ChannelStepDown'
);
tv_command($url, $jsonData);
}
//Source - Taste
if($_GET['action'] == "Source") {
$jsonData = array(
'key'=>'Source'
);
tv_command($url, $jsonData);
}
//PlayPause - Taste
if($_GET['action'] == "PlayPause") {
$jsonData = array(
'key'=>'PlayPause'
);
tv_command($url, $jsonData);
}
//Pause - Taste
if($_GET['action'] == "Pause") {
$jsonData = array(
'key'=>'Pause'
);
tv_command($url, $jsonData);
}
//FastForward - Taste
if($_GET['action'] == "FastForward") {
$jsonData = array(
'key'=>'FastForward'
);
tv_command($url, $jsonData);
}
//Stop - Taste
if($_GET['action'] == "Stop") {
$jsonData = array(
'key'=>'Stop'
);
tv_command($url, $jsonData);
}
//Rewind - Taste
if($_GET['action'] == "Rewind") {
$jsonData = array(
'key'=>'Rewind'
);
tv_command($url, $jsonData);
}
//Record - Taste
if($_GET['action'] == "Record") {
$jsonData = array(
'key'=>'Record'
);
tv_command($url, $jsonData);
}
//Online - Taste
if($_GET['action'] == "Online") {
$jsonData = array(
'key'=>'Online'
);
tv_command($url, $jsonData);
}
//Json Function Aufruf
function tv_command($url, $jsonData)
{
$ch = curl_init($url);
$jsonDataEncoded = json_encode($jsonData);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
}
?>
Aufgerufen wird das ganze dann mit:
Code: Alles auswählen
http://IP.DES.WEB.SERVER/NAME_DES_PHP_FILE.php?action=Standby