Bonjour, 
  
Je suis entrain de faire un module virtuel pour mettre et enlever le mode vacances sur mes zones du panneau de chauffage. 
  
exemple pour la mise en route: 
HC2 = Net.FHttp("192.168.0.21",80)
HC2:setBasicAuthentication("xxx", "xxx")
local stra = 2
response ,status, errorCode = HC2:GET("/api/panels/heating?id="..stra)
jsonTable = json.decode(response)
jsonTable.properties.vacationTemperature =7;
json = json.encode(jsonTable);
HC2:PUT("/api/panels/heating?id="..stra, json)
et pareil avec la désactivation en mettant 0 au lieu de 7 
  
mais j'ai 4 zones à  faire, et si je répète 4 fois ce code, ça ne marche pas. 
HC2 = Net.FHttp("192.168.0.21",80)
HC2:setBasicAuthentication("admin", "xxx")
local strefa = 2
response ,status, errorCode = HC2:GET("/api/panels/heating?id="..strefa)
jsonTable = json.decode(response)
jsonTable.properties.vacationTemperature =0;
json = json.encode(jsonTable);
HC2:PUT("/api/panels/heating?id="..strefa, json)
HC2 = Net.FHttp("192.168.0.21",80)
HC2:setBasicAuthentication("admin", "xxx")
local strefa = 4
response ,status, errorCode = HC2:GET("/api/panels/heating?id="..strefa)
jsonTable = json.decode(response)
jsonTable.properties.vacationTemperature =0;
json = json.encode(jsonTable);
HC2:PUT("/api/panels/heating?id="..strefa, json)
HC2 = Net.FHttp("192.168.0.21",80)
HC2:setBasicAuthentication("admin", "xxx")
local strefa = 6
response ,status, errorCode = HC2:GET("/api/panels/heating?id="..strefa)
jsonTable = json.decode(response)
jsonTable.properties.vacationTemperature =0;
json = json.encode(jsonTable);
HC2:PUT("/api/panels/heating?id="..strefa, json)
HC2 = Net.FHttp("192.168.0.21",80)
HC2:setBasicAuthentication("admin", "xxx")
local strefa = 8
response ,status, errorCode = HC2:GET("/api/panels/heating?id="..strefa)
jsonTable = json.decode(response)
jsonTable.properties.vacationTemperature =0;
json = json.encode(jsonTable);
HC2:PUT("/api/panels/heating?id="..strefa, json)
Je débute dans la programmation et je me doute que la syntaxe ou la manière n'est pas là . 
  
Autre question: pourquoi passer par des commandes "extérieures HTTP" pour faire changer des données du HC2? On ne peut pas le faire directement avec une commande du style fibaro:get.... ou fibaro:setglobal... ?  
Au final je veux juste mettre "7" dans la donnée "vacationTemperature" des mes "panels/heating" qui ont les id 2,4,6 et 8 
  
Sinon, pour comprendre un peu mieux le premier code qui marche: 
  
HC2 = Net.FHttp("192.168.0.21",80)   => donne l'adresse pour se loguer au HC2 HC2:setBasicAuthentication("xxx", "xxx")   => donne les identifiants 
local stra = 2                                            => défini la variable "stra" à  2 response ,status, errorCode = HC2:GET("/api/panels/heating?id="..stra) => capture toues les valeurs du panneau de chauffage 2 ?? 
jsonTable = json.decode(response)              => met ces données dans la table appelée jsontable ??? jsonTable.properties.vacationTemperature =7;     => met le champs "vacationtemperature" à  7 ??? json = json.encode(jsonTable);       => ??? ré-encode tous les champs? HC2:PUT("/api/panels/heating?id="..stra, json)  => remet tous les champs, y compris les modifés dans le panneau de chauffage 2 
  
Voila ce que j'en comprend, est-ce à  peut près ça? 
  
Merci de votre patiente si vous êtes arrivés jusqu'ici