J3R3M Posté(e) le 26 mars 2018 Signaler Posté(e) le 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é le 8 novembre 2018 par J3R3M
pepite Posté(e) le 29 mars 2018 Signaler Posté(e) le 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
J3R3M Posté(e) le 19 avril 2018 Auteur Signaler Posté(e) le 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é le 7 août 2018 par J3R3M 1
J3R3M Posté(e) le 7 août 2018 Auteur Signaler Posté(e) le 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
J3R3M Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 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é le 8 novembre 2018 par J3R3M
pepite Posté(e) le 8 novembre 2018 Signaler Posté(e) le 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 ;-)
J3R3M Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 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!
Messages recommandés