hartyem Posté(e) le 6 décembre 2014 Signaler Posté(e) le 6 décembre 2014 Bonjour tous, déjà merci pour votre lecture et surtout votre compréhension, je débute... Mon petit problème, modifier un paramètre d'un module (dans mon exemple "powerConsumption" d'un switch) avec Lua. Via l'interface des paramètres je fixe une valeur et la commande figaro:getValue(340.0, "powerConsumption") me renvoie également la bonne valeur. Existe-t'il une commande pour modifier un paramètre spécifique d'une API? Merci pour vos réponses! Hartyem
Krikroff Posté(e) le 6 décembre 2014 Signaler Posté(e) le 6 décembre 2014 @hartyem, il faut simplement pousser le paramètre sur l' API. J'ai donné un exemple ici pour modifier un paramètre d'un FGMS http://www.domotique-fibaro.fr/index.php/topic/2320-désactiver-un-motionsensor/?p=32361 JC.
hartyem Posté(e) le 7 décembre 2014 Auteur Signaler Posté(e) le 7 décembre 2014 Merci JC! je vais faire mes petits tests mais cela semble déjà assez prometteur... du moins après avoir compris que cela ne marche que dans un module virtuel. Hartyem
hartyem Posté(e) le 8 décembre 2014 Auteur Signaler Posté(e) le 8 décembre 2014 Maitre Yoda, la fonction PUT ne semble pas (ou peut-etre plus sur 4.021) fonctionner (vu sur le forum). Hartyem
Krikroff Posté(e) le 8 décembre 2014 Signaler Posté(e) le 8 décembre 2014 En V4 l'api n'est plus la même qu'en V3.5xx, il y a bien quelques api qui répondent mais en PUT il faut partir sur la nouvelle API donc je pense que ceci devrait marcher (je n'ai pas essayé) local deviceID = 445 local json = '{"id":'..deviceID..',"properties":[{"disabled": "1"}]}' local HC2 = Net.FHttp("192.168.1.xxx", 80) HC2:setBasicAuthentication("admin", "password") local response, status, errorCode = HC2:PUT("/api/devices/"..deviceID, json) if tonumber(status) == 200 then -- ok else fibaro:debug("Try again "..deviceID.. " "..status) end Si cela ne marche pas c'est qu'il faut aussi modifier la structure du body.
hartyem Posté(e) le 9 décembre 2014 Auteur Signaler Posté(e) le 9 décembre 2014 Ca marche, ça marche, ça marche! faut juste enlever les crochets et guillemets! Parfait, merci pour ton aide. Hartyem local json = '{"id":'..deviceID..',"properties":[{"disabled": "1"}]}' par local json = '{"id":'..deviceID..',"properties":{"disabled": 1}}'
Messages recommandés