Overkill Posté(e) le 1 février 2020 Signaler Posté(e) le 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é le 1 février 2020 par Overkill
pepite Posté(e) le 3 février 2020 Signaler Posté(e) le 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')
Overkill Posté(e) le 3 février 2020 Auteur Signaler Posté(e) le 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
jjacques68 Posté(e) le 4 février 2020 Signaler Posté(e) le 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)
pepite Posté(e) le 4 février 2020 Signaler Posté(e) le 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)
jjacques68 Posté(e) le 4 février 2020 Signaler Posté(e) le 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
pepite Posté(e) le 4 février 2020 Signaler Posté(e) le 4 février 2020 ah oui j'ai zappe le put lol merci, modifié ;-)
Overkill Posté(e) le 4 février 2020 Auteur Signaler Posté(e) le 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
jjacques68 Posté(e) le 5 février 2020 Signaler Posté(e) le 5 février 2020 ouai ben dans le nord est ça gèle de nouveau 1
pepite Posté(e) le 5 février 2020 Signaler Posté(e) le 5 février 2020 Parfait ;-) Et en Ile de France ca mouille ;-)
Overkill Posté(e) le 11 février 2020 Auteur Signaler Posté(e) le 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
pepite Posté(e) le 12 février 2020 Signaler Posté(e) le 12 février 2020 Et nous on a rien vu non plus lol
Messages recommandés