J3R3M 107 Signaler ce message Posté(e) 26 mars 2018 (modifié) Bonjour à tous, J'utilise le VD Philips Hue de @Talwayseb pour toutes mes ampoules Hues. Sur chacun des boutons du VD, les informations sont envoyées au pont Hue via ces commandes : HueCMD = Net.FHttp(HueIP,HuePort) HueCMD:PUT('/api/'..HueUser..'/lights/'..HueLampeId..'/state', '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..', "ct":'..HueCT..'}') Pour le besoin de certaines de mes scènes, j'aimerais pouvoir effectuer cette commande directement, sans avoir à appuyer sur les boutons du VD (et éviter de les créer un par un évidemment). La fonction étant différente pour être utilisée dans les scènes, pouvez-vous, s'il-vous-plaît, me dire comment la transcrire pour une utilisation directement dans une scène ? Ou me mettre sur la bonne voie ? J'ai essayé ceci (en ayant bien entendu déclaré correctement les variables auparavant), mais en vain... local http = net.HTTPClient(); local body = ''; url = 'http://'..HueIP..'/api/'..HueUser..'/lights/'..HueLampeId..'/state', '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..', "ct":'..HueCT..'}'; http:request(url, { options = { method = 'PUT', headers = { ["Content-Type"] = "application/x-www-form-urlencoded", ["Content-length"] = string.format("%d", body:len())}, }, }) Merci d'avance du temps accordé à ma demande Modifié 8 novembre 2018 par J3R3M Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 29 mars 2018 Salut, Comme ceci peut-etre, je n'ai aps de Hue, je ne peux donc pas tester ;-) mais la source est plutot fiable : GEA ;-) local url = "http://"..HueIP.."/api/"..HueUser.."/lights/"..HueLampeId.."/state" local Property = "on" -- sat/bri/hue/ct local HueOn = true local datas = "{\""..Property.."\":"..HueOn.."}" local http = net.HTTPClient() http:request(url, { options = { method = "PUT", data = datas }, success = function(response) end, error = function(err) print(err) end }) 1 Partager ce message Lien à poster Partager sur d’autres sites
J3R3M 107 Signaler ce message Posté(e) 19 avril 2018 (modifié) Salut Pepite et merci de ta réponse. Désolé, il semblerait que je sois un peu passé à côté Je vais faire des essais à partir de ce code alors, à savoir que j'aimerais avoir la gestion des paramètres de couleurs (sat/bri/hue/ct). Je reviendrai par ici lorsque j'aurais testé cela Modifié 7 août 2018 par J3R3M 1 Partager ce message Lien à poster Partager sur d’autres sites
J3R3M 107 Signaler ce message Posté(e) 7 août 2018 En me basant sur ta base GEA, j'ai effectivement pu m'en sortir! Merci beaucoup! local http = net.HTTPClient(); local url = HueBridgeIP..'/api/'..fibaro:getGlobal('VD_Hue_User')..'/groups/'..HueGroup..'/action'; local datas = '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..'}'; http:request(url, { options = { method = "PUT", data = datas }, }); 1 Partager ce message Lien à poster Partager sur d’autres sites
J3R3M 107 Signaler ce message Posté(e) 8 novembre 2018 (modifié) Bonjour à tous, Je déterre légèrement mon topic, puisque j'ai une demande similaire, à savoir une équivalence VD/Scène que je n'arrive pas à effectuer. Je cherche à agir sur l'API Netatmo depuis un VD. Ce code fonctionne parfaitement dans une scène : local home_id = "aaaaaaaaaaaaaaaaa"; local api = "https://api.netatmo.com"; local arg = "/api/setpersonsaway"; local datas = "?access_token="..fibaro:getGlobalValue("NETATMO_Token").."&home_id="..home_id; local http = net.HTTPClient(); local url = api..arg..datas; http:request(url, { options = { method = 'GET', data = json.encode(newVar)}}); Mais je n'arrive pas à envoyer cette URL depuis un VD. Les code suivants ne fonctionnent pas : local home_id = "aaaaaaaaaaaaaa"; local URL = "https://api.netatmo.com"; API = Net.FHttp(URL,80) API:GET("/api/setpersonsaway?access_token="..fibaro:getGlobalValue("NETATMO_Token").."&home_id="..home_id) local home_id = "aaaaaaaaaaaaaaaaaaaa"; local URL = "https://api.netatmo.com"; API = Net.FHttp(URL,80); API:PUT('/api/setpersonsaway', '{"access_token":'..fibaro:getGlobalValue("NETATMO_Token")..', "home_id":'..home_id..'}'); J'ai vraiment beaucoup de mal avec ces différences Net.FHttp et net.HTTPClient! Qu'est-ce qui cloche dans mon code svp? Modifié 8 novembre 2018 par J3R3M Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 8 novembre 2018 Bonjour, Ben rien, si ce n'est que c'est du HTTPS et que le HTTPS n'est geré que dans les scenes. ;-) Donc en cas de https, il te faut un couple scene/VD avec ta scène qui envoie les infos au VD ;-) Partager ce message Lien à poster Partager sur d’autres sites
J3R3M 107 Signaler ce message Posté(e) 8 novembre 2018 Salut @pepite et merci encore de ta réponse. Décidément, cette incohérence LUA entre VD et Scènes me chagrine! Partager ce message Lien à poster Partager sur d’autres sites