Aller au contenu

Problème d'API.put sur tête thermostatique Fibaro


Overkill

Messages recommandés

Bonjour à tous.

J'ai un cas assez simple, mais impossible de m'en sortir...

Si un roi du code LUA pouvait m'aider.. :)

 

Je voudrai juste changer la température de consigne.

Voici le code de la scène et le retour..

 

--[[
%% properties
%% events
%% globals
--]]


local zoneID = 2 -- Chambre

fibaro:debug('Début')
   
response, status, errorCode =  api.get("/panels/heating/" .. zoneID)
if (response) then
     fibaro:debug("vacation Temperature: " ..response.properties.vacationTemperature)
else
     fibaro:debug("Une erreur est survenue")

end

fibaro:debug('Je défini la température de vacation')
response.properties.vacationTemperature = 15
api.put("/panel/heating/" .. zoneID, response)

fibaro:debug('On regarde si pris en compte')
response2, status, errorCode =  api.get("/panels/heating/" .. zoneID)
fibaro:debug("Nouvelle vacation Temperature: " ..response2.properties.vacationTemperature)
fibaro:debug('fin')
 

et voila le retour: 

[DEBUG] 17:27:58: Début
[DEBUG] 17:27:58: vacation Temperature: 5
[DEBUG] 17:27:58: Je défini la température de vacation
[DEBUG] 17:27:58: On regarde si pris en compte
[DEBUG] 17:27:58: Nouvelle vacation Temperature: 5
[DEBUG] 17:27:58: fin

 

Autant dire que l'api.get marche bien, autant l'api.put ne marche pas, c'est pas pris en compte.

Comme c'est une scéne, je suppose que je n'ai pas à faire une quelconque authentification...

 

Merci de votre aide éclairée.!!! 

 

 

Modifié par Overkill
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Peut-être un peu de lumimère ;-)

 

Essaie cela


 

local zoneID = 2 -- Chambre

fibaro:debug('Début')
   
response, status, errorCode =  api.get("/panels/heating/" .. zoneID)
if (response) then
     fibaro:debug("vacation Temperature: " ..response.properties.vacationTemperature)
else
     fibaro:debug("Une erreur est survenue")

end

fibaro:debug('Je défini la température de vacation')
response.properties.vacationTemperature = 15
api.put("/panel/heating/" .. zoneID, response)


fibaro:debug('On regarde si pris en compte')
response, status, errorCode =  api.get("/panels/heating/" .. zoneID)
fibaro:debug("Nouvelle vacation Temperature: " ..response.properties.vacationTemperature)
fibaro:debug('fin')

 

Lien vers le commentaire
Partager sur d’autres sites

Tu as juste mis "response" à la place de "response2"?

j'avais mis response2 pour etre bien sur d'avoir réparer le premier get du deuxieme.

 

En tout cas, avec ton code, ca donne le meme résultat.. pas bon hélas.. :(

 

[DEBUG] 19:45:41: Début
[DEBUG] 19:45:41: vacation Temperature: 5
[DEBUG] 19:45:41: Je défini la température de vacation
[DEBUG] 19:45:41: On regarde si pris en compte
[DEBUG] 19:45:41: Nouvelle vacation Temperature: 5
[DEBUG] 19:45:41: fin

Lien vers le commentaire
Partager sur d’autres sites

moi j’utilise ça pour modifie le mode vacation de la zone de chauffage “IdZone“. 

 

local HeatingPanel = api.get("/panels/heating/"..IdZone)
  
HeatingPanel.properties.handTemperature = 0
HeatingPanel.properties.handTimestamp = 0
HeatingPanel.properties.vacationTemperature = 15
  
api.put("/panels/heating/"..IdZone, HeatingPanel)

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Oui, et normalement, pour relire l'info modifiée, il faut recharger la reponse complete avec un api.get.

 

Tu peux essayer cela stp ?

 

 

local heating = api.get("/panels/heating/2")
print("vacation Temperature: " ..heating.properties.vacationTemperature)
heating.properties.vacationTemperature = 12

api.put("/panels/heating/2", heating)

local heating = api.get("/panels/heating/2")
print("vacation Temperature: " ..heating.properties.vacationTemperature)

 

Lien vers le commentaire
Partager sur d’autres sites

Aller, pour info parce que je me suis arraché les cheveux sur mon premier script...

j'avais juste oublié un "s" dans mon api.put... :15:

 

et oui... 

api.put("/panel/heating/" .. zoneID, response)

api.put("/panels/heating/" .. zoneID, response)

 

c'est pas pareil... voila comment passer des heures pour un "s"...

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...