Bonjour,
Bon, ben je me réponds à moi même… 
Je n’ai pas réussi à envoyer cette commande via l’IPX. J’avais un plantage systématique et redémarrage de l 'IPX ! Je ne sais toujours pas pourquoi d’ailleurs ???
Dans tous les cas, l’API Sony demande un header avec une clé d’authentification et l’info qu’on envoie une requête json. Je ne pense pas qu’on puisse l’indiquer dans l’interface de l’IPX ?!
J’ai donc poursuivi la piste du script php hébergé sur le NAS et trouvé une solution qui fonctionne.
Même si je n’ai pas eu de réponses de la communauté, je partage quand même le script ici et renomme le fil de discussion pour qu’il puisse servir à d’autres :
//Fonction prise sur https://weichie.com/blog/curl-api-calls-with-php/ //
function callAPI($method, $url, $data){
$curl = curl_init();
switch ($method){
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
// OPTIONS:
// X-Auth-PSK: ZZZZ = code défini sur la TV + https://pro-bravia.sony.net/develop/integrate/ip-control/index.html //
// l'API de la TV impose de recevoir dans le header de la requête la PréSharedKey PSK et le type d'objet json
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'X-Auth-PSK: ZZZZ',
'Content-Type: application/json',
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
// EXECUTE:
$result = curl_exec($curl);
if(!$result){die("Connection Failure");}
curl_close($curl);
//return $result;
echo $result;
}
///////////////////
// Allumer la TV //
///////////////////
//https://pro-bravia.sony.net/develop/integrate/rest-api/spec/service/system/v1_0/setPowerStatus/index.html//
$data_array = array(
'method' => "setPowerStatus",
'id' => 55,
'params' => array(
array(
'status' => true
)
),
'version' => "1.0"
);
//json_encode permet de transformer le data_array en un objet json
//{"id":55,"method":"setPowerStatus","version":"1.0","params":[{"status":true}]}
$make_call = callAPI('POST', 'http://XXX.XXX.XXX.XXX/sony/system', json_encode($data_array));
$response = json_decode($make_call, true);
$errors = $response['response']['errors'];
$data = $response['response']['data'][0];
C’est le script pour la commande « ON » mais toutes les autres fonctions décrites ici sont paramétrables de la même façon.
Astuce : j’ai pas mal galéré avec le format de la commande, l’API de Sony demande que « params » soit un tableau imbriqué. Comme la commande json_encode demande aussi un tableau, on a une imbrication de 3 tableaux…
Le push dans l’IPX est paramétré comme ceci :
IP : XXX.XXX.XXX.XXX
Message : /TV_SONY/TV_On.php?message=« »
Méthode : GET
Attention : il est impératif de mettre la commande ?message=« » même si le script ne demande pas de paramètre.
Note : Pour ceux qui comme moi font une redirection http vers https sur leur serveur web du NAS, cela ne fonctionne pas car l’ipx n’accepte pas le certificat autosigné du NAS. Il m’a fallu ajouter une exception pour l’adresse IP de l’IPX dans le .htacess. :
RewriteCond %{REMOTE_ADDR} !=YYY.YYY.YYY.YYY
Ca parait simple une fois dit mais j’ai longtemps galéré à trouver !
Le sujet peut être clos.
En espérant que toutes mes galères puissent un jour servir à d’autres ! 
Jon