Hallöchen,
zum Skript RemotePTV hier noch drei Funktionen.
Die Funktion „GetVectorInfo“ liefert als Ergebnis einen Port. Was es damit auf sich hat, weiß ich nicht.
Die Funktion „GetApps“ liefert ein Array, welches die im TV vorhandenen Apps listet und die dazu gehörigen ProductID’s.
Mit diesen Nummern kann man dann mit der Funktion „LaunchApp“ die App’s starten.
Ich habe jetzt mal nicht - wie im Python Skript - unterschieden zwischen ProductID’s mit 16 Zahlen und <> 16 Zahlen, da meine alle 16 Zeichen haben.
function GetApps(){
global $session_iv, $session_key, $session_hmac_key, $app_id, $session_sequ_num, $session_id, $Host;
$data = '<X_SessionId>'.$session_id.'</X_SessionId>'.
'<X_SequenceNumber>'.$session_sequ_num.'</X_SequenceNumber>'.
'<X_OriginalCommand>'.
'<u:X_GetAppList xmlns:u="urn:panasonic-com:service:p00NetworkControl:1"></u:X_GetAppList>
</X_OriginalCommand>';
$encrypted_command = encrypt_soap_payload($data,$session_key,$session_iv,$session_hmac_key);
$action = 'X_EncryptedCommand';
$param = '<X_ApplicationId>'.$app_id.'</X_ApplicationId><X_EncInfo>'.$encrypted_command.'</X_EncInfo>';
$encrypt_result = SoapRequest($Host, 'nrc/control_0', 'panasonic-com:service:p00NetworkControl:1', $action, [
'args' => $param,
'returnXml' => false],'u');
$res = explode('vc_app', decrypt_soap_payload($encrypt_result, $session_key, $session_iv));
return($res);
}
function GetVectorInfo(){
global $session_iv, $session_key, $session_hmac_key, $app_id, $session_sequ_num, $session_id, $Host;
$data = '<X_SessionId>'.$session_id.'</X_SessionId>'.
'<X_SequenceNumber>'.$session_sequ_num.'</X_SequenceNumber>'.
'<X_OriginalCommand>'.
'<u:X_GetVectorInfo xmlns:u="urn:panasonic-com:service:p00NetworkControl:1"></u:X_GetVectorInfo>
</X_OriginalCommand>';
$encrypted_command = encrypt_soap_payload($data,$session_key,$session_iv,$session_hmac_key);
$action = 'X_EncryptedCommand';
$param = '<X_ApplicationId>'.$app_id.'</X_ApplicationId><X_EncInfo>'.$encrypted_command.'</X_EncInfo>';
$encrypt_result = SoapRequest($Host, 'nrc/control_0', 'panasonic-com:service:p00NetworkControl:1', $action, [
'args' => $param,
'returnXml' => false],'u');
$res = decrypt_soap_payload($encrypt_result, $session_key, $session_iv);
return($res);
}
function LaunchApp($productID) {
global $session_iv, $session_key, $session_hmac_key, $app_id, $session_sequ_num, $session_id, $Host;
$data = '<X_SessionId>'.$session_id.'</X_SessionId>'.
'<X_SequenceNumber>'.$session_sequ_num.'</X_SequenceNumber>'.
'<X_OriginalCommand>'.
'<u:X_LaunchApp xmlns:u="urn:panasonic-com:service:p00NetworkControl:1">
<X_AppType>vc_app</X_AppType><X_LaunchKeyword>product_id=' . $productID . '</X_LaunchKeyword>
</u:X_LaunchApp>
</X_OriginalCommand>';
$encrypted_command = encrypt_soap_payload($data,$session_key,$session_iv,$session_hmac_key);
$action = 'X_EncryptedCommand';
$param = '<X_ApplicationId>'.$app_id.'</X_ApplicationId><X_EncInfo>'.$encrypted_command.'</X_EncInfo>';
$encrypt_result = SoapRequest($Host, 'nrc/control_0', 'panasonic-com:service:p00NetworkControl:1', $action, [
'args' => $param,
'returnXml' => false],'u');
return (decrypt_soap_payload($encrypt_result, $session_key, $session_iv));
}
Gruß Frank