a031864 Posté(e) le 10 octobre 2020 Signaler Posté(e) le 10 octobre 2020 (modifié) Bonjour Je cherche à faire une API request de mon HC3 vers un IPX800 et je rencontre un problème dans le support de la variable dans l'url. Dans mon code source, je demande un requête sur mon IPX800 en précisant la variable cmd avec une valeur égale à 10 -"http://IPX800/api/xdevices.json?cmd=10" La scene est validé mais le résultat correspond à l'url globale - "http://IP/api/xdevices.json" --> {"product":"IPX800_V3"} La variable commande n'est pas prise en compte. J'ai confirmé ce point en faisant une capture réseau de la requête HTTP. Savez-vous comment surporter des variables dans l'url d'une API ? Ce script fonctionné correctement avec mon HC2. Code déployé sur le HC3 function HTTPRequest() local http = net.HTTPClient() http:request("http://IPX800/api/xdevices.json?cmd=10", { options = { method = "GET", headers = { ["content-type"] = "application/json;charset=UTF-8", ["Cache-Control"] = "no-cache, no-store", ["X-Fibaro-Version"] = "2" }, }, success = function(response) if (response.status == 200) then fibaro.trace("Cuve Eau-Niveau",url.."....> "..tostring(response.data)) else fibaro.debug("Wrong status '"..response.status.."' in response!") end end, error = function(message) fibaro.debug("Connection error: " .. message) end }) end netHTTPCLient.txt Modifié le 10 octobre 2020 par a031864
mprinfo Posté(e) le 11 octobre 2020 Signaler Posté(e) le 11 octobre 2020 voila ce que j'utililse pour mon ecodevice RT2 function QuickApp:GetRT2(action) local address = self.IPEDRT2.."/api/xdevices.json?key="..self.KeyAPI.."&"..action self.httpClient:request(address, { options={ checkCertificate = true, method = 'GET' }, success = function(response) data = json.decode(response.data) if data.status == "Success" then self:trace("Success") end end, error = function(error) self:debug('error: ' .. json.encode(error)) end }) end
a031864 Posté(e) le 11 octobre 2020 Auteur Signaler Posté(e) le 11 octobre 2020 Merci pour ta réponse. La requete fonctionne maintenant dans une QuickApp mais pas dans une scene.
mprinfo Posté(e) le 11 octobre 2020 Signaler Posté(e) le 11 octobre 2020 La syntaxe est un peu différente dans une scène Envoyé de mon BLA-L29 en utilisant Tapatalk
LMSI Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Binjour, également concerné par ce phénomène: avez-vous obtenu une solution pour votre SCENE?
a031864 Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 Non je suis passé en quickapps pour récupérer mes infos de mon IPX800.
Messages recommandés