Aller au contenu

Comment Modifier Une Api Avec Lua?


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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.

Posté(e)

Ca marche, ça marche, ça marche!

faut juste enlever les crochets et guillemets!

Parfait, merci pour ton aide.

Hartyem

 

  1. local json = '{"id":'..deviceID..',"properties":[{"disabled": "1"}]}'
  2.  
  3. par
  4.  
  5. local json = '{"id":'..deviceID..',"properties":{"disabled": 1}}'
×
×
  • Créer...