public static function callRazberry($_url, $_serverId = 1) { if (self::$_curl == null) { self::$_curl = curl_init(); } if (self::$_listZwaveServer == null) { self::listServerZway(); } $url = 'http://' . self::$_listZwaveServer[$_serverId]['addr'] . ':' . self::$_listZwaveServer[$_serverId]['port'] . $_url; $ch = self::$_curl; curl_setopt_array($ch, array(CURLOPT_URL => $url, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true)); $result = curl_exec($ch); if (curl_errno($ch)) { $curl_error = curl_error($ch); throw new Exception(__('Echec de la requete http : ', __FILE__) . $url . ' Curl error : ' . $curl_error, 404); } if (strpos($result, 'Error 500: Server Error') === 0 || strpos($result, 'Error 500: Internal Server Error') === 0) { if (strpos($result, 'Code took too long to return result') === false) { throw new Exception('Echec de la commande : ' . $_url . '. Erreur : ' . $result, 500); } } if (is_json($result)) { return json_decode($result, true); } else { return $result; } }