pepite 1 272 Signaler ce message Posté(e) 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 ? Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 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]} Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 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 !!! Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 7 novembre 2018 Ca marche Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 7 novembre 2018 salut quel différence entre httpRequest mais un api.post() Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 7 novembre 2018 @Steven Done pour validation Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 7 novembre 2018 effectivement ça fonctionne Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 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é 7 novembre 2018 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 7 novembre 2018 j'ai tester tout fonctionne Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 7 novembre 2018 juste pour savoir, le typee:lower() correspond a quoi exactement Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 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é 7 novembre 2018 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 8 novembre 2018 @drboss Est-ce que tu m'autorise à intégrer ton multi-alarme directement au sein de GEA ? Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 8 novembre 2018 (modifié) @Steven salut si tu veux le mien, pas de problème il fonctionne nikel avec GEA 6.10 ? Modifié 8 novembre 2018 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 8 novembre 2018 ok, tu parle bien du programmateur ? Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 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). Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 8 novembre 2018 ok pas de problème mai pour protection il manque le retour d'état Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 8 novembre 2018 Je l'ai fait. Le retour sera "off", "local", "rf" ou "local_rf". Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 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é 8 novembre 2018 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 8 novembre 2018 À dac, je pensais que ça fonctionnait comme VALUE, sachant que le paramètre existe. --[[ %% properties 340 RFProtectionState 340 localProtectionState %% events %% globals --]] Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 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é 8 novembre 2018 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 8 novembre 2018 c'est bien cela. Partager ce message Lien à poster Partager sur d’autres sites