Aller au contenu

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


Messages recommandés

Posté(e) (modifié)

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
Posté(e)

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')

 

Posté(e)

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

Posté(e)

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)

 

Posté(e)

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)

 

Posté(e)

je confirme, ca marche...!!!

Merci à tous pour votre aide 

meme si en ce moment il y a pas besoin de chauffage dans le sud... :D

  • Like 1
Posté(e)

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
×
×
  • Créer...