Bonjour,
Pour différentes raisons, j'ai besoin d'envoyer un ordre à ma HCL3 pour déclencher une sirène.
Pour cela, j'utilise un script hébergé sur mon NAS Synology.
J'ai utilisé le Swagger fourni dans la HCL3 et je dispose des éléments suivants :
- l'URL appelée
https://ip_hcl3/api/devices/81/action/turnOff
- la fonction CURL
curl -X POST "https://ip_hcl3/api/devices/81/action/turnOff" -H "accept: */*" -H "Content-Type: application/json" -H "X-Fibaro-Version: 2" -H "Accept-language: fr" -H "Authorization: Basic XXXX" -d "{\"args\":[\"{}\",\"{}\"],\"delay\":0}"
- les arguments du "body"
{
"args": [
"{}",
"{}"
],
"delay": 0
}
J'ai un souci de syntaxe quand je veux convertir les arguments du body en PHP.
Je fais un truc comme ça :
// Paramètres
$id_sirene = 81;
$data = array(
"args:{}, {}",
"delay: 0"
);
$api_url_sirene = "https://".$ip_fibaro."/api/devices/".$id_sirene."/action/turnOff";
// Active la sirène
$curl_sirene = curl_init($api_url_sirene);
curl_setopt($curl_sirene, CURLOPT_HTTPHEADER, $data_header);
curl_setopt($curl_sirene, CURLOPT_POST, true);
curl_setopt($curl_sirene, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl_sirene, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($curl_sirene);
J'obtiens toujours une erreur 400, indiquant que ma requête est mal formatée.
J'ai lu en long et en large ce sujet et celui-là, sans trouver mon bonheur.
Qui peut m'aider à trouver la bonne syntaxe pour alimenter mon tableau $data ?
[EDIT] Désolé les modos, je pense que mon sujet serait mieux dans la rubrique "Support" que "Tutoriels"