Overkill 3 Signaler ce message Posté(e) 1 février 2020 (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é 1 février 2020 par Overkill Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 3 février 2020 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') Partager ce message Lien à poster Partager sur d’autres sites
Overkill 3 Signaler ce message Posté(e) 3 février 2020 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 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 4 février 2020 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) Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 4 février 2020 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) Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 4 février 2020 Je crois@pepite qu’il manque un api.put pour mettre la consigne à 12 ...Envoyé de mon iPhone en utilisant Tapatalk Pro Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 4 février 2020 ah oui j'ai zappe le put lol merci, modifié ;-) Partager ce message Lien à poster Partager sur d’autres sites
Overkill 3 Signaler ce message Posté(e) 4 février 2020 je confirme, ca marche...!!! Merci à tous pour votre aide meme si en ce moment il y a pas besoin de chauffage dans le sud... 1 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 5 février 2020 ouai ben dans le nord est ça gèle de nouveau 1 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 5 février 2020 Parfait ;-) Et en Ile de France ca mouille ;-) Partager ce message Lien à poster Partager sur d’autres sites
Overkill 3 Signaler ce message Posté(e) 11 février 2020 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... 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"... 1 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 11 février 2020 je connais ça par cœur Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 12 février 2020 Et nous on a rien vu non plus lol Partager ce message Lien à poster Partager sur d’autres sites