pepite Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 @971jmd Tant mieux, mais je ne comprends pas ce que vient faire la le "action" des property. Autre info : ceci comme la 1ere version de Protection : --LocalProtection fibaro:call(id, "setProtection", 2) et ceci -- RF. fibaro:call(id, "setProtection", 1) Pour désactiver : fibaro:call(id, "setProtection", 0) C'est peut-etre plus . propre @Steven J'ai aussi la version en api.post() mais j'ai toujours des doutes pour le passage de paramètres local url = 'http://127.0.0.1:11111/api/devices/'..id[i]..'/action/setProtection' local datas = '{ "args": [2,1]}' api.post(url, {data=datas}) J'ai bon ?
Steven Posté(e) le 7 novembre 2018 Auteur Signaler Posté(e) le 7 novembre 2018 En effet, "tu as faux" ... mais faudrait que je recherche la syntaxe exacte :-) A vu d'oeil avec GEA, il suffirait de faire ainsi (non testé) {"ApiPost", "/devices/340/action/setProtection", {2,1}} 1
pepite Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 @Steven oui oui j'ai encore buggué sur le copier coller, plutot ca non (va voir tes mails ;-) api.post("/devices/" ..id(i].."/action/setProtection", {data=datas}) ou le faire direct avec GEA, pour moi c'est cela aussi
Steven Posté(e) le 7 novembre 2018 Auteur Signaler Posté(e) le 7 novembre 2018 Allez, pour simplifier un peu tout cela, il suffit de faire ainsi : fibaro:call(340, "setProtection", 1, 0) ou 1,0 représente votre {data=[1,0]}
pepite Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 il y a 27 minutes, Steven a dit : fibaro:call(340, "setProtection", 1, 0) oui oui, je l'ai mis dans le post d'avant lol Je fais une version avec ca et je te l'envoie pour validation lol histoire de faire mieux que 1,0 ou 0,1, ou 2,1..... merci !!!
971jmd Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 salut quel différence entre httpRequest mais un api.post()
971jmd Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 (modifié) ça donne : protection = {name="Protection", optimize=true, control=function(id) if (not id) then id = GEA.currentMainId end return GEA.options.number.control(id) end, action=function(id,typee,args) if (type(id) ~= "table") then id = {id} end for i=1, #id do if typee:lower() == "local_rf" then if args:lower() == "on" then fibaro:call(id[i], "setProtection", 2, 1) end end if typee:lower() == "local_rf" then if args:lower() == "off" then fibaro:call(id[i], "setProtection", 0, 0) end end if typee:lower() == "local" then if args:lower() == "on" then fibaro:call(id[i], "setProtection", 2, 0) end end if typee:lower() == "local" then if args:lower() == "off" then fibaro:call(id[i], "setProtection", 0, 2) end end if typee:lower() == "rf" then if args:lower() == "on" then fibaro:call(id[i], "setProtection", 0, 1) end end if typee:lower() == "rf" then if args:lower() == "off" then fibaro:call(id[i], "setProtection", 1, 0) end end end end }, Modifié le 7 novembre 2018 par 971jmd
971jmd Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 juste pour savoir, le typee:lower() correspond a quoi exactement
971jmd Posté(e) le 7 novembre 2018 Signaler Posté(e) le 7 novembre 2018 (modifié) pour bouclé la boucle du LocalProtection et RfProtection, il serai bien d'avoir le retour d'état si LocalProtection activé ou pas si RfProtection activé ou pas alors j'ai tester ça en LUA et ça fonctionne très bien --[[ %% properties 340 RFProtectionState 340 localProtectionState %% events %% globals --]] local ID1 = fibaro:getValue(340, "RFProtectionState") fibaro:debug('RF>> ' .. ID1 .. " " ) RF désactivé = 0 RF activée = 1 pour le local protection c'est quel que peut différent local ID1 = fibaro:getValue(340, "localProtectionState") fibaro:debug('RF>> ' .. ID1 .. " " ) RF désactivé = 0 RF activée = 2 brave que je suis, j'ai essayé avec GEA mais bon ça n’a pas fonctionné valueRF = {name="valueRF", optimize = true, math=true, -- autorise les Value+ et Value- control=function(id) return GEA.options.value.control(id) end, getValue=function(id) if (not id) then id = GEA.currentMainId end return fibaro:getValue(id, "valueRF") end, action=function(id, value) if (not value) then value = id id = GEA.currentMainId end if (type(id) ~= "table") then id = {id} end for i=1, #id do fibaro:call(id[i],"setvalueRF",GEA.incdec(value, GEA.options.valueRF.getValue(id[i]))) end end }, Modifié le 7 novembre 2018 par 971jmd
Steven Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 8 novembre 2018 @drboss Est-ce que tu m'autorise à intégrer ton multi-alarme directement au sein de GEA ?
971jmd Posté(e) le 8 novembre 2018 Signaler Posté(e) le 8 novembre 2018 (modifié) @Steven salut si tu veux le mien, pas de problème il fonctionne nikel avec GEA 6.10 ? Modifié le 8 novembre 2018 par 971jmd
Steven Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 8 novembre 2018 Le tiens est déjà intégré, adapté et testé (j'attends quand même le retour de @pepite quand il pourra), prêt à être diffusé dans la prochaine version.
971jmd Posté(e) le 8 novembre 2018 Signaler Posté(e) le 8 novembre 2018 ok, tu parle bien du programmateur ?
Steven Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 8 novembre 2018 Ah non, de "protection". Pour le programmateur, j'ai déjà testé et validé celui de @drboss. Je ne connais même pas le tiens (désolé mais je n'arrive pas suivre).
971jmd Posté(e) le 8 novembre 2018 Signaler Posté(e) le 8 novembre 2018 ok pas de problème mai pour protection il manque le retour d'état
Steven Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 8 novembre 2018 Je l'ai fait. Le retour sera "off", "local", "rf" ou "local_rf".
971jmd Posté(e) le 8 novembre 2018 Signaler Posté(e) le 8 novembre 2018 (modifié) ok je pensais à: GEA.add( {"ProtecLocal", ID, 1}, -1, "", {ACTIONS} ) GEA.add( {"ProtecLocal", ID, 0}, -1, "", {ACTIONS} ) GEA.add( {"ProtecRF", ID, 1}, -1, "", {ACTIONS} ) GEA.add( {"ProtecRF", ID, 0}, -1, "", {ACTIONS} ) Modifié le 8 novembre 2018 par 971jmd
Steven Posté(e) le 8 novembre 2018 Auteur Signaler Posté(e) le 8 novembre 2018 Je ne peux pas faire une action qui s'appelle "protection" et qui reçoit "local", "rf", "off" ou "local_rf" puis deux autres conditions qui s'appelle autrement et qui reçoivent des paramètres différents, cela est trop compliqué pour l'utilisateur. En revanche, si tu souhaite garder ta version, il te suffit de la mettre dans ton "config()" et elle écrasera automatiquement ma proposition. Donc pas de soucis à se faire.
971jmd Posté(e) le 8 novembre 2018 Signaler Posté(e) le 8 novembre 2018 À dac, je pensais que ça fonctionnait comme VALUE, sachant que le paramètre existe. --[[ %% properties 340 RFProtectionState 340 localProtectionState %% events %% globals --]]
971jmd Posté(e) le 8 novembre 2018 Signaler Posté(e) le 8 novembre 2018 (modifié) pour être sur qu'on ce comprend, le retour d’état est bien pour savoir si: Local ou/et RF est bien activée ou pas Modifié le 8 novembre 2018 par 971jmd
Messages recommandés